|
Blender V4.3
|
Namespaces | |
| namespace | color_management |
| namespace | command |
| namespace | compositor |
| namespace | detail |
| namespace | image_engine |
| namespace | overlay |
| namespace | pbvh |
| namespace | select |
Typedefs | |
| using | CurvesInfosBuf = UniformBuffer<CurvesInfos> |
| using | PassSimple = detail::Pass<command::DrawCommandBuf> |
| using | PassMain = detail::Pass<command::DrawMultiBuf> |
| using | ObjectBoundsBuf = StorageArrayBuffer<ObjectBounds, 128> |
| using | ObjectInfosBuf = StorageArrayBuffer<ObjectInfos, 128> |
| using | VisibilityBuf = StorageArrayBuffer<uint, 4, true> |
| using | ShadowPageCacheBuf = draw::StorageArrayBuffer<uint2, SHADOW_MAX_PAGE, false> |
| using | ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, false> |
Enumerations | |
| enum | { DRW_MESH_WEIGHT_STATE_MULTIPAINT = (1 << 0) , DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE = (1 << 1) , DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE = (1 << 2) } |
| enum | DRWBatchFlag { MBC_SURFACE = (1u << MBC_BATCH_INDEX(surface)) , MBC_SURFACE_WEIGHTS = (1u << MBC_BATCH_INDEX(surface_weights)) , MBC_EDIT_TRIANGLES = (1u << MBC_BATCH_INDEX(edit_triangles)) , MBC_EDIT_VERTICES = (1u << MBC_BATCH_INDEX(edit_vertices)) , MBC_EDIT_EDGES = (1u << MBC_BATCH_INDEX(edit_edges)) , MBC_EDIT_VNOR = (1u << MBC_BATCH_INDEX(edit_vnor)) , MBC_EDIT_LNOR = (1u << MBC_BATCH_INDEX(edit_lnor)) , MBC_EDIT_FACEDOTS = (1u << MBC_BATCH_INDEX(edit_fdots)) , MBC_EDIT_MESH_ANALYSIS = (1u << MBC_BATCH_INDEX(edit_mesh_analysis)) , MBC_SKIN_ROOTS = (1u << MBC_BATCH_INDEX(edit_skin_roots)) , MBC_EDITUV_FACES_STRETCH_AREA = (1u << MBC_BATCH_INDEX(edituv_faces_stretch_area)) , MBC_EDITUV_FACES_STRETCH_ANGLE = (1u << MBC_BATCH_INDEX(edituv_faces_stretch_angle)) , MBC_EDITUV_FACES = (1u << MBC_BATCH_INDEX(edituv_faces)) , MBC_EDITUV_EDGES = (1u << MBC_BATCH_INDEX(edituv_edges)) , MBC_EDITUV_VERTS = (1u << MBC_BATCH_INDEX(edituv_verts)) , MBC_EDITUV_FACEDOTS = (1u << MBC_BATCH_INDEX(edituv_fdots)) , MBC_EDIT_SELECTION_VERTS = (1u << MBC_BATCH_INDEX(edit_selection_verts)) , MBC_EDIT_SELECTION_EDGES = (1u << MBC_BATCH_INDEX(edit_selection_edges)) , MBC_EDIT_SELECTION_FACES = (1u << MBC_BATCH_INDEX(edit_selection_faces)) , MBC_EDIT_SELECTION_FACEDOTS = (1u << MBC_BATCH_INDEX(edit_selection_fdots)) , MBC_ALL_VERTS = (1u << MBC_BATCH_INDEX(all_verts)) , MBC_ALL_EDGES = (1u << MBC_BATCH_INDEX(all_edges)) , MBC_LOOSE_EDGES = (1u << MBC_BATCH_INDEX(loose_edges)) , MBC_EDGE_DETECTION = (1u << MBC_BATCH_INDEX(edge_detection)) , MBC_WIRE_EDGES = (1u << MBC_BATCH_INDEX(wire_edges)) , MBC_WIRE_LOOPS = (1u << MBC_BATCH_INDEX(wire_loops)) , MBC_WIRE_LOOPS_UVS = (1u << MBC_BATCH_INDEX(wire_loops_uvs)) , MBC_SCULPT_OVERLAYS = (1u << MBC_BATCH_INDEX(sculpt_overlays)) , MBC_VIEWER_ATTRIBUTE_OVERLAY = (1u << MBC_BATCH_INDEX(surface_viewer_attribute)) , MBC_SURFACE_PER_MAT = (1u << MBC_BATCH_LEN) } |
| enum | { COLOR_NURB_ULINE_ID = TH_HANDLE_AUTOCLAMP - TH_HANDLE_FREE + 2 , TOT_HANDLE_COL } |
| enum | { CU_DATATYPE_WIRE = 1 << 0 , CU_DATATYPE_OVERLAY = 1 << 1 , CU_DATATYPE_NORMAL = 1 << 2 , CU_DATATYPE_SURFACE = 1 << 3 , CU_DATATYPE_TEXT_SELECT = 1 << 4 } |
| enum | { LR_DATATYPE_VERT = 1 << 0 , LR_DATATYPE_EDGE = 1 << 1 , LR_DATATYPE_OVERLAY = 1 << 2 } |
| enum | ParticleSource { PARTICLE_SOURCE_PARENT , PARTICLE_SOURCE_CHILDREN } |
| enum | { SHADER_BUFFER_LINES , SHADER_BUFFER_LINES_LOOSE , SHADER_BUFFER_EDGE_FAC , SHADER_BUFFER_LNOR , SHADER_BUFFER_TRIS , SHADER_BUFFER_TRIS_MULTIPLE_MATERIALS , SHADER_BUFFER_NORMALS_ACCUMULATE , SHADER_BUFFER_NORMALS_FINALIZE , SHADER_BUFFER_CUSTOM_NORMALS_FINALIZE , SHADER_PATCH_EVALUATION , SHADER_PATCH_EVALUATION_FVAR , SHADER_PATCH_EVALUATION_FACE_DOTS , SHADER_PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS , SHADER_PATCH_EVALUATION_ORCO , SHADER_COMP_CUSTOM_DATA_INTERP_1D , SHADER_COMP_CUSTOM_DATA_INTERP_2D , SHADER_COMP_CUSTOM_DATA_INTERP_3D , SHADER_COMP_CUSTOM_DATA_INTERP_4D , SHADER_BUFFER_SCULPT_DATA , SHADER_BUFFER_UV_STRETCH_ANGLE , SHADER_BUFFER_UV_STRETCH_AREA , NUM_SHADERS } |
| enum | CurvesEvalShader { CURVES_EVAL_CATMULL_ROM = 0 , CURVES_EVAL_BEZIER = 1 } |
| enum | SculptBatchFeature { SCULPT_BATCH_DEFAULT = 0 , SCULPT_BATCH_WIREFRAME = 1 << 0 , SCULPT_BATCH_MASK = 1 << 1 , SCULPT_BATCH_FACE_SET = 1 << 2 , SCULPT_BATCH_VERTEX_COLOR = 1 << 3 , SCULPT_BATCH_UV = 1 << 4 } |
Variables | |
| static uint | DUMMY_ID |
| static GPUShader * | g_subdiv_shaders [NUM_SHADERS] |
| static GPUShader * | g_subdiv_custom_data_shaders [SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS][GPU_COMP_MAX] |
| static OpenSubdiv_EvaluatorCache * | g_evaluator_cache = nullptr |
| static LinkNode * | gpu_subdiv_free_queue = nullptr |
| static ThreadMutex | gpu_subdiv_queue_mutex = BLI_MUTEX_INITIALIZER |
| static gpu::VertBuf * | g_dummy_vbo = nullptr |
| static DRWPass * | g_tf_pass |
| static PassSimple * | g_pass = nullptr |
| static PassSimple * | g_pass = nullptr |
| static gpu::VertBuf * | g_dummy_vbo = nullptr |
For Direct Data Access | |
| enum | { VFLAG_VERT_ACTIVE = 1 << 0 , VFLAG_VERT_SELECTED = 1 << 1 , VFLAG_VERT_SELECTED_BEZT_HANDLE = 1 << 2 , VFLAG_EDGE_ACTIVE = 1 << 3 , VFLAG_EDGE_SELECTED = 1 << 4 , VFLAG_EDGE_SEAM = 1 << 5 , VFLAG_EDGE_SHARP = 1 << 6 , VFLAG_EDGE_FREESTYLE = 1 << 7 , VFLAG_VERT_GPENCIL_BEZT_HANDLE = 1 << 30 } |
| enum | { VFLAG_FACE_ACTIVE = 1 << 0 , VFLAG_FACE_SELECTED = 1 << 1 , VFLAG_FACE_FREESTYLE = 1 << 2 , VFLAG_VERT_UV_SELECT = 1 << 3 , VFLAG_VERT_UV_PINNED = 1 << 4 , VFLAG_EDGE_UV_SELECT = 1 << 5 , VFLAG_FACE_UV_ACTIVE = 1 << 6 , VFLAG_FACE_UV_SELECT = 1 << 7 } |
| gpu::VertBuf * | DRW_mesh_batch_cache_pos_vertbuf_get (Mesh &mesh) |
| int | DRW_mesh_material_count_get (const Object &object, const Mesh &mesh) |
Mesh Render Data | |
| enum | eMRExtractType { MR_EXTRACT_BMESH , MR_EXTRACT_MESH } |
| BLI_INLINE BMFace * | bm_original_face_get (const MeshRenderData &mr, int idx) |
| BLI_INLINE BMEdge * | bm_original_edge_get (const MeshRenderData &mr, int idx) |
| BLI_INLINE BMVert * | bm_original_vert_get (const MeshRenderData &mr, int idx) |
| BLI_INLINE const float * | bm_vert_co_get (const MeshRenderData &mr, const BMVert *eve) |
| BLI_INLINE const float * | bm_vert_no_get (const MeshRenderData &mr, const BMVert *eve) |
| BLI_INLINE const float * | bm_face_no_get (const MeshRenderData &mr, const BMFace *efa) |
PointCloud extraction | |
| static const uint | half_octahedron_tris [4][3] |
| static void | pointcloud_extract_indices (const PointCloud &pointcloud, PointCloudBatchCache &cache) |
| static void | pointcloud_extract_position_and_radius (const PointCloud &pointcloud, PointCloudBatchCache &cache) |
| static void | pointcloud_extract_attribute (const PointCloud &pointcloud, PointCloudBatchCache &cache, const DRW_AttributeRequest &request, int index) |
Definition at line 50 of file draw_curves.cc.
| using blender::draw::ObjectBoundsBuf = StorageArrayBuffer<ObjectBounds, 128> |
Definition at line 30 of file draw_view.hh.
| using blender::draw::ObjectInfosBuf = StorageArrayBuffer<ObjectInfos, 128> |
Definition at line 31 of file draw_view.hh.
Definition at line 45 of file draw_manager.hh.
Definition at line 44 of file draw_manager.hh.
Definition at line 28 of file eevee_test.cc.
| using blender::draw::ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, false> |
Definition at line 29 of file eevee_test.cc.
| using blender::draw::VisibilityBuf = StorageArrayBuffer<uint, 4, true> |
Definition at line 32 of file draw_view.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| DRW_MESH_WEIGHT_STATE_MULTIPAINT | |
| DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE | |
| DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE | |
Definition at line 47 of file draw_cache_extract.hh.
| anonymous enum |
Definition at line 288 of file draw_cache_impl.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| VFLAG_FACE_ACTIVE | |
| VFLAG_FACE_SELECTED | |
| VFLAG_FACE_FREESTYLE | |
| VFLAG_VERT_UV_SELECT | |
| VFLAG_VERT_UV_PINNED | |
| VFLAG_EDGE_UV_SELECT | |
| VFLAG_FACE_UV_ACTIVE | |
| VFLAG_FACE_UV_SELECT | |
Definition at line 302 of file draw_cache_impl.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| COLOR_NURB_ULINE_ID | |
| TOT_HANDLE_COL | |
Definition at line 54 of file draw_cache_impl_curve.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| CU_DATATYPE_WIRE | |
| CU_DATATYPE_OVERLAY | |
| CU_DATATYPE_NORMAL | |
| CU_DATATYPE_SURFACE | |
| CU_DATATYPE_TEXT_SELECT | |
Definition at line 182 of file draw_cache_impl_curve.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| LR_DATATYPE_VERT | |
| LR_DATATYPE_EDGE | |
| LR_DATATYPE_OVERLAY | |
Definition at line 111 of file draw_cache_impl_lattice.cc.
| anonymous enum |
Definition at line 67 of file draw_cache_impl_subdivision.cc.
| Enumerator | |
|---|---|
| CURVES_EVAL_CATMULL_ROM | |
| CURVES_EVAL_BEZIER | |
Definition at line 27 of file draw_curves_private.hh.
Definition at line 158 of file draw_cache_extract.hh.
| Enumerator | |
|---|---|
| MR_EXTRACT_BMESH | |
| MR_EXTRACT_MESH | |
Definition at line 44 of file extract_mesh.hh.
| Enumerator | |
|---|---|
| PARTICLE_SOURCE_PARENT | |
| PARTICLE_SOURCE_CHILDREN | |
Definition at line 504 of file draw_cache_impl_particles.cc.
| Enumerator | |
|---|---|
| SCULPT_BATCH_DEFAULT | |
| SCULPT_BATCH_WIREFRAME | |
| SCULPT_BATCH_MASK | |
| SCULPT_BATCH_FACE_SET | |
| SCULPT_BATCH_VERTEX_COLOR | |
| SCULPT_BATCH_UV | |
Definition at line 24 of file draw_sculpt.hh.
|
static |
Definition at line 166 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_bm(), bm, and BMesh::totface.
Referenced by accumululate_material_counts_bm(), and mesh_render_data_mat_tri_len_build().
|
static |
Definition at line 182 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_mesh(), blender::draw::MeshRenderData::corners_num, count, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, blender::Span< T >::first(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::material_indices, and poly_to_tri_count().
Referenced by accumululate_material_counts_mesh(), and mesh_render_data_mat_tri_len_build().
|
static |
Definition at line 487 of file draw_cache_impl_curves.cc.
References alloc_final_attribute_vbo(), blender::draw::CurvesEvalFinalCache::attributes_buf, blender::draw::CurvesEvalCache::curves_num, blender::draw::CurvesEvalCache::final, GPU_USAGE_DEVICE_ONLY, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), and blender::draw::CurvesEvalFinalCache::resolution.
Referenced by alloc_final_attribute_vbo(), and ensure_final_attribute().
|
static |
Definition at line 597 of file draw_cache_impl_curves.cc.
References alloc_final_points_vbo(), blender::draw::CurvesEvalCache::curves_num, blender::draw::CurvesEvalCache::final, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_DEVICE_ONLY, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), max_ii(), blender::draw::CurvesEvalFinalCache::proc_buf, and blender::draw::CurvesEvalFinalCache::resolution.
Referenced by alloc_final_points_vbo(), and curves_ensure_procedural_data().
|
static |
Definition at line 95 of file draw_cache_extract_mesh.cc.
References ARRAY_SIZE, buffers, and DRW_vbo_requested().
Referenced by mesh_buffer_cache_create_requested(), and mesh_buffer_cache_create_requested_subdiv().
| BLI_INLINE float blender::draw::area_ratio_get | ( | float | area, |
| float | uvarea ) |
Definition at line 22 of file extract_mesh_vbo_edituv_stretch_area.cc.
| BLI_INLINE float blender::draw::area_ratio_to_stretch | ( | float | ratio, |
| float | tot_ratio ) |
Definition at line 30 of file extract_mesh_vbo_edituv_stretch_area.cc.
|
inlinestatic |
Definition at line 1175 of file DRW_gpu_wrapper.hh.
References tex.
|
inlinestatic |
Definition at line 1170 of file DRW_gpu_wrapper.hh.
References tex.
|
inlinestatic |
Definition at line 1185 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Definition at line 1180 of file DRW_gpu_wrapper.hh.
|
static |
Definition at line 201 of file draw_curves.cc.
References GPU_material_attributes(), LISTBASE_FOREACH, and STREQ.
Referenced by curves_sub_pass_setup_implementation(), and DRW_shgroup_curves_create_sub().
|
static |
Definition at line 1045 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_POLY, and blender::VArray< T >::ForContainer().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 25 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_overhang().
|
static |
Definition at line 116 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_curves_batch_cache_validate().
|
staticconstexpr |
Definition at line 97 of file draw_cache_impl_mesh.cc.
References BUFFER_INDEX, MBC_ALL_EDGES, MBC_ALL_VERTS, MBC_EDGE_DETECTION, MBC_EDIT_EDGES, MBC_EDIT_FACEDOTS, MBC_EDIT_LNOR, MBC_EDIT_MESH_ANALYSIS, MBC_EDIT_SELECTION_EDGES, MBC_EDIT_SELECTION_FACEDOTS, MBC_EDIT_SELECTION_FACES, MBC_EDIT_SELECTION_VERTS, MBC_EDIT_TRIANGLES, MBC_EDIT_VERTICES, MBC_EDIT_VNOR, MBC_EDITUV_EDGES, MBC_EDITUV_FACEDOTS, MBC_EDITUV_FACES, MBC_EDITUV_FACES_STRETCH_ANGLE, MBC_EDITUV_FACES_STRETCH_AREA, MBC_EDITUV_VERTS, MBC_LOOSE_EDGES, MBC_SCULPT_OVERLAYS, MBC_SKIN_ROOTS, MBC_SURFACE, MBC_SURFACE_PER_MAT, MBC_SURFACE_WEIGHTS, MBC_VIEWER_ATTRIBUTE_OVERLAY, MBC_WIRE_EDGES, MBC_WIRE_LOOPS, MBC_WIRE_LOOPS_UVS, and TRIS_PER_MAT_INDEX.
Referenced by DRW_mesh_batch_cache_create_requested().
Definition at line 271 of file draw_cache_impl_curves.cc.
References bezier_data_value(), EDIT_CURVES_ACTIVE_HANDLE, EDIT_CURVES_BEZIER_HANDLE, and EDIT_CURVES_HANDLE_TYPES_SHIFT.
Referenced by bezier_data_value(), and create_edit_points_position_and_data().
|
static |
Definition at line 615 of file draw_cache_impl_curve.cc.
References ACTIVE_NURB, blender::draw::CurveRenderData::actnu, blender::draw::CurveRenderData::actvert, BEZIER_HANDLE, BLI_assert, COLOR_SHIFT, flag, SELECT, SET_FLAG_FROM_TEST, VFLAG_VERT_ACTIVE, VFLAG_VERT_SELECTED, and VFLAG_VERT_SELECTED_BEZT_HANDLE.
Referenced by curve_create_edit_data_and_handles().
| blender::draw::BLI_STATIC_ASSERT | ( | ) |
Referenced by blender::draw::detail::DataBuffer< T, len, device_only >::begin(), blender::draw::detail::DataBuffer< T, len, device_only >::begin(), blender::draw::detail::DataBuffer< T, len, device_only >::data(), blender::draw::detail::DataBuffer< T, len, device_only >::data(), blender::draw::detail::DataBuffer< T, len, device_only >::end(), blender::draw::detail::DataBuffer< T, len, device_only >::end(), blender::draw::detail::DataBuffer< AOVsInfoData, len, false >::operator Span< AOVsInfoData >(), blender::draw::detail::DataBuffer< T, len, device_only >::operator[](), blender::draw::detail::DataBuffer< T, len, device_only >::operator[](), blender::eevee::shadow_lod_offset_pack(), blender::eevee::shadow_page_unpack(), blender::eevee::shadow_tile_unpack(), and blender::eevee::Precompute::write_to_pfm().
|
static |
Definition at line 441 of file draw_cache_extract_mesh_render_data.cc.
References bm_edge_is_sharp(), BM_elem_flag_test, and BM_ELEM_SMOOTH.
Referenced by bm_edge_is_sharp().
|
static |
Definition at line 446 of file draw_cache_extract_mesh_render_data.cc.
References BM_elem_flag_test, BM_ELEM_SMOOTH, and bm_face_is_sharp().
Referenced by bm_face_is_sharp().
| BLI_INLINE const float * blender::draw::bm_face_no_get | ( | const MeshRenderData & | mr, |
| const BMFace * | efa ) |
Definition at line 173 of file extract_mesh.hh.
References BM_elem_index_get, blender::draw::MeshRenderData::bm_face_normals, blender::Span< T >::is_empty(), and BMFace::no.
Referenced by statvis_calc_overhang(), and statvis_calc_thickness().
| BLI_INLINE BMEdge * blender::draw::bm_original_edge_get | ( | const MeshRenderData & | mr, |
| int | idx ) |
Definition at line 141 of file extract_mesh.hh.
References blender::draw::MeshRenderData::bm, BM_edge_at_index(), blender::draw::MeshRenderData::orig_index_edge, and ORIGINDEX_NONE.
Referenced by extract_lines_loose_geom_subdiv().
| BLI_INLINE BMFace * blender::draw::bm_original_face_get | ( | const MeshRenderData & | mr, |
| int | idx ) |
Definition at line 133 of file extract_mesh.hh.
References blender::draw::MeshRenderData::bm, BM_face_at_index(), blender::draw::MeshRenderData::orig_index_face, and ORIGINDEX_NONE.
Referenced by draw_subdiv_cache_extra_coarse_face_data_mapped(), extract_edituv_face_dots_mesh(), extract_edituv_lines_mesh(), extract_edituv_points_mesh(), extract_edituv_points_subdiv_mesh(), extract_edituv_tris_mesh(), and extract_edituv_tris_subdiv_mesh().
| BLI_INLINE BMVert * blender::draw::bm_original_vert_get | ( | const MeshRenderData & | mr, |
| int | idx ) |
Definition at line 149 of file extract_mesh.hh.
References blender::draw::MeshRenderData::bm, BM_vert_at_index(), blender::draw::MeshRenderData::orig_index_vert, and ORIGINDEX_NONE.
Referenced by extract_points_subdiv_bm().
| BLI_INLINE const float * blender::draw::bm_vert_co_get | ( | const MeshRenderData & | mr, |
| const BMVert * | eve ) |
Definition at line 157 of file extract_mesh.hh.
References BM_elem_index_get, blender::draw::MeshRenderData::bm_vert_coords, BMVert::co, and blender::Span< T >::is_empty().
Referenced by extract_skin_roots(), extract_uv_stretch_angle_bm(), and statvis_calc_thickness().
| BLI_INLINE const float * blender::draw::bm_vert_no_get | ( | const MeshRenderData & | mr, |
| const BMVert * | eve ) |
Definition at line 165 of file extract_mesh.hh.
References BM_elem_index_get, blender::draw::MeshRenderData::bm_vert_normals, blender::Span< T >::is_empty(), and BMVert::no.
|
static |
Returns which domain of normals is required because of sharp and smooth flags. Similar to #Mesh::normals_domain().
Definition at line 455 of file draw_cache_extract_mesh_render_data.cc.
References bm, BM_EDGE, BM_FACE, BM_mesh_elem_table_ensure(), bmesh_normals_domain(), CD_CUSTOMLOOPNORMAL, CustomData_has_layer(), BMesh::etable, BMesh::ftable, BMesh::ldata, BMesh::totedge, and BMesh::totface.
Referenced by bmesh_normals_domain(), and mesh_render_data_create().
|
static |
Definition at line 636 of file draw_cache_impl_curve.cc.
References ACTIVE_NURB, blender::draw::CurveRenderData::actnu, blender::draw::CurveRenderData::actvert, BLI_assert, COLOR_NURB_ULINE_ID, COLOR_SHIFT, EVEN_U_BIT, flag, SELECT, SET_FLAG_FROM_TEST, VFLAG_VERT_ACTIVE, and VFLAG_VERT_SELECTED.
Referenced by curve_create_edit_data_and_handles().
|
static |
Definition at line 191 of file extract_mesh_vbo_edge_fac.cc.
References build_poly_other_map_vbo(), blender::gpu::VertBuf::data(), blender::MutableSpan< T >::data(), GPU_COMP_I32, GPU_FETCH_INT, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::DRWSubdivCache::num_subdiv_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, quad, and blender::draw::DRWSubdivCache::subdiv_loop_subdiv_edge_index.
Referenced by build_poly_other_map_vbo(), and extract_edge_factor_subdiv().
|
static |
Definition at line 1136 of file draw_cache_impl_subdivision.cc.
References blender::offset_indices::build_reverse_offsets(), blender::gpu::VertBuf::data(), blender::MutableSpan< T >::fill(), get_origindex_format(), gpu_vertbuf_create_from_format(), MEM_callocN, MEM_freeN(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::draw::DRWSubdivCache::subdiv_loop_subdiv_vert_index, blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency, and blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency_offsets.
Referenced by draw_subdiv_build_cache().
Definition at line 258 of file extract_mesh_vbo_mesh_analysis.cc.
References ELEM, isect_tri_tri_v3(), len_squared_v3v3(), UNLIKELY, and UNPACK3.
Referenced by statvis_calc_intersect().
|
static |
Definition at line 112 of file extract_mesh_ibo_lines_adjacency.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_elem_index_get, blender::draw::MeshRenderData::edit_bmesh, blender::Span< T >::index_range(), lines_adjacency_triangle(), BMEditMesh::looptris, and v.
Referenced by extract_lines_adjacency().
|
static |
Definition at line 136 of file extract_mesh_ibo_lines_adjacency.cc.
References blender::draw::MeshRenderData::corner_verts, blender::bke::mesh::face_triangles_range(), blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), lines_adjacency_triangle(), blender::draw::MeshRenderData::mesh, and blender::Span< T >::slice().
Referenced by extract_lines_adjacency().
|
static |
Definition at line 433 of file draw_cache_impl_curves.cc.
References calc_edit_handles_ibo(), blender::IndexRange::drop_back(), blender::draw::CurvesBatchCache::edit_handles_ibo, blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_add_line_verts(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init_ex(), GPU_indexbuf_join(), GPU_PRIM_LINES, GPUIndexBufBuilder::index_len, blender::IndexRange::last(), point, blender::index_mask::IndexMask::size(), blender::IndexRange::size(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 254 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, calc_face_tri_starts_bmesh(), blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::draw::MeshRenderData::materials_num, and BMesh::totface.
Referenced by calc_face_tri_starts_bmesh(), and mesh_render_data_faces_sorted_build().
|
static |
Definition at line 288 of file draw_cache_extract_mesh_render_data.cc.
References blender::MutableSpan< T >::as_span(), calc_face_tri_starts_mesh(), blender::draw::MeshRenderData::faces, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::material_indices, blender::draw::MeshRenderData::materials_num, mesh_is_single_material(), and size().
Referenced by calc_face_tri_starts_mesh(), and mesh_render_data_faces_sorted_build().
|
static |
Definition at line 15 of file extract_mesh_ibo_fdots.cc.
References blender::Span< T >::begin(), blender::draw::MeshRenderData::corner_verts, blender::Span< T >::end(), blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, blender::index_mask::IndexMask::from_bools_inverse(), blender::index_mask::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::mesh, Mesh::runtime, blender::Span< T >::slice(), and blender::draw::MeshRenderData::use_subsurf_fdots.
Referenced by extract_face_dots_mesh().
|
static |
Definition at line 616 of file draw_cache_impl_curves.cc.
References BLI_assert, calc_final_indices(), blender::draw::CurvesEvalCache::final, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_BATCH_OWNS_VBO, GPU_COMP_U8, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_indexbuf_build_curves_on_device(), GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_TRI_STRIP, GPU_PRIM_TRIS, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), GPU_vertformat_clear(), MAX_THICKRES, blender::draw::CurvesEvalFinalCache::proc_hairs, and blender::draw::CurvesEvalFinalCache::resolution.
Referenced by calc_final_indices(), and curves_ensure_procedural_data().
|
static |
Definition at line 20 of file extract_mesh_ibo_lines.cc.
References blender::index_mask::IndexMask::from_bits(), blender::index_mask::IndexMask::from_bools_inverse(), blender::index_mask::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, blender::Span< T >::is_empty(), mask(), blender::draw::MeshRenderData::mesh, blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, and Mesh::runtime.
Referenced by extract_lines_mesh().
|
static |
Definition at line 198 of file extract_mesh_ibo_points.cc.
References calc_vert_visibility_mapped_mesh(), blender::draw::MeshRenderData::hide_vert, blender::Span< T >::is_empty(), mask(), blender::draw::MeshRenderData::orig_index_vert, and ORIGINDEX_NONE.
Referenced by calc_vert_visibility_mapped_mesh(), and extract_points_subdiv_mesh().
|
static |
Definition at line 18 of file extract_mesh_ibo_points.cc.
References blender::index_mask::IndexMask::from_bools_inverse(), blender::index_mask::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_vert, blender::Span< T >::is_empty(), mask(), blender::draw::MeshRenderData::orig_index_vert, and ORIGINDEX_NONE.
Referenced by extract_points_mesh().
|
static |
Definition at line 70 of file extract_mesh_ibo_lines.cc.
References calc_visible_loose_edge_indices(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, and blender::Span< T >::size().
Referenced by calc_visible_loose_edge_indices(), and extract_lines_mesh().
|
static |
Definition at line 191 of file draw_cache_impl_curves.cc.
References clear_edit_data(), clear_eval_data(), and blender::draw::CurvesBatchCache::eval_cache.
Referenced by DRW_curves_batch_cache_free(), and DRW_curves_batch_cache_validate().
|
static |
Definition at line 150 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesBatchCache::edit_curves_lines, blender::draw::CurvesBatchCache::edit_curves_lines_ibo, blender::draw::CurvesBatchCache::edit_curves_lines_pos, blender::draw::CurvesBatchCache::edit_handles, blender::draw::CurvesBatchCache::edit_handles_ibo, blender::draw::CurvesBatchCache::edit_points, blender::draw::CurvesBatchCache::edit_points_data, blender::draw::CurvesBatchCache::edit_points_pos, blender::draw::CurvesBatchCache::edit_points_selection, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::CurvesBatchCache::sculpt_cage, and blender::draw::CurvesBatchCache::sculpt_cage_ibo.
Referenced by clear_batch_cache().
|
static |
Definition at line 178 of file draw_cache_impl_curves.cc.
References clear_final_data(), discard_attributes(), blender::draw::CurvesEvalCache::final, GPU_VERTBUF_DISCARD_SAFE, blender::draw::CurvesEvalCache::proc_length_buf, blender::draw::CurvesEvalCache::proc_point_buf, blender::draw::CurvesEvalCache::proc_strand_buf, and blender::draw::CurvesEvalCache::proc_strand_seg_buf.
Referenced by clear_batch_cache().
|
static |
Definition at line 169 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attributes_buf, GPU_BATCH_DISCARD_SAFE, GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, blender::draw::CurvesEvalFinalCache::proc_buf, and blender::draw::CurvesEvalFinalCache::proc_hairs.
Referenced by clear_eval_data(), and curves_ensure_procedural_data().
|
static |
Definition at line 40 of file extract_mesh_vbo_edituv_stretch_area.cc.
References b, blender::draw::MeshRenderData::bm, bm, CD_PROP_FLOAT2, CustomData_get_offset(), blender::draw::MeshRenderData::extract_type, BMesh::ldata, MR_EXTRACT_BMESH, blender::threading::parallel_reduce(), blender::draw::AreaInfo::tot_area, and BMesh::totface.
Referenced by extract_edituv_stretch_area(), and extract_edituv_stretch_area_subdiv().
Definition at line 716 of file draw_cache_impl_subdivision.cc.
References BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, flag, SUBDIV_COARSE_FACE_FLAG_ACTIVE, SUBDIV_COARSE_FACE_FLAG_HIDDEN, and SUBDIV_COARSE_FACE_FLAG_SELECT.
Referenced by draw_subdiv_cache_extra_coarse_face_data_bm(), and draw_subdiv_cache_extra_coarse_face_data_mapped().
|
static |
Definition at line 41 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References copy_v2_v2(), copy_v3_v3(), normalize_v2(), normalize_v3(), sub_v2_v2v2(), and sub_v3_v3v3().
Referenced by extract_uv_stretch_angle_bm(), and extract_uv_stretch_angle_mesh().
|
inline |
Referenced by extract_face_dot_normals_mesh().
|
inline |
Definition at line 231 of file extract_mesh.hh.
References GPU_normal_convert_i10_v3().
Definition at line 236 of file extract_mesh.hh.
References normal_float_to_short_v3().
| void blender::draw::convert_normals | ( | const Span< float3 > | src, |
| MutableSpan< GPUPackedNormal > | normals ) |
Definition at line 27 of file extract_mesh_vbo_lnor.cc.
References convert_normals(), and convert_normals_impl().
| void blender::draw::convert_normals | ( | const Span< float3 > | src, |
| MutableSpan< short4 > | normals ) |
Definition at line 31 of file extract_mesh_vbo_lnor.cc.
References convert_normals(), and convert_normals_impl().
| void blender::draw::convert_normals | ( | Span< float3 > | src, |
| MutableSpan< GPUType > | dst ) |
|
static |
Definition at line 18 of file extract_mesh_vbo_lnor.cc.
References blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by convert_normals(), and convert_normals().
|
static |
Definition at line 218 of file draw_cache_impl_grease_pencil.cc.
References range, and blender::math::transform_point().
|
static |
Definition at line 237 of file draw_cache_impl_particles.cc.
References ParticleHairCache::elems_len, ParticleHairCache::point_len, ParticleCacheKey::segments, and ParticleHairCache::strands_len.
Referenced by ensure_seg_pt_count().
|
static |
Definition at line 542 of file draw_cache_impl_subdivision.cc.
References GPU_USAGE_DEVICE_ONLY, GPU_vertbuf_calloc(), GPU_vertbuf_init_with_format_ex(), and opensubdiv_gpu_buffer_init().
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_extract_pos_nor(), and draw_subdiv_extract_uvs().
|
static |
Definition at line 572 of file draw_cache_impl_curves.cc.
References create_curve_offsets_vbos(), blender::draw::CurvesEvalCache::curves_num, fill_curve_offsets_vbos(), GPU_COMP_U16, GPU_COMP_U32, GPU_FETCH_INT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), blender::draw::CurvesEvalCache::proc_strand_buf, and blender::draw::CurvesEvalCache::proc_strand_seg_buf.
Referenced by create_curve_offsets_vbos(), and curves_ensure_procedural_data().
|
static |
Definition at line 1007 of file draw_cache_impl_curves.cc.
References create_edit_lines_ibo(), blender::draw::CurvesBatchCache::edit_curves_lines_ibo, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, size(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_edit_lines_ibo(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 277 of file draw_cache_impl_curves.cc.
References bezier_data_value(), create_edit_points_position_and_data(), blender::gpu::VertBuf::data(), blender::MutableSpan< T >::data(), EDIT_CURVES_ACTIVE_HANDLE, EDIT_CURVES_BEZIER_HANDLE, EDIT_CURVES_NURBS_CONTROL_POINT, blender::draw::CurvesBatchCache::edit_points_data, blender::draw::CurvesBatchCache::edit_points_pos, blender::MutableSpan< T >::fill(), GPU_COMP_F32, GPU_COMP_U32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, point, selection, single_attr_vbo_format(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_front(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_edit_points_position_and_data(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 1036 of file draw_cache_impl_curves.cc.
References attr_id, create_edit_points_position_vbo(), blender::gpu::VertBuf::data(), blender::draw::CurvesBatchCache::edit_curves_lines_pos, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_attr_fill(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, and single_attr_vbo_format().
Referenced by create_edit_points_position_vbo(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 375 of file draw_cache_impl_curves.cc.
References create_edit_points_selection(), blender::gpu::VertBuf::data(), blender::draw::CurvesBatchCache::edit_points_selection, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, blender::VArrayCommon< T >::materialize(), blender::IndexRange::shift(), single_attr_vbo_format(), blender::index_mask::IndexMask::slice(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_edit_points_selection(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 24 of file extract_mesh_ibo_lines_adjacency.cc.
References blender::math::abs(), GPU_indexbuf_add_line_adj_verts(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), NO_EDGE, and v2.
Referenced by extract_lines_adjacency(), and extract_lines_adjacency_subdiv().
|
static |
Definition at line 93 of file extract_mesh_ibo_tris.cc.
References create_material_subranges(), GPU_indexbuf_calloc(), GPU_indexbuf_create_subrange_in_place(), len, blender::draw::MeshRenderData::materials_num, blender::draw::SortedFaceData::tris_num_by_material, and blender::draw::MeshBatchCache::tris_per_mat.
Referenced by create_material_subranges(), and extract_tris().
|
static |
Definition at line 247 of file draw_cache_impl_curves.cc.
References create_points_position_time_vbo(), blender::draw::CurvesEvalCache::curves_num, blender::gpu::VertBuf::data(), fill_points_position_time_vbo(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), blender::draw::CurvesEvalCache::points_num, blender::draw::CurvesEvalCache::proc_length_buf, and blender::draw::CurvesEvalCache::proc_point_buf.
Referenced by create_points_position_time_vbo(), and curves_ensure_procedural_data().
|
static |
Definition at line 413 of file draw_cache_impl_curves.cc.
References create_sculpt_cage_ibo(), GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, blender::offset_indices::OffsetIndices< T >::index_range(), blender::draw::CurvesBatchCache::sculpt_cage_ibo, blender::offset_indices::OffsetIndices< T >::size(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_sculpt_cage_ibo(), and DRW_curves_batch_cache_create_requested().
|
static |
TODO
CurveCache, SEQUENCER_DAG_WORKAROUND.Definition at line 420 of file draw_cache_impl_curve.cc.
References batch, blender::draw::CurveBatchCache::batch, Curve::batch_cache, blender::draw::CurveBatchCache::edit, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::CurveBatchCache::ibo, and blender::draw::CurveBatchCache::ordered.
Referenced by DRW_curve_batch_cache_free(), and DRW_curve_batch_cache_validate().
|
static |
Definition at line 394 of file draw_cache_impl_curve.cc.
References Curve::batch_cache.
Referenced by DRW_curve_batch_cache_create_requested(), DRW_curve_batch_cache_get_edit_edges(), DRW_curve_batch_cache_get_edit_verts(), DRW_curve_batch_cache_get_normal_edge(), DRW_curve_batch_cache_get_wire_edge(), and DRW_curve_batch_cache_get_wire_edge_viewer_attribute().
|
static |
Definition at line 358 of file draw_cache_impl_curve.cc.
References Curve::batch_cache, Curve::editfont, Curve::editnurb, blender::draw::CurveBatchCache::is_dirty, blender::draw::CurveBatchCache::is_editmode, MEM_callocN, Curve::nurb, and EditNurb::nurbs.
Referenced by DRW_curve_batch_cache_validate().
|
static |
Definition at line 333 of file draw_cache_impl_curve.cc.
References Curve::batch_cache, Curve::editfont, Curve::editnurb, blender::draw::CurveBatchCache::is_dirty, and blender::draw::CurveBatchCache::is_editmode.
Referenced by DRW_curve_batch_cache_validate().
|
static |
Definition at line 479 of file draw_cache_impl_curve.cc.
References blender::draw::CurveRenderData::curve_eval, curve_render_data_wire_verts_len_get(), blender::gpu::VertBuf::data(), Curves::geometry, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and blender::bke::Point.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 501 of file draw_cache_impl_curve.cc.
References blender::draw::CurveRenderData::curve_eval, curve_render_data_wire_curve_len_get(), curve_render_data_wire_edges_len_get(), curve_render_data_wire_verts_len_get(), Curves::geometry, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init_ex(), and GPU_PRIM_LINE_STRIP.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 456 of file draw_cache_impl_curve.cc.
References attr_id, blender::draw::CurveRenderData::curve_eval, curve_render_data_wire_verts_len_get(), blender::gpu::VertBuf::data(), Curves::geometry, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_attr_fill(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and pos.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 534 of file draw_cache_impl_curve.cc.
References attr_id, CurveCache::bev, BevList::bevpoints, BLI_assert, curve_render_data_normal_len_get(), BevPoint::dir, ListBase::first, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_normal_convert_v3(), GPU_use_hq_normals_workaround(), GPU_vertbuf_attr_set(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), mul_qt_v3(), BevList::next, Nurb::next, nor, BevList::nr, blender::draw::CurveRenderData::nurbs, blender::draw::CurveRenderData::ob_curve_cache, pos, BevPoint::quat, BevPoint::radius, Nurb::resolu, SCE_PERF_HQ_NORMALS, blender::math::tan(), and BevPoint::vec.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 649 of file draw_cache_impl_curve.cc.
References attr_id, GPUVertFormat::attr_len, BEZT_ISSEL_ANY, beztriple_vflag_get(), bpoint_vflag_get(), curve_render_data_overlay_edges_len_get(), curve_render_data_overlay_verts_len_get(), blender::gpu::VertBuf::data(), data, DRW_TEST_ASSIGN_IBO, DRW_TEST_ASSIGN_VBO, BezTriple::f1, BezTriple::f2, BezTriple::f3, ListBase::first, GPU_COMP_F32, GPU_COMP_U32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_indexbuf_add_line_verts(), GPU_indexbuf_add_point_vert(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_vertbuf_attr_set(), GPU_vertbuf_data_alloc(), GPU_vertbuf_data_resize(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), BezTriple::h1, BezTriple::h2, BezTriple::hide, BPoint::hide, blender::draw::CurveRenderData::nurbs, pos, v, and BezTriple::vec.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 100 of file draw_cache_impl_curve.cc.
References blender::bke::curves::segments_num(), size(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by curve_render_data_create().
|
static |
| ob_curve_cache | can be null. |
Definition at line 198 of file draw_cache_impl_curve.cc.
References blender::draw::CurveRenderData::actnu, Curve::actnu, blender::draw::CurveRenderData::actvert, Curve::actvert, CU_DATATYPE_NORMAL, CU_DATATYPE_OVERLAY, CU_DATATYPE_WIRE, blender::draw::CurveRenderData::curve_eval, Curve::curve_eval, curve_eval_render_wire_verts_edges_len_get(), blender::draw::CurveRenderData::curve_len, curve_render_normal_len_get(), curve_render_overlay_verts_edges_len_get(), blender::draw::CurveRenderData::edge_len, blender::draw::CurveRenderData::edit_font, Curve::editfont, Curve::editnurb, Curves::geometry, blender::draw::CurveRenderData::len, MEM_callocN, blender::draw::CurveRenderData::normal, Curve::nurb, blender::draw::CurveRenderData::nurbs, EditNurb::nurbs, blender::draw::CurveRenderData::ob_curve_cache, blender::draw::CurveRenderData::overlay, blender::draw::CurveRenderData::text, blender::draw::CurveRenderData::types, types, blender::draw::CurveRenderData::vert_len, and blender::draw::CurveRenderData::wire.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 248 of file draw_cache_impl_curve.cc.
References MEM_freeN().
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 288 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_NORMAL, blender::draw::CurveRenderData::len, blender::draw::CurveRenderData::normal, and blender::draw::CurveRenderData::types.
Referenced by curve_create_edit_curves_nor().
|
static |
Definition at line 264 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_OVERLAY, blender::draw::CurveRenderData::edge_len, blender::draw::CurveRenderData::overlay, and blender::draw::CurveRenderData::types.
Referenced by curve_create_edit_data_and_handles().
|
static |
Definition at line 258 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_OVERLAY, blender::draw::CurveRenderData::overlay, blender::draw::CurveRenderData::types, and blender::draw::CurveRenderData::vert_len.
Referenced by curve_create_edit_data_and_handles().
|
static |
Definition at line 282 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_WIRE, blender::draw::CurveRenderData::curve_len, blender::draw::CurveRenderData::types, and blender::draw::CurveRenderData::wire.
Referenced by curve_create_curves_lines().
|
static |
Definition at line 276 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_WIRE, blender::draw::CurveRenderData::edge_len, blender::draw::CurveRenderData::types, and blender::draw::CurveRenderData::wire.
Referenced by curve_create_curves_lines().
|
static |
Definition at line 270 of file draw_cache_impl_curve.cc.
References BLI_assert, CU_DATATYPE_WIRE, blender::draw::CurveRenderData::types, blender::draw::CurveRenderData::vert_len, and blender::draw::CurveRenderData::wire.
Referenced by curve_create_attribute(), curve_create_curves_lines(), and curve_create_curves_pos().
|
static |
Definition at line 116 of file draw_cache_impl_curve.cc.
References CurveCache::bev, ListBase::first, BevList::next, Nurb::next, BevList::nr, and Nurb::resolu.
Referenced by curve_render_data_create().
|
static |
Definition at line 72 of file draw_cache_impl_curve.cc.
References BLI_assert, and LISTBASE_FOREACH.
Referenced by curve_render_data_create().
|
static |
Definition at line 387 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::bke::Curve, curves_ensure_procedural_data(), CURVES_EVAL_CATMULL_ROM, blender::draw::CurvesEvalCache::curves_num, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), blender::draw::DRW_AttributeRequest::domain, DRW_shader_curves_refine_get(), blender::draw::CurvesEvalCache::final, g_pass, GPU_max_work_group_count(), blender::draw::DRW_Attributes::num_requests, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalCache::proc_point_buf, blender::draw::CurvesEvalCache::proc_strand_buf, blender::draw::CurvesEvalCache::proc_strand_seg_buf, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::DRW_Attributes::requests, blender::draw::CurvesEvalFinalCache::resolution, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), and update().
Referenced by curves_pos_buffer_get().
| bool blender::draw::curves_ensure_procedural_data | ( | Curves * | curves_id, |
| CurvesEvalCache ** | r_cache, | ||
| const GPUMaterial * | gpu_material, | ||
| int | subdiv, | ||
| int | thickness_res ) |
Ensure all necessary textures and buffers exist for GPU accelerated drawing.
Definition at line 835 of file draw_cache_impl_curves.cc.
References alloc_final_points_vbo(), calc_final_indices(), clear_final_data(), create_curve_offsets_vbos(), create_points_position_time_vbo(), curves_ensure_procedural_data(), blender::draw::CurvesEvalCache::curves_num, DRW_vbo_requested(), ensure_attributes(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, Curves::geometry, get_batch_cache(), blender::draw::CurvesEvalFinalCache::hair_subdiv, blender::draw::CurvesEvalCache::points_num, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalFinalCache::proc_hairs, blender::draw::CurvesEvalCache::proc_point_buf, blender::draw::CurvesEvalCache::proc_strand_buf, blender::draw::CurvesEvalFinalCache::resolution, steps, and blender::draw::CurvesEvalFinalCache::thickres.
Referenced by curves_cache_get(), curves_ensure_procedural_data(), and drw_curves_cache_get().
| void blender::draw::curves_free | ( | ) |
Definition at line 457 of file draw_curves.cc.
References g_pass.
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
| void blender::draw::curves_init | ( | ) |
Definition at line 378 of file draw_curves.cc.
References DRW_STATE_NO_DRAW, g_pass, blender::draw::detail::Pass< DrawCommandBufType >::init(), and blender::draw::detail::PassBase< DrawCommandBufType >::state_set().
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
| gpu::VertBuf * blender::draw::curves_pos_buffer_get | ( | Scene * | scene, |
| Object * | object ) |
Definition at line 440 of file draw_curves.cc.
References curves_cache_get(), blender::draw::CurvesEvalCache::final, blender::draw::CurvesEvalFinalCache::proc_buf, and SCE_HAIR_SHAPE_STRAND.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| gpu::Batch * blender::draw::curves_sub_pass_setup | ( | PassMain::Sub & | ps, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 580 of file draw_curves.cc.
References curves_sub_pass_setup_implementation().
Referenced by blender::draw::overlay::Sculpts::curves_sync(), blender::draw::overlay::Outline::object_sync(), blender::draw::overlay::Prepass::object_sync(), and blender::eevee::SyncModule::sync_curves().
| gpu::Batch * blender::draw::curves_sub_pass_setup_implementation | ( | PassT & | sub_ps, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| GPUMaterial * | gpu_material ) |
NOTE: This still relies on the old DRW_curves implementation.
Definition at line 464 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, attribute_index_in_material(), blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::CurvesEvalFinalCache::attributes_buf, BLI_assert, CD_PROP_FLOAT2, blender::draw::DRW_AttributeRequest::cd_type, blender::bke::Curve, CurvesGeometry::curve_data, DRWData::curves_ubos, CustomData_get_render_layer(), CustomData_has_layer(), Object::data, blender::draw::DRW_AttributeRequest::domain, drw_curves_cache_get(), drw_curves_get_attribute_sampler_name(), DST, blender::draw::CurvesEvalCache::final, blender::IndexRange::first(), g_dummy_vbo, Curves::geometry, blender::IndexRange::last(), blender::draw::DRW_AttributeRequest::layer_index, blender::draw::DRW_Attributes::num_requests, OB_CURVES, blender::bke::Point, CurvesGeometry::point_data, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalFinalCache::proc_hairs, blender::draw::CurvesEvalCache::proc_length_buf, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::DRW_Attributes::requests, blender::draw::CurvesEvalFinalCache::resolution, blender::math::safe_divide(), SCE_HAIR_SHAPE_STRAND, blender::IndexRange::size(), Object::type, and DRWManager::vmempool.
Referenced by curves_sub_pass_setup().
| void blender::draw::curves_update | ( | Manager & | manager | ) |
Definition at line 451 of file draw_curves.cc.
References g_pass, GPU_BARRIER_SHADER_STORAGE, GPU_memory_barrier(), and blender::draw::Manager::submit().
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
|
static |
Definition at line 137 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, drw_attributes_clear(), blender::draw::CurvesEvalCache::final, GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, and blender::draw::CurvesEvalCache::proc_attributes_buf.
Referenced by clear_eval_data(), and DRW_curves_batch_cache_free_old().
Definition at line 362 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_distort().
|
static |
Definition at line 1102 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWCacheBuildingContext::cache, blender::draw::DRWCacheBuildingContext::coarse_mesh, draw_subdiv_foreach_callbacks(), blender::draw::DRWCacheBuildingContext::edge_draw_flag_map, blender::draw::DRWCacheBuildingContext::edge_origindex_map, blender::bke::subdiv::foreach_subdiv_geometry(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWCacheBuildingContext::settings, blender::draw::DRWCacheBuildingContext::subdiv_loop_edge_draw_flag, blender::draw::DRWCacheBuildingContext::subdiv_loop_edge_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_edge_index, and blender::bke::subdiv::ForeachContext::user_data.
Referenced by draw_subdiv_build_cache().
|
static |
Definition at line 589 of file draw_cache_impl_subdivision.cc.
References blender::bke::subdiv::Subdiv::evaluator, get_patch_handle_format(), get_quadtree_format(), OpenSubdiv_Evaluator::getPatchMap, GPU_USAGE_STATIC, GPU_vertbuf_calloc(), GPU_vertbuf_init_with_format_ex(), blender::draw::DRWPatchMap::max_depth, blender::draw::DRWPatchMap::max_patch_face, blender::draw::DRWPatchMap::min_patch_face, opensubdiv_gpu_buffer_init(), blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, and blender::draw::DRWPatchMap::patches_are_triangular.
Referenced by draw_subdiv_build_cache().
|
static |
Definition at line 625 of file draw_cache_impl_subdivision.cc.
References GPU_VERTBUF_DISCARD_SAFE, blender::draw::DRWPatchMap::max_depth, blender::draw::DRWPatchMap::max_patch_face, blender::draw::DRWPatchMap::min_patch_face, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, and blender::draw::DRWPatchMap::patches_are_triangular.
Referenced by draw_subdiv_cache_free().
| void blender::draw::draw_subdiv_accumulate_normals | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos_nor, | ||
| gpu::VertBuf * | face_adjacency_offsets, | ||
| gpu::VertBuf * | face_adjacency_lists, | ||
| gpu::VertBuf * | vertex_loop_map, | ||
| gpu::VertBuf * | vert_normals ) |
Definition at line 1657 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_verts, and SHADER_BUFFER_NORMALS_ACCUMULATE.
Referenced by extract_positions_subdiv().
|
static |
Definition at line 1167 of file draw_cache_impl_subdivision.cc.
References build_vertex_face_adjacency_maps(), blender::draw::DRWCacheBuildingContext::cache, blender::draw::DRWCacheBuildingContext::coarse_mesh, blender::draw::DRWSubdivCache::corner_patch_coords, blender::gpu::VertBuf::data(), data, do_subdiv_traversal(), draw_patch_map_build(), draw_subdiv_build_origindex_buffer(), draw_subdiv_cache_free(), blender::draw::DRWCacheBuildingContext::edge_draw_flag_map, blender::draw::DRWCacheBuildingContext::edge_origindex_map, blender::draw::DRWSubdivCache::face_ptex_offset, blender::draw::DRWSubdivCache::face_ptex_offset_buffer, blender::bke::subdiv::face_ptex_offset_get(), Mesh::faces_num, blender::draw::DRWSubdivCache::fdots_patch_coords, get_blender_patch_coords_format(), blender::draw::DRWSubdivCache::gpu_patch_map, gpu_vertbuf_create_from_format(), make_patch_coord(), blender::draw::DRWSubdivCache::may_have_loose_geom, MEM_SAFE_FREE, blender::draw::DRWSubdivCache::num_coarse_faces, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::draw::DRWCacheBuildingContext::patch_coords, blender::draw::DRWSubdivCache::patch_coords, blender::bke::subdiv::ToMeshSettings::resolution, blender::draw::DRWSubdivCache::resolution, SubsurfRuntimeData::resolution, blender::draw::DRWCacheBuildingContext::settings, size(), blender::draw::DRWSubdivCache::subdiv_face_offset, blender::draw::DRWSubdivCache::subdiv_face_offset_buffer, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_vert_index, blender::bke::subdiv::ToMeshSettings::use_optimal_display, and blender::draw::DRWCacheBuildingContext::vert_origindex_map.
Referenced by draw_subdiv_create_requested_buffers().
| void blender::draw::draw_subdiv_build_edge_fac_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos_nor, | ||
| gpu::VertBuf * | edge_draw_flag, | ||
| gpu::VertBuf * | poly_other_map, | ||
| gpu::VertBuf * | edge_fac ) |
Definition at line 1891 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and SHADER_BUFFER_EDGE_FAC.
Referenced by extract_edge_factor_subdiv().
| void blender::draw::draw_subdiv_build_edituv_stretch_angle_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos_nor, | ||
| gpu::VertBuf * | uvs, | ||
| int | uvs_offset, | ||
| gpu::VertBuf * | stretch_angles ) |
Definition at line 1975 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and SHADER_BUFFER_UV_STRETCH_ANGLE.
Referenced by extract_edituv_stretch_angle_subdiv().
| void blender::draw::draw_subdiv_build_edituv_stretch_area_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | coarse_data, | ||
| gpu::VertBuf * | subdiv_data ) |
Definition at line 1949 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, SHADER_BUFFER_UV_STRETCH_AREA, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_edituv_stretch_area_subdiv().
| void blender::draw::draw_subdiv_build_fdots_buffers | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | fdots_pos, | ||
| gpu::VertBuf * | fdots_nor, | ||
| gpu::IndexBuf * | fdots_indices ) |
Definition at line 1776 of file draw_cache_impl_subdivision.cc.
References BLI_assert, create_buffer_and_interface(), draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::bke::subdiv::Subdiv::evaluator, blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::fdots_patch_coords, OpenSubdiv_Evaluator::fillPatchArraysBuffer, get_patch_array_format(), get_patch_evaluation_shader(), get_patch_index_format(), get_patch_param_format(), get_subdiv_vertex_format(), GPU_BARRIER_ELEMENT_ARRAY, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), blender::draw::DRWSubdivCache::gpu_patch_map, GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), GPU_vertbuf_discard(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_coarse_faces, opensubdiv_gpu_buffer_init(), blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, SHADER_PATCH_EVALUATION_FACE_DOTS, SHADER_PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS, blender::draw::DRWSubdivCache::subdiv, blender::draw::DRWSubdivCache::verts_orig_index, OpenSubdiv_Evaluator::wrapPatchIndexBuffer, OpenSubdiv_Evaluator::wrapPatchParamBuffer, and OpenSubdiv_Evaluator::wrapSrcBuffer.
Referenced by extract_face_dots_subdiv().
| void blender::draw::draw_subdiv_build_lines_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::IndexBuf * | lines_indices ) |
Definition at line 1849 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::edges_draw_flag, blender::draw::DRWSubdivCache::extra_coarse_face_data, get_subdiv_shader(), GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, SHADER_BUFFER_LINES, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_lines_subdiv().
| void blender::draw::draw_subdiv_build_lines_loose_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::IndexBuf * | lines_indices, | ||
| gpu::VertBuf * | lines_flags, | ||
| uint | edge_loose_offset, | ||
| uint | num_loose_edges ) |
Definition at line 1870 of file draw_cache_impl_subdivision.cc.
References drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), and SHADER_BUFFER_LINES_LOOSE.
Referenced by extract_lines_loose_geom_subdiv().
| void blender::draw::draw_subdiv_build_lnor_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos_nor, | ||
| gpu::VertBuf * | lnor ) |
Definition at line 1916 of file draw_cache_impl_subdivision.cc.
References BLI_assert, draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, get_subdiv_shader(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, SHADER_BUFFER_LNOR, blender::draw::DRWSubdivCache::subdiv_face_offset_buffer, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_normals_subdiv().
| gpu::VertBuf * blender::draw::draw_subdiv_build_origindex_buffer | ( | int * | vert_origindex, |
| uint | num_loops ) |
Definition at line 576 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_origindex_buffer(), and GPU_vertbuf_calloc().
Referenced by draw_subdiv_build_cache(), draw_subdiv_cache_ensure_mat_offsets(), and extract_positions_subdiv().
| void blender::draw::draw_subdiv_build_sculpt_data_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | mask_vbo, | ||
| gpu::VertBuf * | face_set_vbo, | ||
| gpu::VertBuf * | sculpt_data ) |
Definition at line 1630 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and SHADER_BUFFER_SCULPT_DATA.
Referenced by extract_sculpt_data_subdiv().
| void blender::draw::draw_subdiv_build_tris_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::IndexBuf * | subdiv_tris, | ||
| const int | material_count ) |
Definition at line 1737 of file draw_cache_impl_subdivision.cc.
References BLI_assert, draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::face_mat_offset, get_subdiv_shader(), GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, SHADER_BUFFER_TRIS, SHADER_BUFFER_TRIS_MULTIPLE_MATERIALS, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_tris_subdiv().
|
static |
For material assignments we want indices for triangles that share a common material to be laid out contiguously in memory. To achieve this, we sort the indices based on which material the coarse face was assigned. The sort is performed by offsetting the loops indices so that they are directly assigned to the right sorted indices.
The offsets are computed not based on the loops indices, but on the number of subdivided polygons for each coarse face. We then only store a single offset for each coarse face, since all sub-faces are contiguous, they all share the same offset.
Definition at line 2037 of file draw_cache_impl_subdivision.cc.
References Geometry::attributes, draw_subdiv_build_origindex_buffer(), draw_subdiv_cache_free_material_data(), blender::bke::Face, blender::draw::DRWSubdivCache::face_mat_offset, Mesh::faces_num, blender::draw::DRWSubdivCache::mat_end, blender::draw::DRWSubdivCache::mat_start, MEM_callocN, MEM_dupallocN, MEM_freeN(), MEM_mallocN, blender::draw::DRWSubdivCache::num_subdiv_loops, and blender::draw::DRWSubdivCache::subdiv_face_offset.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 731 of file draw_cache_impl_subdivision.cc.
References bm, BM_elem_flag_test, BM_elem_index_get, BM_ELEM_SMOOTH, BM_FACES_OF_MESH, BM_ITER_MESH, compute_coarse_face_flag_bm(), flag, BMFace::l_first, SUBDIV_COARSE_FACE_FLAG_OFFSET, and SUBDIV_COARSE_FACE_FLAG_SMOOTH.
Referenced by draw_subdiv_cache_update_extra_coarse_face_data().
|
static |
Definition at line 771 of file draw_cache_impl_subdivision.cc.
References bm, bm_original_face_get(), compute_coarse_face_flag_bm(), draw_subdiv_cache_extra_coarse_face_data_mesh(), blender::draw::MeshRenderData::efa_act, blender::bke::Face, flag, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::normals_domain, blender::draw::MeshRenderData::sharp_faces, SUBDIV_COARSE_FACE_FLAG_OFFSET, and SUBDIV_COARSE_FACE_FLAG_SMOOTH.
Referenced by draw_subdiv_cache_update_extra_coarse_face_data().
|
static |
Definition at line 749 of file draw_cache_impl_subdivision.cc.
References blender::bke::Face, flag, blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::normals_domain, blender::draw::MeshRenderData::select_poly, blender::draw::MeshRenderData::sharp_faces, SUBDIV_COARSE_FACE_FLAG_HIDDEN, SUBDIV_COARSE_FACE_FLAG_OFFSET, SUBDIV_COARSE_FACE_FLAG_SELECT, and SUBDIV_COARSE_FACE_FLAG_SMOOTH.
Referenced by draw_subdiv_cache_extra_coarse_face_data_mapped(), and draw_subdiv_cache_update_extra_coarse_face_data().
| void blender::draw::draw_subdiv_cache_free | ( | DRWSubdivCache & | cache | ) |
Definition at line 661 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::corner_patch_coords, draw_patch_map_free(), draw_subdiv_cache_free_material_data(), draw_subdiv_free_edit_mode_cache(), blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::face_ptex_offset_buffer, blender::draw::DRWSubdivCache::gpu_patch_map, GPU_uniformbuf_free(), GPU_VERTBUF_DISCARD_SAFE, blender::draw::DRWSubdivCache::loose_edge_positions, blender::draw::DRWSubdivCache::may_have_loose_geom, MEM_SAFE_FREE, blender::draw::DRWSubdivCache::num_coarse_faces, blender::draw::DRWSubdivCache::num_subdiv_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::num_subdiv_triangles, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::draw::DRWSubdivCache::patch_coords, blender::draw::DRWSubdivCache::resolution, blender::draw::DRWSubdivCache::subdiv_face_offset, blender::draw::DRWSubdivCache::subdiv_face_offset_buffer, blender::draw::DRWSubdivCache::subdiv_loop_face_index, blender::draw::DRWSubdivCache::subdiv_loop_subdiv_edge_index, blender::draw::DRWSubdivCache::subdiv_loop_subdiv_vert_index, blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency, blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency_offsets, and blender::draw::DRWSubdivCache::ubo.
Referenced by draw_subdiv_build_cache(), and mesh_batch_cache_free_subdiv_cache().
|
static |
Definition at line 646 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::face_mat_offset, GPU_VERTBUF_DISCARD_SAFE, blender::draw::DRWSubdivCache::mat_end, blender::draw::DRWSubdivCache::mat_start, and MEM_SAFE_FREE.
Referenced by draw_subdiv_cache_ensure_mat_offsets(), and draw_subdiv_cache_free().
|
static |
Definition at line 641 of file draw_cache_impl_subdivision.cc.
References blender::bke::subdiv::Subdiv::evaluator, blender::draw::DRWSubdivCache::num_subdiv_loops, and blender::draw::DRWSubdivCache::subdiv.
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_extract_uvs(), and draw_subdiv_interp_custom_data().
|
static |
Definition at line 796 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::bm, blender::gpu::VertBuf::data(), draw_subdiv_cache_extra_coarse_face_data_bm(), draw_subdiv_cache_extra_coarse_face_data_mapped(), draw_subdiv_cache_extra_coarse_face_data_mesh(), blender::draw::MeshRenderData::efa_act, blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::MeshRenderData::extract_type, GPU_COMP_U32, GPU_FETCH_INT, GPU_USAGE_DYNAMIC, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format_ex(), GPU_vertbuf_tag_dirty(), GPU_vertformat_attr_add(), MR_EXTRACT_BMESH, blender::draw::MeshRenderData::orig_index_face, and BMesh::totface.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 2104 of file draw_cache_impl_subdivision.cc.
References BKE_object_get_editmesh_eval_final(), BKE_subsurf_modifier_subdiv_descriptor_ensure(), BLI_assert, blender::draw::DRWSubdivCache::bm, bm, blender::draw::MeshBufferCache::buff, CD_CUSTOMLOOPNORMAL, Mesh::corner_data, CustomData_has_layer(), draw_subdiv_build_cache(), draw_subdiv_cache_ensure_mat_offsets(), draw_subdiv_cache_update_extra_coarse_face_data(), draw_subdiv_invalidate_evaluator_for_orco(), DRW_ibo_requested(), blender::bke::subdiv::eval_begin_from_mesh(), Mesh::faces_num, SubsurfRuntimeData::has_gpu_subdiv, blender::draw::DRWSubdivCache::hide_unmapped_edges, blender::draw::MeshBufferList::ibo, blender::draw::DRWSubdivCache::is_edit_mode, blender::bke::subdiv::Settings::level, blender::draw::MeshBatchCache::mat_len, blender::draw::DRWSubdivCache::mesh, mesh, mesh_batch_cache_ensure_subdiv_cache(), mesh_buffer_cache_create_requested_subdiv(), mesh_render_data_create(), blender::draw::DRWSubdivCache::num_subdiv_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::num_subdiv_triangles, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::draw::DRWSubdivCache::optimal_display, SubsurfRuntimeData::settings, SubsurfRuntimeData::stats_faces_num, SubsurfRuntimeData::stats_totedge, SubsurfRuntimeData::stats_totloop, SubsurfRuntimeData::stats_totvert, blender::draw::DRWSubdivCache::subdiv, blender::bke::subdiv::SUBDIV_EVALUATOR_TYPE_GPU, SubsurfRuntimeData::subdiv_gpu, blender::draw::MeshBufferList::tris, tris_count_from_number_of_loops(), blender::draw::DRWSubdivCache::use_custom_loop_normals, blender::draw::DRWSubdivCache::use_hide, SubsurfRuntimeData::use_loop_normals, and SubsurfRuntimeData::use_optimal_display.
Referenced by DRW_create_subdivision().
|
static |
Definition at line 1032 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWCacheBuildingContext::cache, blender::draw::DRWCacheBuildingContext::edge_draw_flag_map, blender::draw::DRWCacheBuildingContext::edge_origindex_map, blender::draw::DRWSubdivCache::hide_unmapped_edges, blender::draw::DRWSubdivCache::optimal_display, blender::draw::DRWCacheBuildingContext::orig_index_edge, ORIGINDEX_NONE, and blender::bke::subdiv::ForeachContext::user_data.
Referenced by draw_subdiv_foreach_callbacks().
| void blender::draw::draw_subdiv_extract_pos_nor | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | flags_buffer, | ||
| gpu::VertBuf * | pos_nor, | ||
| gpu::VertBuf * | orco ) |
Definition at line 1444 of file draw_cache_impl_subdivision.cc.
References BLI_assert, create_buffer_and_interface(), draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::bke::subdiv::Subdiv::evaluator, OpenSubdiv_Evaluator::fillPatchArraysBuffer, get_patch_array_format(), get_patch_evaluation_shader(), get_patch_index_format(), get_patch_param_format(), get_subdiv_vertex_format(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), blender::draw::DRWSubdivCache::gpu_patch_map, GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), GPU_vertbuf_discard(), GPU_VERTBUF_DISCARD_SAFE, MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::patch_coords, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, SHADER_PATCH_EVALUATION, SHADER_PATCH_EVALUATION_ORCO, blender::draw::DRWSubdivCache::subdiv, blender::draw::DRWSubdivCache::verts_orig_index, OpenSubdiv_Evaluator::wrapPatchIndexBuffer, OpenSubdiv_Evaluator::wrapPatchParamBuffer, OpenSubdiv_Evaluator::wrapSrcBuffer, and OpenSubdiv_Evaluator::wrapSrcVertexDataBuffer.
Referenced by extract_edituv_stretch_angle_subdiv(), and extract_positions_subdiv().
| void blender::draw::draw_subdiv_extract_uvs | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | uvs, | ||
| const int | face_varying_channel, | ||
| const int | dst_offset ) |
Definition at line 1526 of file draw_cache_impl_subdivision.cc.
References BLI_assert, OpenSubdiv_Buffer::buffer_offset, blender::draw::DRWSubdivCache::corner_patch_coords, create_buffer_and_interface(), draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::bke::subdiv::Subdiv::evaluator, OpenSubdiv_Evaluator::fillFVarPatchArraysBuffer, get_patch_array_format(), get_patch_evaluation_shader(), get_patch_index_format(), get_patch_param_format(), get_uvs_format(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), blender::draw::DRWSubdivCache::gpu_patch_map, GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), GPU_vertbuf_discard(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, SHADER_PATCH_EVALUATION_FVAR, blender::draw::DRWSubdivCache::subdiv, blender::draw::DRWSubdivCache::verts_orig_index, OpenSubdiv_Evaluator::wrapFVarPatchIndexBuffer, OpenSubdiv_Evaluator::wrapFVarPatchParamBuffer, and OpenSubdiv_Evaluator::wrapFVarSrcBuffer.
Referenced by extract_uv_maps_subdiv().
| void blender::draw::draw_subdiv_finalize_custom_normals | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | src_custom_normals, | ||
| gpu::VertBuf * | pos_nor ) |
Definition at line 1712 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and SHADER_BUFFER_CUSTOM_NORMALS_FINALIZE.
Referenced by extract_positions_subdiv().
| void blender::draw::draw_subdiv_finalize_normals | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | vert_normals, | ||
| gpu::VertBuf * | subdiv_loop_subdiv_vert_index, | ||
| gpu::VertBuf * | pos_nor ) |
Definition at line 1687 of file draw_cache_impl_subdivision.cc.
References BLI_assert, drw_subdiv_compute_dispatch(), get_subdiv_shader(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and SHADER_BUFFER_NORMALS_FINALIZE.
Referenced by extract_positions_subdiv().
|
static |
Definition at line 1092 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_edge_cb(), draw_subdiv_loop_cb(), draw_subdiv_topology_info_cb(), draw_subdiv_vertex_corner_cb(), draw_subdiv_vertex_edge_cb(), blender::bke::subdiv::ForeachContext::edge, blender::bke::subdiv::ForeachContext::loop, blender::bke::subdiv::ForeachContext::topology_info, blender::bke::subdiv::ForeachContext::vertex_corner, and blender::bke::subdiv::ForeachContext::vertex_edge.
Referenced by do_subdiv_traversal().
|
static |
Definition at line 653 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::edges_draw_flag, blender::draw::DRWSubdivCache::edges_orig_index, blender::draw::DRWSubdivCache::fdots_patch_coords, GPU_VERTBUF_DISCARD_SAFE, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by draw_subdiv_cache_free().
| const GPUVertFormat & blender::draw::draw_subdiv_get_pos_nor_format | ( | ) |
Return the format used for the positions and normals VBO.
Definition at line 478 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_edituv_stretch_angle_subdiv(), and extract_positions_subdiv().
| void blender::draw::draw_subdiv_init_origindex_buffer | ( | gpu::VertBuf & | buffer, |
| int32_t * | vert_origindex, | ||
| uint | num_loops, | ||
| uint | loose_len ) |
Definition at line 565 of file draw_cache_impl_subdivision.cc.
References blender::gpu::VertBuf::data(), get_origindex_format(), GPU_USAGE_STATIC, GPU_vertbuf_data_alloc(), and GPU_vertbuf_init_with_format_ex().
Referenced by draw_subdiv_build_origindex_buffer(), extract_edge_index_subdiv(), extract_face_index_subdiv(), and extract_vert_index_subdiv().
|
static |
Definition at line 1329 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivUboStorage::coarse_face_active_mask, blender::draw::DRWSubdivUboStorage::coarse_face_count, blender::draw::DRWSubdivUboStorage::coarse_face_hidden_mask, blender::draw::DRWSubdivUboStorage::coarse_face_loopstart_mask, blender::draw::DRWSubdivUboStorage::coarse_face_select_mask, blender::draw::DRWSubdivUboStorage::coarse_face_smooth_mask, blender::draw::DRWSubdivUboStorage::dst_offset, blender::draw::DRWSubdivUboStorage::edge_loose_offset, blender::draw::DRWSubdivCache::gpu_patch_map, blender::draw::DRWSubdivUboStorage::has_sculpt_mask, blender::draw::DRWSubdivCache::is_edit_mode, blender::draw::DRWSubdivUboStorage::is_edit_mode, blender::draw::DRWPatchMap::max_depth, blender::draw::DRWSubdivUboStorage::max_depth, blender::draw::DRWPatchMap::max_patch_face, blender::draw::DRWSubdivUboStorage::max_patch_face, blender::draw::DRWPatchMap::min_patch_face, blender::draw::DRWSubdivUboStorage::min_patch_face, blender::draw::DRWSubdivCache::num_coarse_faces, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivUboStorage::num_subdiv_loops, blender::draw::DRWPatchMap::patches_are_triangular, blender::draw::DRWSubdivUboStorage::patches_are_triangular, blender::draw::DRWSubdivUboStorage::src_offset, SUBDIV_COARSE_FACE_FLAG_ACTIVE_MASK, SUBDIV_COARSE_FACE_FLAG_HIDDEN_MASK, SUBDIV_COARSE_FACE_FLAG_SELECT_MASK, SUBDIV_COARSE_FACE_FLAG_SMOOTH_MASK, SUBDIV_COARSE_FACE_LOOP_START_MASK, blender::draw::DRWSubdivUboStorage::total_dispatch_size, blender::draw::DRWSubdivCache::use_hide, and blender::draw::DRWSubdivUboStorage::use_hide.
Referenced by draw_subdiv_ubo_update_and_bind().
| void blender::draw::draw_subdiv_interp_custom_data | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf & | src_data, | ||
| gpu::VertBuf & | dst_data, | ||
| int | comp_type, | ||
| int | dimensions, | ||
| int | dst_offset ) |
Definition at line 1595 of file draw_cache_impl_subdivision.cc.
References BLI_assert, blender::draw::DRWSubdivCache::corner_patch_coords, draw_subdiv_cache_need_face_data(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::face_ptex_offset_buffer, get_subdiv_custom_data_shader(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), MAX_GPU_SUBDIV_SSBOS, blender::draw::DRWSubdivCache::num_subdiv_quads, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_positions_subdiv(), extract_sculpt_data_subdiv(), extract_tangents_subdiv(), and extract_weights_subdiv().
|
static |
Definition at line 838 of file draw_cache_impl_subdivision.cc.
References CD_ORCO, CustomData_has_layer(), blender::bke::subdiv::Subdiv::evaluator, OpenSubdiv_Evaluator::hasVertexData, openSubdiv_deleteEvaluator(), and blender::bke::subdiv::Subdiv::topology_refiner.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 1069 of file draw_cache_impl_subdivision.cc.
References make_patch_coord(), blender::draw::DRWCacheBuildingContext::patch_coords, blender::draw::DRWCacheBuildingContext::subdiv_loop_face_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_edge_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_vert_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_vert_index, blender::bke::subdiv::ForeachContext::user_data, v, and blender::draw::DRWCacheBuildingContext::vert_origindex_map.
Referenced by draw_subdiv_foreach_callbacks().
|
static |
Definition at line 901 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWCacheBuildingContext::cache, CD_ORIGINDEX, blender::draw::DRWCacheBuildingContext::coarse_mesh, blender::draw::DRWSubdivCache::corner_patch_coords, CustomData_get_layer(), blender::gpu::VertBuf::data(), data, Mesh::edge_data, blender::draw::DRWCacheBuildingContext::edge_draw_flag_map, blender::draw::DRWCacheBuildingContext::edge_origindex_map, blender::draw::DRWSubdivCache::edges_draw_flag, blender::draw::DRWSubdivCache::edges_orig_index, get_blender_patch_coords_format(), get_origindex_format(), GPU_USAGE_DYNAMIC, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format_ex(), blender::draw::DRWSubdivCache::may_have_loose_geom, MEM_callocN, MEM_dupallocN, MEM_mallocN, blender::draw::DRWSubdivCache::num_subdiv_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::draw::DRWCacheBuildingContext::orig_index_edge, blender::draw::DRWCacheBuildingContext::orig_index_vert, blender::draw::DRWCacheBuildingContext::patch_coords, blender::draw::DRWSubdivCache::patch_coords, blender::draw::DRWSubdivCache::subdiv_face_offset, blender::draw::DRWCacheBuildingContext::subdiv_loop_edge_draw_flag, blender::draw::DRWCacheBuildingContext::subdiv_loop_edge_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_face_index, blender::draw::DRWSubdivCache::subdiv_loop_face_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_edge_index, blender::draw::DRWSubdivCache::subdiv_loop_subdiv_edge_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_subdiv_vert_index, blender::draw::DRWSubdivCache::subdiv_loop_subdiv_vert_index, blender::draw::DRWCacheBuildingContext::subdiv_loop_vert_index, blender::bke::subdiv::ForeachContext::user_data, Mesh::vert_data, blender::draw::DRWCacheBuildingContext::vert_origindex_map, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by draw_subdiv_foreach_callbacks().
|
static |
Definition at line 1357 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_ubo_storage(), GPU_shader_get_ubo_binding(), GPU_uniformbuf_bind(), GPU_uniformbuf_create_ex(), GPU_uniformbuf_update(), and blender::draw::DRWSubdivCache::ubo.
Referenced by drw_subdiv_compute_dispatch().
|
static |
Definition at line 1004 of file draw_cache_impl_subdivision.cc.
References BLI_assert, ORIGINDEX_NONE, blender::bke::subdiv::ForeachContext::user_data, and blender::draw::DRWCacheBuildingContext::vert_origindex_map.
Referenced by draw_subdiv_foreach_callbacks().
|
static |
Definition at line 1019 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_foreach_callbacks().
|
static |
Definition at line 1287 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBufferList::attr, batch, DRW_vbo_request(), blender::draw::DRW_Attributes::num_requests, and blender::draw::MeshBufferList::vbo.
Referenced by DRW_mesh_batch_cache_create_requested().
| void blender::draw::drw_attributes_add_request | ( | DRW_Attributes * | attrs, |
| const char * | name, | ||
| const eCustomDataType | type, | ||
| const int | layer_index, | ||
| const blender::bke::AttrDomain | domain ) |
Definition at line 71 of file draw_attributes.cc.
References blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::DRW_AttributeRequest::cd_type, blender::draw::DRW_AttributeRequest::domain, drw_attributes_has_request(), GPU_MAX_ATTR, blender::draw::DRW_AttributeRequest::layer_index, blender::draw::DRW_Attributes::num_requests, blender::draw::DRW_Attributes::requests, and STRNCPY.
Referenced by DRW_pointcloud_evaluated_attribute(), ensure_attributes(), mesh_cd_calc_used_gpu_layers(), pointcloud_surface_shaded_get(), request_active_and_default_color_attributes(), and request_attribute().
| void blender::draw::drw_attributes_clear | ( | DRW_Attributes * | attributes | ) |
Definition at line 46 of file draw_attributes.cc.
Referenced by discard_attributes(), DRW_curves_batch_cache_free_old(), DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_free_old(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_get_attributes(), DRW_pointcloud_batch_cache_free_old(), ensure_attributes(), pointcloud_discard_attributes(), and pointcloud_surface_shaded_get().
|
static |
Definition at line 15 of file draw_attributes.cc.
References blender::draw::DRW_AttributeRequest::cd_type, blender::draw::DRW_AttributeRequest::domain, blender::draw::DRW_AttributeRequest::layer_index, blender::draw::DRW_Attributes::num_requests, and blender::draw::DRW_Attributes::requests.
Referenced by drw_attributes_add_request(), drw_attributes_merge_requests(), and drw_attributes_overlap().
| void blender::draw::drw_attributes_merge | ( | DRW_Attributes * | dst, |
| const DRW_Attributes * | src, | ||
| std::mutex & | render_mutex ) |
Definition at line 51 of file draw_attributes.cc.
References drw_attributes_merge_requests(), lock, and blender::draw::DRW_Attributes::num_requests.
Referenced by DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_get_surface_sculpt(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_batch_cache_get_surface_vertpaint(), DRW_pointcloud_evaluated_attribute(), ensure_attributes(), pointcloud_surface_shaded_get(), and request_attribute().
|
static |
Definition at line 29 of file draw_attributes.cc.
References drw_attributes_has_request(), GPU_MAX_ATTR, blender::draw::DRW_Attributes::num_requests, and blender::draw::DRW_Attributes::requests.
Referenced by drw_attributes_merge().
| bool blender::draw::drw_attributes_overlap | ( | const DRW_Attributes * | a, |
| const DRW_Attributes * | b ) |
Definition at line 60 of file draw_attributes.cc.
References b, and drw_attributes_has_request().
Referenced by DRW_curves_batch_cache_free_old(), DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_free_old(), DRW_pointcloud_batch_cache_free_old(), ensure_attributes(), and pointcloud_surface_shaded_get().
Definition at line 3425 of file draw_cache.cc.
References Object::data, DRW_curves_batch_cache_free_old(), DRW_mesh_batch_cache_free_old(), DRW_pointcloud_batch_cache_free_old(), OB_CURVES, OB_MESH, OB_POINTCLOUD, and Object::type.
| void blender::draw::DRW_cache_free_old_subdiv | ( | ) |
Definition at line 2329 of file draw_cache_impl_subdivision.cc.
References BLI_linklist_pop(), BLI_mutex_lock(), BLI_mutex_unlock(), DRW_cache_free_old_subdiv(), blender::bke::subdiv::Subdiv::evaluator, gpu_subdiv_free_queue, gpu_subdiv_queue_mutex, OPENSUBDIV_EVALUATOR_CPU, and OpenSubdiv_Evaluator::type.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_free().
| void blender::draw::DRW_cache_gpencil_sbuffer_clear | ( | Object * | ob | ) |
Sbuffer batches are temporary. We need to clear it after drawing.
Definition at line 118 of file draw_cache_impl_gpencil_legacy.cc.
References Object::data, GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, MEM_SAFE_FREE, bGPdata::runtime, bGPdata_Runtime::sbuffer_batch, bGPdata_Runtime::sbuffer_color_buf, bGPdata_Runtime::sbuffer_gps, and bGPdata_Runtime::sbuffer_position_buf.
| gpu::VertBuf * blender::draw::DRW_cache_grease_pencil_color_buffer_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1495 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_color_buffer_get(), grease_pencil_batch_cache_get(), grease_pencil_geom_batch_ensure(), and blender::draw::GreasePencilBatchCache::vbo_col.
Referenced by blender::draw::overlay::GreasePencil::draw_grease_pencil(), and DRW_cache_grease_pencil_color_buffer_get().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_edit_lines_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1477 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_edit_lines_get(), blender::draw::GreasePencilBatchCache::edit_lines, grease_pencil_batch_cache_get(), and grease_pencil_edit_batch_ensure().
Referenced by DRW_cache_grease_pencil_edit_lines_get(), and blender::draw::overlay::GreasePencil::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_edit_points_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1468 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_edit_points_get(), blender::draw::GreasePencilBatchCache::edit_points, grease_pencil_batch_cache_get(), and grease_pencil_edit_batch_ensure().
Referenced by DRW_cache_grease_pencil_edit_points_get(), and blender::draw::overlay::GreasePencil::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_face_wireframe_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1522 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_face_wireframe_get(), grease_pencil_batch_cache_get(), grease_pencil_wire_batch_ensure(), and blender::draw::GreasePencilBatchCache::lines_batch.
Referenced by DRW_cache_grease_pencil_face_wireframe_get(), and blender::draw::overlay::Wireframe::object_sync().
Definition at line 1459 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_get(), blender::draw::GreasePencilBatchCache::geom_batch, grease_pencil_batch_cache_get(), and grease_pencil_geom_batch_ensure().
Referenced by blender::draw::overlay::GreasePencil::draw_grease_pencil(), and DRW_cache_grease_pencil_get().
| gpu::VertBuf * blender::draw::DRW_cache_grease_pencil_position_buffer_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1486 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_position_buffer_get(), grease_pencil_batch_cache_get(), grease_pencil_geom_batch_ensure(), and blender::draw::GreasePencilBatchCache::vbo.
Referenced by blender::draw::overlay::GreasePencil::draw_grease_pencil(), and DRW_cache_grease_pencil_position_buffer_get().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_weight_lines_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1513 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_weight_lines_get(), blender::draw::GreasePencilBatchCache::edit_lines, grease_pencil_batch_cache_get(), and grease_pencil_weight_batch_ensure().
Referenced by DRW_cache_grease_pencil_weight_lines_get(), and blender::draw::overlay::GreasePencil::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_weight_points_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1504 of file draw_cache_impl_grease_pencil.cc.
References Object::data, DRW_cache_grease_pencil_weight_points_get(), blender::draw::GreasePencilBatchCache::edit_points, grease_pencil_batch_cache_get(), and grease_pencil_weight_batch_ensure().
Referenced by DRW_cache_grease_pencil_weight_points_get(), and blender::draw::overlay::GreasePencil::edit_object_sync().
| blender::gpu::Batch * blender::draw::DRW_cache_volume_face_wireframe_get | ( | Object * | ob | ) |
Definition at line 3086 of file draw_cache.cc.
References BLI_assert, Object::data, DRW_volume_batch_cache_get_wireframes_face(), OB_VOLUME, and Object::type.
Referenced by blender::draw::overlay::Wireframe::object_sync().
| blender::gpu::Batch * blender::draw::DRW_cache_volume_selection_surface_get | ( | Object * | ob | ) |
Definition at line 3092 of file draw_cache.cc.
References BLI_assert, Object::data, DRW_volume_batch_cache_get_selection_surface(), OB_VOLUME, and Object::type.
Referenced by blender::draw::overlay::Outline::object_sync(), and blender::draw::overlay::Prepass::object_sync().
| void blender::draw::DRW_create_subdivision | ( | Object & | ob, |
| Mesh & | mesh, | ||
| MeshBatchCache & | batch_cache, | ||
| MeshBufferCache & | mbc, | ||
| const bool | is_editmode, | ||
| const bool | is_paint_mode, | ||
| const bool | edit_mode_active, | ||
| const float4x4 & | object_to_world, | ||
| const bool | do_final, | ||
| const bool | do_uvedit, | ||
| const bool | do_cage, | ||
| const ToolSettings * | ts, | ||
| const bool | use_hide ) |
Definition at line 2256 of file draw_cache_impl_subdivision.cc.
References BLI_time_now_seconds(), draw_subdiv_create_requested_buffers(), DRW_create_subdivision(), g_evaluator_cache, openSubdiv_createEvaluatorCache(), and OPENSUBDIV_EVALUATOR_GPU.
Referenced by DRW_create_subdivision(), and DRW_mesh_batch_cache_create_requested().
Definition at line 833 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::attr_viewer, blender::draw::CurveBatchCache::batch, BLI_assert, CU_DATATYPE_NORMAL, CU_DATATYPE_OVERLAY, CU_DATATYPE_WIRE, curve_batch_cache_get(), curve_create_attribute(), curve_create_curves_lines(), curve_create_curves_pos(), curve_create_edit_curves_nor(), curve_create_edit_data_and_handles(), curve_render_data_create(), curve_render_data_free(), blender::draw::CurveBatchCache::curves, blender::draw::CurveBatchCache::curves_lines, blender::draw::CurveBatchCache::curves_nor, blender::draw::CurveBatchCache::curves_pos, blender::draw::CurveBatchCache::curves_viewer_attribute, blender::draw::CurveBatchCache::data, Object::data, DRW_ADD_FLAG_FROM_IBO_REQUEST, DRW_ADD_FLAG_FROM_VBO_REQUEST, DRW_batch_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_vbo_request(), DRW_vbo_requested(), blender::draw::CurveBatchCache::edit, blender::draw::CurveBatchCache::edit_edges, blender::draw::CurveBatchCache::edit_lines, blender::draw::CurveBatchCache::edit_normals, blender::draw::CurveBatchCache::edit_verts, ELEM, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, blender::draw::CurveBatchCache::ibo, Object::id, ID::name, OB_CURVES_LEGACY, OB_FONT, OB_SURF, blender::draw::CurveBatchCache::ordered, blender::draw::CurveBatchCache::pos, printf, Object::runtime, and Object::type.
Definition at line 399 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, Curve::batch_cache, BKE_CURVE_BATCH_DIRTY_ALL, BKE_CURVE_BATCH_DIRTY_SELECT, BLI_assert, blender::draw::CurveBatchCache::data, blender::draw::CurveBatchCache::edit, blender::draw::CurveBatchCache::edit_edges, blender::draw::CurveBatchCache::edit_verts, GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, and blender::draw::CurveBatchCache::is_dirty.
| void blender::draw::DRW_curve_batch_cache_free | ( | Curve * | cu | ) |
Definition at line 445 of file draw_cache_impl_curve.cc.
References Curve::batch_cache, curve_batch_cache_clear(), and MEM_SAFE_FREE.
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_edges | ( | Curve * | cu | ) |
Definition at line 810 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and blender::draw::CurveBatchCache::edit_edges.
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_verts | ( | Curve * | cu | ) |
Definition at line 816 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and blender::draw::CurveBatchCache::edit_verts.
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_normal_edge | ( | Curve * | cu | ) |
Definition at line 804 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), DRW_batch_request(), and blender::draw::CurveBatchCache::edit_normals.
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge | ( | Curve * | cu | ) |
Definition at line 792 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), blender::draw::CurveBatchCache::curves, and DRW_batch_request().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge_viewer_attribute | ( | Curve * | cu | ) |
Definition at line 798 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), blender::draw::CurveBatchCache::curves_viewer_attribute, and DRW_batch_request().
| void blender::draw::DRW_curve_batch_cache_validate | ( | Curve * | cu | ) |
Definition at line 386 of file draw_cache_impl_curve.cc.
References curve_batch_cache_clear(), curve_batch_cache_init(), and curve_batch_cache_valid().
Definition at line 822 of file draw_cache_impl_curve.cc.
References max_ii(), and Curve::totcol.
| void blender::draw::DRW_curves_batch_cache_create_requested | ( | Object * | ob | ) |
Definition at line 1053 of file draw_cache_impl_curves.cc.
References calc_edit_handles_ibo(), blender::index_mask::IndexMask::complement(), create_edit_lines_ibo(), create_edit_points_position_and_data(), create_edit_points_position_vbo(), create_edit_points_selection(), create_sculpt_cage_ibo(), CURVE_TYPE_BEZIER, blender::bke::CurvesGeometry::curve_type_counts(), blender::bke::CurvesGeometry::curve_types(), blender::bke::CurvesGeometry::curves_range(), Object::data, DEG_get_original_object(), DRW_batch_requested(), DRW_curves_batch_cache_create_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_vbo_request(), DRW_vbo_requested(), blender::draw::CurvesBatchCache::edit_curves_lines, blender::draw::CurvesBatchCache::edit_curves_lines_ibo, blender::draw::CurvesBatchCache::edit_curves_lines_pos, blender::draw::CurvesBatchCache::edit_handles, blender::draw::CurvesBatchCache::edit_handles_ibo, blender::draw::CurvesBatchCache::edit_points, blender::draw::CurvesBatchCache::edit_points_data, blender::draw::CurvesBatchCache::edit_points_pos, blender::draw::CurvesBatchCache::edit_points_selection, Curves::geometry, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, blender::bke::CurvesGeometry::points_by_curve(), blender::draw::CurvesBatchCache::sculpt_cage, blender::draw::CurvesBatchCache::sculpt_cage_ibo, and blender::index_mask::IndexMask::size().
Referenced by DRW_curves_batch_cache_create_requested().
Definition at line 888 of file draw_cache_impl_curves.cc.
References BKE_CURVES_BATCH_DIRTY_ALL, BLI_assert_unreachable, DRW_curves_batch_cache_dirty_tag(), and blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_curves_batch_cache_dirty_tag().
| void blender::draw::DRW_curves_batch_cache_free | ( | Curves * | curves | ) |
Definition at line 911 of file draw_cache_impl_curves.cc.
References clear_batch_cache(), and DRW_curves_batch_cache_free().
Referenced by DRW_curves_batch_cache_free().
Definition at line 919 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attr_used_over_time, discard_attributes(), drw_attributes_clear(), drw_attributes_overlap(), DRW_curves_batch_cache_free_old(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, and blender::draw::CurvesEvalFinalCache::last_attr_matching_time.
Referenced by DRW_batch_cache_free_old(), and DRW_curves_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_handles | ( | Curves * | curves | ) |
Definition at line 962 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), DRW_curves_batch_cache_get_edit_curves_handles(), blender::draw::CurvesBatchCache::edit_handles, and get_batch_cache().
Referenced by DRW_curves_batch_cache_get_edit_curves_handles(), and blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_lines | ( | Curves * | curves | ) |
Definition at line 968 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), DRW_curves_batch_cache_get_edit_curves_lines(), blender::draw::CurvesBatchCache::edit_curves_lines, and get_batch_cache().
Referenced by DRW_curves_batch_cache_get_edit_curves_lines(), and blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_points | ( | Curves * | curves | ) |
Definition at line 950 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), DRW_curves_batch_cache_get_edit_points(), blender::draw::CurvesBatchCache::edit_points, and get_batch_cache().
Referenced by DRW_curves_batch_cache_get_edit_points(), and blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_sculpt_curves_cage | ( | Curves * | curves | ) |
Definition at line 956 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), DRW_curves_batch_cache_get_sculpt_curves_cage(), get_batch_cache(), and blender::draw::CurvesBatchCache::sculpt_cage.
Referenced by blender::draw::overlay::Sculpts::curves_sync(), and DRW_curves_batch_cache_get_sculpt_curves_cage().
| void blender::draw::DRW_curves_batch_cache_validate | ( | Curves * | curves | ) |
Definition at line 903 of file draw_cache_impl_curves.cc.
References batch_cache_is_dirty(), clear_batch_cache(), DRW_curves_batch_cache_validate(), and init_batch_cache().
Referenced by DRW_curves_batch_cache_validate(), and get_batch_cache().
|
static |
Definition at line 172 of file draw_curves.cc.
References curves_ensure_procedural_data(), drw_curves_cache_update_compute(), and update().
Referenced by curves_sub_pass_setup_implementation(), DRW_curves_pos_buffer_get(), and DRW_shgroup_curves_create_sub().
|
static |
Definition at line 117 of file draw_curves.cc.
References DRW_shgroup_buffer_texture(), DRW_shgroup_uniform_int(), blender::draw::CurvesEvalCache::final, blender::draw::CurvesEvalCache::proc_strand_buf, blender::draw::CurvesEvalCache::proc_strand_seg_buf, and blender::draw::CurvesEvalFinalCache::resolution.
Referenced by drw_curves_cache_update_compute().
|
static |
Definition at line 150 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, blender::bke::Curve, blender::draw::CurvesEvalCache::curves_num, blender::draw::DRW_AttributeRequest::domain, drw_curves_cache_update_compute(), blender::draw::CurvesEvalCache::final, blender::draw::DRW_Attributes::num_requests, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalCache::proc_point_buf, blender::draw::DRW_Attributes::requests, and blender::draw::CurvesEvalFinalCache::resolution.
|
static |
Definition at line 127 of file draw_curves.cc.
References BLI_assert, CURVES_EVAL_CATMULL_ROM, drw_curves_cache_shgrp_attach_resources(), DRW_shader_curves_refine_get(), DRW_shgroup_call_compute(), DRW_shgroup_create(), DRW_shgroup_create_sub(), DRW_shgroup_uniform_int_copy(), DRW_shgroup_vertex_buffer, blender::draw::CurvesEvalCache::final, g_tf_pass, GPU_max_work_group_count(), and blender::draw::CurvesEvalFinalCache::resolution.
Referenced by drw_curves_cache_get(), and drw_curves_cache_update_compute().
|
static |
Definition at line 77 of file draw_curves.cc.
References g_dummy_vbo, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_attr_fill(), GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertbuf_use(), and GPU_vertformat_attr_add().
Referenced by DRW_curves_init().
| void blender::draw::DRW_curves_free | ( | ) |
Definition at line 367 of file draw_curves.cc.
References DRW_hair_free(), g_dummy_vbo, and GPU_VERTBUF_DISCARD_SAFE.
| void blender::draw::drw_curves_get_attribute_sampler_name | ( | const char * | layer_name, |
| char | r_sampler_name[32] ) |
Definition at line 827 of file draw_cache_impl_curves.cc.
References BLI_snprintf(), drw_curves_get_attribute_sampler_name(), GPU_MAX_SAFE_ATTR_NAME, and GPU_vertformat_safe_attr_name().
Referenced by curves_sub_pass_setup_implementation(), drw_curves_get_attribute_sampler_name(), DRW_shgroup_curves_create_sub(), ensure_final_attribute(), and point_cloud_sub_pass_setup_implementation().
| void blender::draw::DRW_curves_init | ( | DRWData * | drw_data | ) |
Definition at line 96 of file draw_curves.cc.
References DRWData::curves_ubos, drw_curves_ensure_dummy_vbo(), DRW_hair_init(), DRW_pass_create(), and g_tf_pass.
Definition at line 945 of file draw_cache_impl_curves.cc.
References DRW_curves_material_count_get(), and max_ii().
Referenced by DRW_curves_material_count_get().
| gpu::VertBuf * blender::draw::DRW_curves_pos_buffer_get | ( | Object * | object | ) |
Definition at line 187 of file draw_curves.cc.
References DRW_context_state_get(), drw_curves_cache_get(), blender::draw::CurvesEvalCache::final, RenderData::hair_subdiv, blender::draw::CurvesEvalFinalCache::proc_buf, Scene::r, SCE_HAIR_SHAPE_STRAND, and DRWContextState::scene.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| gpu::VertBuf ** blender::draw::DRW_curves_texture_for_evaluated_attribute | ( | Curves * | curves, |
| const char * | name, | ||
| bool * | r_is_point_domain ) |
Provide GPU access to a specific evaluated attribute on curves.
Definition at line 974 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::CurvesEvalFinalCache::attributes_buf, BLI_assert_unreachable, blender::draw::DRW_AttributeRequest::domain, DRW_curves_texture_for_evaluated_attribute(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, get_batch_cache(), blender::draw::DRW_Attributes::num_requests, blender::draw::CurvesEvalCache::proc_attributes_buf, request_attribute(), blender::draw::DRW_Attributes::requests, and STREQ.
Referenced by blender::draw::overlay::Sculpts::curves_sync(), and DRW_curves_texture_for_evaluated_attribute().
| void blender::draw::DRW_curves_ubos_pool_free | ( | CurvesUniformBufPool * | pool | ) |
Definition at line 112 of file draw_curves.cc.
| void blender::draw::DRW_curves_update | ( | ) |
Definition at line 346 of file draw_curves.cc.
References DRW_draw_pass(), DRW_hair_update(), DRW_view_create(), DRW_view_default_get(), DRW_view_default_set(), DRW_view_get_active(), DRW_view_set_active(), g_tf_pass, GPU_BARRIER_SHADER_STORAGE, GPU_memory_barrier(), blender::MatBase< float, 4, 4 >::identity(), and ptr.
Referenced by blender::eevee::Instance::render_sync().
| bool blender::draw::drw_custom_data_match_attribute | ( | const CustomData & | custom_data, |
| const char * | name, | ||
| int * | r_layer_index, | ||
| eCustomDataType * | r_type ) |
Definition at line 91 of file draw_attributes.cc.
References ARRAY_SIZE, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, and CustomData_get_named_layer().
Referenced by DRW_pointcloud_evaluated_attribute(), ensure_attributes(), mesh_cd_calc_used_gpu_layers(), pointcloud_surface_shaded_get(), and request_active_and_default_color_attributes().
| void blender::draw::DRW_gpencil_batch_cache_dirty_tag | ( | bGPdata * | gpd | ) |
Definition at line 100 of file draw_cache_impl_gpencil_legacy.cc.
References bGPdata::flag, and GP_DATA_CACHE_IS_DIRTY.
| void blender::draw::DRW_gpencil_batch_cache_free | ( | bGPdata * | gpd | ) |
Definition at line 105 of file draw_cache_impl_gpencil_legacy.cc.
References bGPdata::flag, GP_DATA_CACHE_IS_DIRTY, gpencil_batch_cache_clear(), bGPdata_Runtime::gpencil_cache, MEM_SAFE_FREE, and bGPdata::runtime.
| void blender::draw::DRW_grease_pencil_batch_cache_dirty_tag | ( | GreasePencil * | grase_pencil, |
| int | mode ) |
Definition at line 1426 of file draw_cache_impl_grease_pencil.cc.
References BKE_GREASEPENCIL_BATCH_DIRTY_ALL, BLI_assert, BLI_assert_unreachable, DRW_grease_pencil_batch_cache_dirty_tag(), blender::draw::GreasePencilBatchCache::is_dirty, and GreasePencil::runtime.
Referenced by DRW_grease_pencil_batch_cache_dirty_tag().
| void blender::draw::DRW_grease_pencil_batch_cache_free | ( | GreasePencil * | grase_pencil | ) |
Definition at line 1452 of file draw_cache_impl_grease_pencil.cc.
References DRW_grease_pencil_batch_cache_free(), grease_pencil_batch_cache_clear(), and GreasePencil::runtime.
Referenced by DRW_grease_pencil_batch_cache_free().
| void blender::draw::DRW_grease_pencil_batch_cache_validate | ( | GreasePencil * | grase_pencil | ) |
Definition at line 1443 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, DRW_grease_pencil_batch_cache_validate(), grease_pencil_batch_cache_clear(), grease_pencil_batch_cache_init(), grease_pencil_batch_cache_valid(), and GreasePencil::runtime.
Referenced by DRW_grease_pencil_batch_cache_validate().
Definition at line 280 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache, BKE_LATTICE_BATCH_DIRTY_ALL, BKE_LATTICE_BATCH_DIRTY_SELECT, BLI_assert, GPU_BATCH_DISCARD_SAFE, blender::draw::LatticeBatchCache::is_dirty, and blender::draw::LatticeBatchCache::overlay_verts.
| void blender::draw::DRW_lattice_batch_cache_free | ( | Lattice * | lt | ) |
Definition at line 314 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache, lattice_batch_cache_clear(), and MEM_SAFE_FREE.
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_edges | ( | Lattice * | lt, |
| bool | use_weight, | ||
| int | actdef ) |
Definition at line 462 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeBatchCache::all_edges, GPU_batch_create, GPU_PRIM_LINES, lattice_batch_cache_get(), lattice_batch_cache_get_edges(), lattice_batch_cache_get_pos(), lattice_render_data_create(), lattice_render_data_free(), LR_DATATYPE_EDGE, and LR_DATATYPE_VERT.
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_verts | ( | Lattice * | lt | ) |
Definition at line 481 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeBatchCache::all_verts, GPU_batch_create, GPU_PRIM_POINTS, lattice_batch_cache_get(), lattice_batch_cache_get_pos(), lattice_render_data_create(), lattice_render_data_free(), and LR_DATATYPE_VERT.
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_edit_verts | ( | Lattice * | lt | ) |
Definition at line 497 of file draw_cache_impl_lattice.cc.
References lattice_batch_cache_create_overlay_batches(), lattice_batch_cache_get(), and blender::draw::LatticeBatchCache::overlay_verts.
| void blender::draw::DRW_lattice_batch_cache_validate | ( | Lattice * | lt | ) |
Definition at line 267 of file draw_cache_impl_lattice.cc.
References lattice_batch_cache_clear(), lattice_batch_cache_init(), and lattice_batch_cache_valid().
|
static |
Definition at line 1298 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, BLI_assert, BLI_task_graph_work_and_wait(), blender::draw::MeshBufferCache::buff, blender::draw::MeshBatchCache::cage, DRW_batch_requested(), DRW_ibo_requested(), DRW_vbo_requested(), blender::draw::MeshBatchCache::final, blender::draw::MeshBufferList::ibo, MBC_BATCH_LEN, MBC_IBO_LEN, MBC_VBO_LEN, mesh_batch_cache_get(), blender::draw::MeshBatchCache::uv_cage, and blender::draw::MeshBufferList::vbo.
Referenced by DRW_mesh_batch_cache_create_requested().
| void blender::draw::DRW_mesh_batch_cache_create_requested | ( | TaskGraph & | task_graph, |
| Object & | ob, | ||
| Mesh & | mesh, | ||
| const Scene & | scene, | ||
| bool | is_paint_mode, | ||
| bool | use_hide ) |
Can be called for any surface type. Mesh *mesh is the final mesh.
TODO: The code and data structure is ready to support modified UV display but the selection code for UVs needs to support it first. So for now, only display the cage in all cases.
TODO: The code and data structure is ready to support modified UV display but the selection code for UVs needs to support it first. So for now, only display the cage in all cases.
Definition at line 1330 of file draw_cache_impl_mesh.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), blender::draw::MeshBatchList::all_edges, blender::draw::MeshBatchList::all_verts, blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::attr_used, blender::draw::MeshBatchCache::attr_used_over_time, blender::draw::MeshBufferList::attr_viewer, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBatchCache::batch_requested, batches_that_use_buffer(), BKE_object_get_editmesh_eval_cage(), BKE_object_get_editmesh_eval_final(), BKE_subsurf_modifier_has_gpu_subdiv(), BLI_assert, BLI_task_graph_work_and_wait(), blender::draw::MeshBufferCache::buff, BUFFER_INDEX, blender::draw::MeshBatchCache::cage, blender::draw::MeshBatchCache::cd_needed, CD_ORCO, blender::draw::MeshBatchCache::cd_used, blender::draw::MeshBatchCache::cd_used_over_time, CustomData_get_layer(), drw_add_attributes_vbo(), drw_attributes_clear(), drw_attributes_merge(), drw_attributes_overlap(), DRW_batch_requested(), DRW_create_subdivision(), DRW_ibo_request(), drw_mesh_batch_cache_check_available(), drw_mesh_weight_state_clear(), drw_mesh_weight_state_copy(), drw_mesh_weight_state_extract(), DRW_object_is_in_edit_mode(), DRW_vbo_request(), blender::draw::MeshBatchList::edge_detection, blender::draw::MeshBufferList::edge_fac, blender::draw::MeshBufferList::edge_idx, blender::draw::MeshBufferList::edit_data, blender::draw::MeshBatchList::edit_edges, blender::draw::MeshBatchList::edit_fdots, blender::draw::MeshBatchList::edit_lnor, blender::draw::MeshBatchList::edit_mesh_analysis, blender::draw::MeshBatchList::edit_selection_edges, blender::draw::MeshBatchList::edit_selection_faces, blender::draw::MeshBatchList::edit_selection_fdots, blender::draw::MeshBatchList::edit_selection_verts, blender::draw::MeshBatchList::edit_skin_roots, blender::draw::MeshBatchList::edit_triangles, blender::draw::MeshBatchList::edit_vertices, blender::draw::MeshBatchList::edit_vnor, blender::draw::MeshBufferList::edituv_data, blender::draw::MeshBatchList::edituv_edges, blender::draw::MeshBatchList::edituv_faces, blender::draw::MeshBatchList::edituv_faces_stretch_angle, blender::draw::MeshBatchList::edituv_faces_stretch_area, blender::draw::MeshBatchList::edituv_fdots, blender::draw::MeshBufferList::edituv_fdots, blender::draw::MeshBufferList::edituv_lines, blender::draw::MeshBufferList::edituv_points, blender::draw::MeshBufferList::edituv_stretch_angle, blender::draw::MeshBufferList::edituv_stretch_area, blender::draw::MeshBufferList::edituv_tris, blender::draw::MeshBatchList::edituv_verts, blender::draw::MeshBufferList::face_idx, blender::draw::MeshBufferList::fdot_idx, blender::draw::MeshBufferList::fdots, blender::draw::MeshBufferList::fdots_edituv_data, blender::draw::MeshBufferList::fdots_nor, blender::draw::MeshBufferList::fdots_pos, blender::draw::MeshBufferList::fdots_uv, blender::draw::MeshBatchCache::final, FOREACH_MESH_BUFFER_CACHE, GPU_BATCH_CLEAR_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_MAX_ATTR, GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_VERTBUF_DISCARD_SAFE, blender::draw::MeshBufferList::ibo, blender::draw::MeshBatchCache::is_uvsyncsel, blender::draw::MeshBufferList::lines, blender::draw::MeshBufferList::lines_adjacency, blender::draw::MeshBufferList::lines_loose, blender::draw::MeshBufferList::lines_paint_mask, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::draw::MeshBatchList::loose_edges, blender::draw::MeshBatchCache::mat_len, MBC_ALL_EDGES, MBC_ALL_VERTS, MBC_EDGE_DETECTION, MBC_EDIT_EDGES, MBC_EDIT_FACEDOTS, MBC_EDIT_LNOR, MBC_EDIT_MESH_ANALYSIS, MBC_EDIT_SELECTION_EDGES, MBC_EDIT_SELECTION_FACEDOTS, MBC_EDIT_SELECTION_FACES, MBC_EDIT_SELECTION_VERTS, MBC_EDIT_TRIANGLES, MBC_EDIT_VERTICES, MBC_EDIT_VNOR, MBC_EDITUV, MBC_EDITUV_EDGES, MBC_EDITUV_FACEDOTS, MBC_EDITUV_FACES, MBC_EDITUV_FACES_STRETCH_ANGLE, MBC_EDITUV_FACES_STRETCH_AREA, MBC_EDITUV_VERTS, MBC_LOOSE_EDGES, MBC_SCULPT_OVERLAYS, MBC_SKIN_ROOTS, MBC_SURFACE, MBC_SURFACE_PER_MAT, MBC_SURFACE_WEIGHTS, MBC_VIEWER_ATTRIBUTE_OVERLAY, MBC_WIRE_EDGES, MBC_WIRE_LOOPS, MBC_WIRE_LOOPS_UVS, ME_WRAPPER_TYPE_BMESH, mesh, blender::draw::MeshBufferList::mesh_analysis, mesh_batch_cache_check_vertex_group(), mesh_batch_cache_free_subdiv_cache(), mesh_batch_cache_get(), mesh_buffer_cache_create_requested(), mesh_cd_layers_type_clear(), mesh_cd_layers_type_merge(), mesh_cd_layers_type_overlap(), Object::mode, blender::draw::MeshBufferList::nor, OB_MESH, OB_MODE_EDIT, blender::draw::DRW_MeshCDMask::orco, blender::draw::MeshBufferList::orco, blender::bke::object::pbvh_get(), blender::draw::MeshBufferList::points, blender::draw::MeshBufferList::pos, Mesh::runtime, Object::sculpt, blender::draw::MeshBufferList::sculpt_data, blender::draw::DRW_MeshCDMask::sculpt_overlays, blender::draw::MeshBatchList::sculpt_overlays, blender::draw::MeshBufferList::skin_roots, blender::draw::MeshBatchList::surface, blender::draw::MeshBatchCache::surface_per_mat, blender::draw::MeshBatchList::surface_viewer_attribute, blender::draw::MeshBatchList::surface_weights, blender::draw::DRW_MeshCDMask::tan, blender::draw::MeshBufferList::tan, blender::draw::DRW_MeshCDMask::tan_orco, blender::draw::MeshBufferList::tris, blender::draw::MeshBatchCache::tris_per_mat, TRIS_PER_MAT_INDEX, Object::type, blender::bke::pbvh::update_normals_from_eval(), blender::draw::DRW_MeshCDMask::uv, blender::draw::MeshBufferList::uv, blender::draw::MeshBatchCache::uv_cage, ToolSettings::uv_flag, UV_SYNC_SELECTION, blender::draw::MeshBufferList::vbo, Mesh::vert_data, blender::draw::MeshBufferList::vert_idx, blender::draw::MeshBufferList::vnor, blender::draw::MeshBatchCache::weight_state, blender::draw::MeshBufferList::weights, blender::draw::MeshBatchList::wire_edges, blender::draw::MeshBatchList::wire_loops, and blender::draw::MeshBatchList::wire_loops_uvs.
| void blender::draw::DRW_mesh_batch_cache_dirty_tag | ( | Mesh * | mesh, |
| eMeshBatchDirtyMode | mode ) |
Definition at line 724 of file draw_cache_impl_mesh.cc.
References BATCH_MAP, BKE_MESH_BATCH_DIRTY_ALL, BKE_MESH_BATCH_DIRTY_SELECT, BKE_MESH_BATCH_DIRTY_SELECT_PAINT, BKE_MESH_BATCH_DIRTY_SHADING, BKE_MESH_BATCH_DIRTY_UVEDIT_ALL, BKE_MESH_BATCH_DIRTY_UVEDIT_SELECT, BLI_assert, FOREACH_MESH_BUFFER_CACHE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::MeshBatchCache::is_dirty, mesh_batch_cache_discard_batch(), mesh_batch_cache_discard_shaded_tri(), mesh_batch_cache_discard_uvedit(), and mesh_batch_cache_discard_uvedit_select().
| void blender::draw::DRW_mesh_batch_cache_free | ( | void * | batch_cache | ) |
Definition at line 833 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_clear().
Thread safety need to be assured by caller. Don't call this during drawing.
Definition at line 1263 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_used, blender::draw::MeshBatchCache::attr_used_over_time, blender::draw::MeshBatchCache::cd_used, blender::draw::MeshBatchCache::cd_used_over_time, drw_attributes_clear(), drw_attributes_overlap(), blender::draw::MeshBatchCache::lastmatch, mesh_batch_cache_discard_shaded_tri(), mesh_cd_layers_type_clear(), and mesh_cd_layers_type_equal().
Referenced by DRW_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_edges | ( | Mesh & | mesh | ) |
Definition at line 891 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_edges, blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_ALL_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_verts | ( | Mesh & | mesh | ) |
Definition at line 884 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_verts, blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_ALL_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edge_detection | ( | Mesh & | mesh, |
| bool * | r_is_manifold ) |
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edges_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 1149 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_edges, MBC_EDIT_SELECTION_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_edges | ( | Mesh & | mesh | ) |
Definition at line 1087 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_edges, MBC_EDIT_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_facedots | ( | Mesh & | mesh | ) |
Definition at line 1115 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_fdots, MBC_EDIT_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_loop_normals | ( | Mesh & | mesh | ) |
Definition at line 1108 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_lnor, MBC_EDIT_LNOR, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_mesh_analysis | ( | Mesh & | mesh | ) |
Definition at line 943 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_mesh_analysis, MBC_EDIT_MESH_ANALYSIS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_skin_roots | ( | Mesh & | mesh | ) |
Definition at line 1122 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_skin_roots, MBC_SKIN_ROOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_triangles | ( | Mesh & | mesh | ) |
Definition at line 1080 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_triangles, MBC_EDIT_TRIANGLES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_vert_normals | ( | Mesh & | mesh | ) |
Definition at line 1101 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_vnor, MBC_EDIT_VNOR, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_vertices | ( | Mesh & | mesh | ) |
Definition at line 1094 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_vertices, MBC_EDIT_VERTICES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
Definition at line 1217 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edituv_edges, edituv_request_active_uv(), MBC_EDITUV_EDGES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_facedots | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1233 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edituv_fdots, edituv_request_active_uv(), MBC_EDITUV_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
Definition at line 1209 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces, edituv_request_active_uv(), MBC_EDITUV_FACES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces_stretch_angle | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1201 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces_stretch_angle, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_ANGLE, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces_stretch_area | ( | Object & | object, |
| Mesh & | mesh, | ||
| float ** | tot_area, | ||
| float ** | tot_uv_area ) |
Creates the #blender::gpu::Batch for drawing the UV Stretching Area Overlay. Optional retrieves the total area or total uv area of the mesh.
The cache->tot_area and cache->tot_uv_areaupdate are calculation are only valid after callingDRW_mesh_batch_cache_create_requested`.
Definition at line 1183 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces_stretch_area, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_AREA, mesh_batch_cache_add_request(), mesh_batch_cache_get(), blender::draw::MeshBatchCache::tot_area, and blender::draw::MeshBatchCache::tot_uv_area.
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
Definition at line 1225 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), blender::draw::MeshBatchList::edituv_verts, MBC_EDITUV_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_facedots_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 1142 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_fdots, MBC_EDIT_SELECTION_FACEDOTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_loose_edges | ( | Mesh & | mesh | ) |
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_sculpt_overlays | ( | Mesh & | mesh | ) |
Definition at line 1037 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::cd_needed, DRW_batch_request(), MBC_SCULPT_OVERLAYS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), blender::draw::DRW_MeshCDMask::sculpt_overlays, and blender::draw::MeshBatchList::sculpt_overlays.
Referenced by blender::draw::overlay::Sculpts::mesh_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface | ( | Mesh & | mesh | ) |
Definition at line 898 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), and blender::draw::MeshBatchList::surface.
Definition at line 1249 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_WIRE_LOOPS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), texpaint_request_active_uv(), and blender::draw::MeshBatchList::wire_loops.
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_sculpt | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1019 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), request_active_and_default_color_attributes(), and blender::draw::MeshBatchList::surface.
| gpu::Batch ** blender::draw::DRW_mesh_batch_cache_get_surface_shaded | ( | Object & | object, |
| Mesh & | mesh, | ||
| GPUMaterial ** | gpumat_array, | ||
| uint | gpumat_array_len ) |
Definition at line 971 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, BLI_assert, blender::draw::MeshBatchCache::cd_needed, blender::Array< T, InlineBufferCapacity, Allocator >::data(), drw_attributes_clear(), drw_attributes_merge(), blender::draw::MeshBatchCache::mat_len, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), mesh_cd_calc_used_gpu_layers(), mesh_cd_layers_type_merge(), and blender::draw::MeshBatchCache::surface_per_mat.
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_texpaint_single | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 998 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), blender::draw::MeshBatchList::surface, and texpaint_request_active_uv().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_vertpaint | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1006 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), request_active_and_default_color_attributes(), and blender::draw::MeshBatchList::surface.
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_viewer_attribute | ( | Mesh & | mesh | ) |
Definition at line 1048 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_VIEWER_ATTRIBUTE_OVERLAY, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::surface_viewer_attribute.
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_weights | ( | Mesh & | mesh | ) |
Definition at line 917 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_SURFACE_WEIGHTS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::surface_weights.
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_triangles_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 1135 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_faces, MBC_EDIT_SELECTION_FACES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Definition at line 1241 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_UVS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::wire_loops_uvs.
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_verts_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 1156 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_verts, MBC_EDIT_SELECTION_VERTS, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_wireframes_face | ( | Mesh & | mesh | ) |
Definition at line 936 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), MBC_WIRE_EDGES, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::wire_edges.
| gpu::VertBuf * blender::draw::DRW_mesh_batch_cache_pos_vertbuf_get | ( | Mesh & | mesh | ) |
Definition at line 1064 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBufferCache::buff, DRW_vbo_request(), blender::draw::MeshBatchCache::final, mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), blender::draw::MeshBufferList::pos, and blender::draw::MeshBufferList::vbo.
Definition at line 606 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_clear(), mesh_batch_cache_init(), and mesh_batch_cache_valid().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
|
static |
Definition at line 455 of file draw_cache_impl_mesh.cc.
Referenced by drw_mesh_weight_state_compare().
| void blender::draw::DRW_mesh_get_attributes | ( | const Object & | object, |
| const Mesh & | mesh, | ||
| const GPUMaterial *const * | gpumat_array, | ||
| int | gpumat_array_len, | ||
| DRW_Attributes * | r_attrs, | ||
| DRW_MeshCDMask * | r_cd_needed ) |
Definition at line 950 of file draw_cache_impl_mesh.cc.
References drw_attributes_clear(), and mesh_cd_calc_used_gpu_layers().
Referenced by sculpt_batches_per_material_get().
Definition at line 1032 of file draw_cache_impl_mesh.cc.
References mesh_render_mat_len_get().
|
static |
Reset the selection structure, deallocating heap memory as appropriate.
Definition at line 422 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshWeightState::defgroup_active, blender::draw::DRW_MeshWeightState::defgroup_locked, blender::draw::DRW_MeshWeightState::defgroup_sel, blender::draw::DRW_MeshWeightState::defgroup_unlocked, and MEM_SAFE_FREE.
Referenced by DRW_mesh_batch_cache_create_requested(), mesh_batch_cache_check_vertex_group(), mesh_batch_cache_clear(), and mesh_batch_cache_init().
|
static |
Compare two selection structures.
Definition at line 462 of file draw_cache_impl_mesh.cc.
References b, and drw_mesh_flags_equal().
Referenced by mesh_batch_cache_check_vertex_group().
|
static |
Copy selection data from one structure to another, including heap memory.
Definition at line 434 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshWeightState::defgroup_locked, blender::draw::DRW_MeshWeightState::defgroup_sel, blender::draw::DRW_MeshWeightState::defgroup_unlocked, MEM_dupallocN, and MEM_SAFE_FREE.
Referenced by DRW_mesh_batch_cache_create_requested().
|
static |
Definition at line 473 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshWeightState::alert_mode, ToolSettings::auto_normalize, BKE_object_defgroup_check_lock_relative(), BKE_object_defgroup_check_lock_relative_multi(), BKE_object_defgroup_lock_flags_get(), BKE_object_defgroup_mirror_selection(), BKE_object_defgroup_selected_get(), BKE_object_defgroup_split_locked_validmap(), BKE_object_defgroup_validmap_get(), BLI_listbase_count(), blender::draw::DRW_MeshWeightState::defgroup_active, blender::draw::DRW_MeshWeightState::defgroup_len, blender::draw::DRW_MeshWeightState::defgroup_locked, blender::draw::DRW_MeshWeightState::defgroup_sel, blender::draw::DRW_MeshWeightState::defgroup_sel_count, blender::draw::DRW_MeshWeightState::defgroup_unlocked, DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE, DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE, DRW_MESH_WEIGHT_STATE_MULTIPAINT, blender::draw::DRW_MeshWeightState::flags, ME_USING_MIRROR_X_VERTEX_GROUPS, MEM_SAFE_FREE, ToolSettings::multipaint, ToolSettings::weightuser, and ToolSettings::wpaint_lock_relative.
Referenced by DRW_mesh_batch_cache_create_requested().
| void blender::draw::DRW_particle_batch_cache_dirty_tag | ( | ParticleSystem * | psys, |
| int | mode ) |
Definition at line 155 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, BKE_PARTICLE_BATCH_DIRTY_ALL, BLI_assert, and blender::draw::ParticleBatchCache::is_dirty.
| void blender::draw::DRW_particle_batch_cache_free | ( | ParticleSystem * | psys | ) |
Definition at line 231 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, MEM_SAFE_FREE, and particle_batch_cache_clear().
|
static |
Definition at line 1501 of file draw_cache_impl_particles.cc.
References DEG_get_original_object(), DRWContextState::depsgraph, DRW_context_state_get(), blender::draw::ParticleDrawSource::edit, blender::draw::ParticleDrawSource::md, blender::draw::ParticleDrawSource::object, blender::draw::ParticleDrawSource::psys, psys_in_edit_mode(), and psys_orig_get().
Referenced by DRW_particles_batch_cache_get_hair(), and particles_ensure_procedural_data().
|
static |
Definition at line 1480 of file draw_cache_impl_particles.cc.
References DEG_get_original_id(), DEG_get_original_object(), DRWContextState::depsgraph, DRW_context_state_get(), drw_particle_update_ptcache_edit(), Scene::id, Object::mode, OB_MODE_PARTICLE_EDIT, PE_create_current(), and DRWContextState::scene.
Referenced by DRW_particles_batch_cache_get_hair(), and particles_ensure_procedural_data().
|
static |
Definition at line 1452 of file draw_cache_impl_particles.cc.
References DAG_EVAL_RENDER, DEG_get_ctime(), DEG_get_mode(), DEG_get_original_id(), DEG_get_original_object(), depsgraph, DRWContextState::depsgraph, DRW_context_state_get(), ParticleSystem::flag, Scene::id, PTCacheEdit::pathcache, PE_update_object(), PTCacheEdit::psys, psys_cache_edit_paths(), PSYS_HAIR_UPDATED, and DRWContextState::scene.
Referenced by drw_particle_update_ptcache(), DRW_particles_batch_cache_get_edit_inner_points(), DRW_particles_batch_cache_get_edit_strands(), and DRW_particles_batch_cache_get_edit_tip_points().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_dots | ( | Object * | object, |
| ParticleSystem * | psys ) |
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_inner_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 1647 of file draw_cache_impl_particles.cc.
References drw_particle_update_ptcache_edit(), blender::draw::ParticleBatchCache::edit_inner_points, blender::draw::ParticleBatchCache::edit_inner_pos, ensure_edit_inner_points_count(), GPU_batch_create, GPU_PRIM_POINTS, particle_batch_cache_ensure_edit_inner_pos(), and particle_batch_cache_get().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_strands | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit, | ||
| bool | use_weight ) |
Definition at line 1580 of file draw_cache_impl_particles.cc.
References drw_particle_update_ptcache_edit(), blender::draw::ParticleBatchCache::edit_hair, blender::draw::ParticleBatchCache::edit_is_weight, ensure_seg_pt_count(), GPU_batch_create, GPU_BATCH_DISCARD_SAFE, GPU_PRIM_LINE_STRIP, GPU_VERTBUF_DISCARD_SAFE, ParticleHairCache::hairs, ParticleHairCache::indices, particle_batch_cache_ensure_edit_pos_and_seg(), particle_batch_cache_get(), and ParticleHairCache::pos.
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_tip_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 1704 of file draw_cache_impl_particles.cc.
References drw_particle_update_ptcache_edit(), blender::draw::ParticleBatchCache::edit_tip_points, blender::draw::ParticleBatchCache::edit_tip_pos, ensure_edit_tip_points_count(), GPU_batch_create, GPU_PRIM_POINTS, particle_batch_cache_ensure_edit_tip_pos(), and particle_batch_cache_get().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_hair | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| ModifierData * | md ) |
Definition at line 1518 of file draw_cache_impl_particles.cc.
References drw_particle_get_hair_source(), drw_particle_update_ptcache(), blender::draw::ParticleDrawSource::edit, ensure_seg_pt_count(), GPU_batch_create, GPU_PRIM_LINE_STRIP, blender::draw::ParticleBatchCache::hair, ParticleHairCache::hairs, ParticleHairCache::indices, blender::draw::ParticleDrawSource::md, particle_batch_cache_ensure_pos_and_seg(), particle_batch_cache_get(), ParticleHairCache::pos, and blender::draw::ParticleDrawSource::psys.
| void blender::draw::DRW_pointcloud_batch_cache_create_requested | ( | Object * | ob | ) |
Definition at line 427 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attributes_buf, Object::data, blender::draw::PointCloudEvalCache::dots, DRW_batch_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_pointcloud_batch_cache_create_requested(), DRW_vbo_request(), DRW_vbo_requested(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::geom_indices, GPU_PRIM_POINTS, GPU_PRIM_TRIS, blender::draw::PointCloudEvalCache::mat_len, blender::draw::DRW_Attributes::num_requests, pointcloud_batch_cache_get(), pointcloud_extract_attribute(), pointcloud_extract_indices(), pointcloud_extract_position_and_radius(), blender::draw::PointCloudEvalCache::pos_rad, blender::draw::DRW_Attributes::requests, blender::draw::PointCloudEvalCache::surface, and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by DRW_pointcloud_batch_cache_create_requested().
| void blender::draw::DRW_pointcloud_batch_cache_dirty_tag | ( | PointCloud * | pointcloud, |
| int | mode ) |
Definition at line 128 of file draw_cache_impl_pointcloud.cc.
References BKE_POINTCLOUD_BATCH_DIRTY_ALL, BLI_assert, blender::draw::PointCloudBatchCache::is_dirty, and pointcloud_batch_cache_get().
| void blender::draw::DRW_pointcloud_batch_cache_free | ( | PointCloud * | pointcloud | ) |
Definition at line 183 of file draw_cache_impl_pointcloud.cc.
References PointCloud::batch_cache, and pointcloud_batch_cache_clear().
| void blender::draw::DRW_pointcloud_batch_cache_free_old | ( | PointCloud * | pointcloud, |
| int | ctime ) |
Definition at line 190 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attr_used_over_time, drw_attributes_clear(), drw_attributes_overlap(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::last_attr_matching_time, pointcloud_batch_cache_get(), and pointcloud_discard_attributes().
Referenced by DRW_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_dots | ( | Object * | ob | ) |
Definition at line 383 of file draw_cache_impl_pointcloud.cc.
References Object::data, blender::draw::PointCloudEvalCache::dots, DRW_batch_request(), DRW_pointcloud_batch_cache_get_dots(), blender::draw::PointCloudBatchCache::eval_cache, and pointcloud_batch_cache_get().
Referenced by DRW_pointcloud_batch_cache_get_dots(), and blender::draw::overlay::Wireframe::object_sync().
| void blender::draw::DRW_pointcloud_batch_cache_validate | ( | PointCloud * | pointcloud | ) |
Definition at line 175 of file draw_cache_impl_pointcloud.cc.
References pointcloud_batch_cache_clear(), pointcloud_batch_cache_init(), and pointcloud_batch_cache_valid().
| gpu::VertBuf ** blender::draw::DRW_pointcloud_evaluated_attribute | ( | PointCloud * | pointcloud, |
| const char * | name ) |
Definition at line 396 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::PointCloudEvalCache::attributes_buf, drw_attributes_add_request(), drw_attributes_merge(), drw_custom_data_match_attribute(), DRW_pointcloud_evaluated_attribute(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::DRW_Attributes::num_requests, PointCloud::pdata, pointcloud_batch_cache_get(), blender::draw::PointCloudBatchCache::render_mutex, blender::draw::DRW_Attributes::requests, and STREQ.
Referenced by DRW_pointcloud_evaluated_attribute(), and point_cloud_sub_pass_setup_implementation().
| void blender::draw::DRW_pointcloud_free | ( | ) |
Definition at line 100 of file draw_pointcloud.cc.
References g_dummy_vbo, and GPU_VERTBUF_DISCARD_SAFE.
| void blender::draw::DRW_pointcloud_init | ( | ) |
Definition at line 38 of file draw_pointcloud.cc.
References g_dummy_vbo, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_attr_fill(), GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), and GPU_vertformat_attr_add().
| int blender::draw::DRW_pointcloud_material_count_get | ( | const PointCloud * | pointcloud | ) |
Definition at line 422 of file draw_cache_impl_pointcloud.cc.
References DRW_pointcloud_material_count_get(), max_ii(), and PointCloud::totcol.
Referenced by DRW_pointcloud_material_count_get(), pointcloud_batch_cache_init(), and pointcloud_batch_cache_valid().
| gpu::VertBuf * blender::draw::DRW_pointcloud_position_and_radius_buffer_get | ( | Object * | ob | ) |
Definition at line 390 of file draw_cache_impl_pointcloud.cc.
References Object::data, DRW_pointcloud_position_and_radius_buffer_get(), and pointcloud_position_and_radius_get().
Referenced by DRW_pointcloud_position_and_radius_buffer_get(), and blender::eevee::VelocityModule::step_object_sync().
| DRWShadingGroup * blender::draw::DRW_shgroup_curves_create_sub | ( | Object * | object, |
| DRWShadingGroup * | shgrp, | ||
| GPUMaterial * | gpu_material ) |
Definition at line 221 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, attribute_index_in_material(), blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::CurvesEvalFinalCache::attributes_buf, CD_PROP_FLOAT2, blender::draw::DRW_AttributeRequest::cd_type, blender::bke::Curve, CurvesGeometry::curve_data, DRWData::curves_ubos, CustomData_get_render_layer(), CustomData_has_layer(), blender::draw::DRW_AttributeRequest::domain, DRW_context_state_get(), drw_curves_cache_get(), drw_curves_get_attribute_sampler_name(), DRW_shgroup_add_material_resources(), DRW_shgroup_buffer_texture(), DRW_shgroup_call_no_cull, DRW_shgroup_create_sub(), DRW_shgroup_uniform_block, DRW_shgroup_uniform_bool_copy(), DRW_shgroup_uniform_float_copy(), DRW_shgroup_uniform_int(), DRW_shgroup_uniform_int_copy(), DRW_shgroup_uniform_mat4_copy(), DST, blender::draw::CurvesEvalCache::final, blender::IndexRange::first(), g_dummy_vbo, Curves::geometry, blender::IndexRange::last(), blender::draw::DRW_AttributeRequest::layer_index, blender::draw::DRW_Attributes::num_requests, blender::bke::Point, CurvesGeometry::point_data, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalFinalCache::proc_hairs, blender::draw::CurvesEvalCache::proc_length_buf, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::DRW_Attributes::requests, blender::draw::CurvesEvalFinalCache::resolution, blender::math::safe_divide(), SCE_HAIR_SHAPE_STRAND, DRWContextState::scene, blender::IndexRange::size(), and DRWManager::vmempool.
| DRWShadingGroup * blender::draw::DRW_shgroup_pointcloud_create_sub | ( | Object * | object, |
| DRWShadingGroup * | shgrp_parent, | ||
| GPUMaterial * | gpu_material ) |
Definition at line 54 of file draw_pointcloud.cc.
References DRW_shgroup_buffer_texture(), DRW_shgroup_call, DRW_shgroup_create_sub(), g_dummy_vbo, pointcloud_position_and_radius_get(), pointcloud_surface_get(), and pointcloud_surface_shaded_get().
| void blender::draw::DRW_subdiv_cache_free | ( | bke::subdiv::Subdiv * | subdiv | ) |
Definition at line 2322 of file draw_cache_impl_subdivision.cc.
References BLI_linklist_prepend(), BLI_mutex_lock(), BLI_mutex_unlock(), DRW_subdiv_cache_free(), gpu_subdiv_free_queue, and gpu_subdiv_queue_mutex.
Referenced by DRW_subdiv_cache_free().
|
static |
Helper to ensure that the UBO is always initialized before dispatching computes and that the same number of elements that need to be processed is used for the UBO and the dispatch size. Use this instead of a raw call to GPU_compute_dispatch.
Definition at line 1400 of file draw_cache_impl_subdivision.cc.
References BLI_assert, ceilf, draw_subdiv_ubo_update_and_bind(), get_dispatch_size(), GPU_compute_dispatch(), GPU_max_work_group_count(), and sqrtf.
Referenced by draw_subdiv_accumulate_normals(), draw_subdiv_build_edge_fac_buffer(), draw_subdiv_build_edituv_stretch_angle_buffer(), draw_subdiv_build_edituv_stretch_area_buffer(), draw_subdiv_build_fdots_buffers(), draw_subdiv_build_lines_buffer(), draw_subdiv_build_lines_loose_buffer(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_extract_uvs(), draw_subdiv_finalize_custom_normals(), draw_subdiv_finalize_normals(), and draw_subdiv_interp_custom_data().
| void blender::draw::DRW_subdiv_free | ( | ) |
Definition at line 2305 of file draw_cache_impl_subdivision.cc.
References DRW_cache_free_old_subdiv(), DRW_subdiv_free(), g_evaluator_cache, g_subdiv_shaders, GPU_shader_free(), NUM_SHADERS, and openSubdiv_deleteEvaluatorCache().
Referenced by DRW_subdiv_free(), and WM_exit_ex().
| void blender::draw::DRW_subdivide_loose_geom | ( | DRWSubdivCache & | subdiv_cache, |
| const MeshBufferCache & | cache ) |
Definition at line 2208 of file draw_cache_impl_subdivision.cc.
References blender::bke::mesh::build_vert_to_edge_map(), blender::draw::MeshExtractLooseGeom::edges, float, blender::Span< T >::index_range(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Span< T >::is_empty(), blender::bke::subdiv::Settings::is_simple, blender::draw::DRWSubdivCache::loose_edge_positions, blender::draw::MeshBufferCache::loose_geom, blender::draw::DRWSubdivCache::mesh, blender::threading::parallel_for(), blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::draw::DRWSubdivCache::resolution, blender::bke::subdiv::Subdiv::settings, blender::Span< T >::size(), blender::draw::DRWSubdivCache::subdiv, and Mesh::verts_num.
Referenced by mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::DRW_vertbuf_create_wiredata | ( | blender::gpu::VertBuf * | vbo, |
| const int | vert_len ) |
Definition at line 794 of file draw_cache.cc.
References attr_id, blender::gpu::VertBuf::data(), GPU_COMP_F32, GPU_COMP_U8, GPU_crappy_amd_driver(), GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_format(), GPU_vertbuf_init_with_format, GPU_vertbuf_raw_step(), and GPU_vertformat_attr_add().
Referenced by drw_volume_wireframe_cb().
Definition at line 100 of file draw_cache_impl_volume.cc.
References BKE_VOLUME_BATCH_DIRTY_ALL, BLI_assert, and blender::draw::VolumeBatchCache::is_dirty.
| void blender::draw::DRW_volume_batch_cache_free | ( | Volume * | volume | ) |
Definition at line 133 of file draw_cache_impl_volume.cc.
References MEM_SAFE_FREE, and volume_batch_cache_clear().
| DRWVolumeGrid * blender::draw::DRW_volume_batch_cache_get_grid | ( | Volume * | volume, |
| const bke::VolumeGridData * | volume_grid ) |
Definition at line 333 of file draw_cache_impl_volume.cc.
References volume_batch_cache_get(), and volume_grid_cache_get().
Referenced by drw_volume_object_grids_init(), blender::workbench::VolumePass::object_sync_volume(), and volume_object_grids_init().
| gpu::Batch * blender::draw::DRW_volume_batch_cache_get_selection_surface | ( | Volume * | volume | ) |
Definition at line 262 of file draw_cache_impl_volume.cc.
References BKE_volume_grid_active_get_for_read(), BKE_volume_grid_selection_surface(), drw_volume_selection_surface_cb(), blender::draw::VolumeBatchCache::selection_surface, and volume_batch_cache_get().
Referenced by DRW_cache_volume_selection_surface_get().
| gpu::Batch * blender::draw::DRW_volume_batch_cache_get_wireframes_face | ( | Volume * | volume | ) |
Definition at line 208 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::batch, BKE_volume_grid_active_get_for_read(), BKE_volume_grid_wireframe(), DRW_context_state_get(), drw_volume_wireframe_cb(), blender::draw::VolumeBatchCache::face_wire, blender::draw::VolumeWireframeUserData::scene, DRWContextState::scene, blender::draw::VolumeWireframeUserData::volume, volume_batch_cache_get(), and VOLUME_WIREFRAME_NONE.
Referenced by DRW_cache_volume_face_wireframe_get().
| void blender::draw::DRW_volume_batch_cache_validate | ( | Volume * | volume | ) |
Definition at line 86 of file draw_cache_impl_volume.cc.
References volume_batch_cache_clear(), volume_batch_cache_init(), and volume_batch_cache_valid().
Referenced by volume_batch_cache_get().
Definition at line 341 of file draw_cache_impl_volume.cc.
References max_ii().
| PassType * blender::draw::drw_volume_object_mesh_init | ( | PassType & | ps, |
| Scene * | scene, | ||
| Object * | ob, | ||
| ListBaseWrapper< GPUMaterialAttribute > & | attrs ) |
Definition at line 346 of file draw_volume.cc.
References FluidDomainSettings::active_color, FluidDomainSettings::active_fields, BKE_mesh_texspace_get(), BKE_modifier_is_enabled(), BKE_modifiers_findby_type(), Object::data, FluidModifierData::domain, DRW_smoke_ensure(), DST, eModifierMode_Realtime, eModifierType_Fluid, FluidDomainSettings::flags, FluidDomainSettings::flame_ignition, FluidDomainSettings::flame_max_temp, FluidDomainSettings::fluid, FLUID_DOMAIN_ACTIVE_COLOR_SET, FLUID_DOMAIN_ACTIVE_COLORS, FLUID_DOMAIN_TYPE_GAS, FLUID_DOMAIN_USE_NOISE, blender::math::from_scale(), g_data, grid_default_texture(), blender::MatBase< float, 4, 4 >::identity(), blender::MatBase< T, NumCol, NumRow, Alignment >::location(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::math::safe_rcp(), blender::math::scale(), STR_ELEM, STREQ, FluidDomainSettings::tex_color, FluidDomainSettings::tex_density, FluidDomainSettings::tex_flame, FluidDomainSettings::type, UNPACK3, DRWManager::vmempool, and DRWData::volume_grids_ubos.
Referenced by volume_sub_pass_implementation().
|
static |
Definition at line 233 of file draw_cache_impl_volume.cc.
References GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_indexbuf_add_tri_verts(), GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_TRIS, GPU_vertbuf_attr_fill(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), blender::draw::VolumeBatchCache::selection_surface, UNPACK3, and verts.
Referenced by DRW_volume_batch_cache_get_selection_surface().
|
static |
Definition at line 143 of file draw_cache_impl_volume.cc.
References attr_id, blender::draw::VolumeBatchCache::batch, DRW_vertbuf_create_wiredata(), blender::draw::VolumeBatchCache::face_wire, GPU_batch_create, GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_indexbuf_add_line_verts(), GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_normal_convert_v3(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_use_hq_normals_workaround(), GPU_vertbuf_attr_fill(), GPU_vertbuf_attr_fill_stride(), GPU_vertbuf_calloc(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), blender::draw::VolumeBatchCache::pos_nor_in_order, SCE_PERF_HQ_NORMALS, verts, and VOLUME_WIREFRAME_POINTS.
Referenced by DRW_volume_batch_cache_get_wireframes_face().
Calculates a factor that is used to identify the minimum angle in the shader to display an edge. NOTE: Keep in sync with common_subdiv_vbo_edge_fac_comp.glsl.
Referenced by extract_edge_factor_mesh().
|
inline |
Definition at line 34 of file extract_mesh_vbo_edge_fac.cc.
References b, CLAMP, and blender::math::dot().
|
inline |
Definition at line 46 of file extract_mesh_vbo_edge_fac.cc.
References b, CLAMP, and blender::math::dot().
|
static |
Definition at line 43 of file extract_mesh_ibo_lines.cc.
References blender::bke::mesh::face_corner_next().
Definition at line 45 of file draw_cache_impl_lattice.cc.
Referenced by lattice_render_edges_len_get().
|
static |
Definition at line 99 of file draw_cache_impl_particles.cc.
References GPUVertFormat::attr_len, GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by particle_batch_cache_ensure_edit_inner_pos(), particle_batch_cache_ensure_edit_pos_and_seg(), and particle_batch_cache_ensure_edit_tip_pos().
Definition at line 366 of file draw_cache_extract_mesh_render_data.cc.
References BKE_object_get_editmesh_eval_final(), editmesh_final_or_this(), and mesh.
Referenced by editmesh_final_or_this(), mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_calc_used_gpu_layers(), request_active_and_default_color_attributes(), and retrieve_active_attribute_names().
|
static |
Definition at line 23 of file extract_mesh_vbo_edituv_data.cc.
References GPU_COMP_U8, GPU_FETCH_INT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_edituv_data(), and extract_edituv_data_subdiv().
|
static |
Definition at line 64 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::UVStretchAngle::angle, angle_normalized_v2v2(), angle_normalized_v3v3(), fabsf, float, M_1_PI, M_PI, pow2f(), blender::draw::UVStretchAngle::uv_angles, and v2_to_short_angle().
Referenced by extract_uv_stretch_angle_bm(), and extract_uv_stretch_angle_mesh().
|
static |
Definition at line 1169 of file draw_cache_impl_mesh.cc.
References BLI_assert, blender::draw::MeshBatchCache::cd_needed, blender::draw::DRW_MeshCDMask::edit_uv, mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_calc_edit_uv_layer(), mesh_cd_layers_type_clear(), and mesh_cd_layers_type_merge().
Referenced by DRW_mesh_batch_cache_get_edituv_edges(), DRW_mesh_batch_cache_get_edituv_facedots(), DRW_mesh_batch_cache_get_edituv_faces(), DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(), DRW_mesh_batch_cache_get_edituv_faces_stretch_area(), DRW_mesh_batch_cache_get_edituv_verts(), and DRW_mesh_batch_cache_get_uv_edges().
|
static |
Definition at line 657 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attr_used_over_time, blender::draw::CurvesEvalFinalCache::attributes_buf, CD_AUTO_FROM_NAME, CD_MTFACE, CD_ORCO, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_TANGENT, CustomData_get_layer_name(), CustomData_get_named_layer(), CustomData_get_render_layer(), blender::draw::DRW_AttributeRequest::domain, drw_attributes_add_request(), drw_attributes_clear(), drw_attributes_merge(), drw_attributes_overlap(), drw_custom_data_match_attribute(), ensure_attributes(), ensure_final_attribute(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, GPU_material_attributes(), GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, LISTBASE_FOREACH, blender::draw::DRW_Attributes::num_requests, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesBatchCache::render_mutex, and blender::draw::DRW_Attributes::requests.
Referenced by curves_ensure_procedural_data(), and ensure_attributes().
|
static |
Definition at line 501 of file draw_cache_impl_curves.cc.
References blender::draw::DRW_AttributeRequest::attribute_name, blender::gpu::VertBuf::data(), blender::draw::DRW_AttributeRequest::domain, ensure_control_point_attribute(), GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_VERTBUF_DISCARD_SAFE, and blender::draw::CurvesEvalCache::proc_attributes_buf.
Referenced by ensure_control_point_attribute(), and ensure_final_attribute().
|
static |
Definition at line 1602 of file draw_cache_impl_particles.cc.
References BLI_assert, blender::draw::ParticleBatchCache::edit_inner_point_len, blender::draw::ParticleBatchCache::edit_inner_pos, PEP_HIDE, PTCacheEdit::points, and PTCacheEdit::totpoint.
Referenced by DRW_particles_batch_cache_get_edit_inner_points().
|
static |
Definition at line 1662 of file draw_cache_impl_particles.cc.
References blender::draw::ParticleBatchCache::edit_tip_point_len, blender::draw::ParticleBatchCache::edit_tip_pos, PEP_HIDE, PTCacheEdit::points, and PTCacheEdit::totpoint.
Referenced by DRW_particles_batch_cache_get_edit_tip_points().
|
static |
Definition at line 536 of file draw_cache_impl_curves.cc.
References alloc_final_attribute_vbo(), blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::CurvesEvalFinalCache::attributes_buf, blender::draw::DRW_AttributeRequest::domain, drw_curves_get_attribute_sampler_name(), ensure_control_point_attribute(), ensure_final_attribute(), blender::draw::CurvesEvalCache::final, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_VERTBUF_DISCARD_SAFE, and GPU_vertformat_attr_add().
Referenced by ensure_attributes(), and ensure_final_attribute().
|
static |
Definition at line 251 of file draw_cache_impl_particles.cc.
References ParticleSystem::childcache, count_cache_segment_keys(), ParticleSettings::disp, ParticleSettings::draw, ParticleHairCache::elems_len, ParticleHairCache::indices, ParticleSystem::part, PART_DRAW_PARENT, ParticleSystem::pathcache, PTCacheEdit::pathcache, ParticleHairCache::point_len, ParticleHairCache::pos, ParticleHairCache::proc_point_buf, ParticleHairCache::strands_len, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by DRW_particles_batch_cache_get_edit_strands(), DRW_particles_batch_cache_get_hair(), and particles_ensure_procedural_data().
| blender::draw::ENUM_OPERATORS | ( | DRWBatchFlag | , |
| MBC_SURFACE_PER_MAT | ) |
| blender::draw::ENUM_OPERATORS | ( | SculptBatchFeature | , |
| SCULPT_BATCH_UV | ) |
|
static |
Definition at line 21 of file extract_mesh_vbo_weights.cc.
References blender::draw::DRW_MeshWeightState::alert_mode, BKE_defvert_find_weight(), BKE_defvert_is_weight_zero(), BKE_defvert_lock_relative_weight(), BKE_defvert_multipaint_collective_weight(), CLAMP, blender::draw::DRW_MeshWeightState::defgroup_active, blender::draw::DRW_MeshWeightState::defgroup_len, blender::draw::DRW_MeshWeightState::defgroup_locked, blender::draw::DRW_MeshWeightState::defgroup_sel, blender::draw::DRW_MeshWeightState::defgroup_sel_count, blender::draw::DRW_MeshWeightState::defgroup_unlocked, DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE, DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE, DRW_MESH_WEIGHT_STATE_MULTIPAINT, blender::draw::DRW_MeshWeightState::flags, blender::math::is_normalized(), OB_DRAW_GROUPUSER_ACTIVE, and OB_DRAW_GROUPUSER_ALL.
| void blender::draw::extract_attr_viewer | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 307 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_attr_viewer(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and blender::draw::MeshRenderData::mesh.
Referenced by extract_attr_viewer(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 192 of file extract_mesh_vbo_attributes.cc.
References blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::MeshRenderData::bm, blender::draw::DRW_AttributeRequest::cd_type, CustomData_get_offset_named(), blender::draw::DRW_AttributeRequest::domain, extract_attribute(), blender::draw::MeshRenderData::extract_type, get_custom_data_for_domain(), and MR_EXTRACT_BMESH.
Referenced by extract_attribute(), extract_attributes(), and extract_attributes_subdiv().
| void blender::draw::extract_attributes | ( | const MeshRenderData & | mr, |
| const Span< DRW_AttributeRequest > | requests, | ||
| const Span< gpu::VertBuf * > | vbos ) |
Definition at line 253 of file extract_mesh_vbo_attributes.cc.
References blender::draw::MeshRenderData::corners_num, DRW_vbo_requested(), extract_attribute(), extract_attributes(), blender::Span< T >::index_range(), and init_vbo_for_attribute().
Referenced by extract_attributes(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_attributes_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const Span< DRW_AttributeRequest > | requests, | ||
| const Span< gpu::VertBuf * > | vbos ) |
Definition at line 265 of file extract_mesh_vbo_attributes.cc.
References blender::draw::DRW_AttributeRequest::cd_type, Mesh::corners_num, DRW_vbo_requested(), extract_attribute(), extract_attributes_subdiv(), GPU_USAGE_STATIC, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_with_format_ex(), GPU_vertbuf_tag_dirty(), blender::Span< T >::index_range(), init_vbo_for_attribute(), blender::draw::DRWSubdivCache::mesh, and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_attributes_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 121 of file extract_mesh_vbo_attributes.cc.
References bm, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, blender::gpu::VertBuf::data(), BMHeader::data, data, BMLoop::e, extract_data_bmesh_edge(), BMEdge::head, BMLoop::next, and POINTER_OFFSET.
Referenced by extract_data_bmesh_edge().
|
static |
Definition at line 141 of file extract_mesh_vbo_attributes.cc.
References bm, BM_FACES_OF_MESH, BM_ITER_MESH, blender::gpu::VertBuf::data(), data, extract_data_bmesh_face(), and POINTER_OFFSET.
Referenced by extract_data_bmesh_face().
|
static |
Definition at line 157 of file extract_mesh_vbo_attributes.cc.
References bm, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, blender::gpu::VertBuf::data(), BMHeader::data, data, extract_data_bmesh_loop(), BMLoop::head, BMLoop::next, and POINTER_OFFSET.
Referenced by extract_data_bmesh_loop().
|
static |
Definition at line 101 of file extract_mesh_vbo_attributes.cc.
References bm, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, blender::gpu::VertBuf::data(), BMHeader::data, data, extract_data_bmesh_vert(), BMVert::head, BMLoop::next, POINTER_OFFSET, and BMLoop::v.
Referenced by extract_data_bmesh_vert().
|
static |
Definition at line 85 of file extract_mesh_vbo_attributes.cc.
References blender::gpu::VertBuf::data(), and extract_data_mesh_face().
Referenced by extract_data_mesh_face().
|
static |
Definition at line 64 of file extract_mesh_vbo_attributes.cc.
References blender::gpu::VertBuf::data(), blender::array_utils::gather(), and blender::threading::parallel_for().
| void blender::draw::extract_edge_factor | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 139 of file extract_mesh_vbo_edge_fac.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_edge_factor(), extract_edge_factor_bm(), extract_edge_factor_mesh(), blender::draw::MeshRenderData::extract_type, blender::MutableSpan< T >::fill(), GPU_COMP_F32, GPU_COMP_U8, GPU_crappy_amd_driver(), GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_minimum_per_vertex_stride(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::MeshRenderData::loose_indices_num, MR_EXTRACT_MESH, and blender::MutableSpan< T >::take_back().
Referenced by extract_edge_factor(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 116 of file extract_mesh_vbo_edge_fac.cc.
References blender::draw::MeshRenderData::bm, bm, blender::threading::parallel_for(), and BMesh::totface.
Referenced by extract_edge_factor().
|
static |
Definition at line 58 of file extract_mesh_vbo_edge_fac.cc.
References blender::draw::MEdgeDataPrev::corner_a, blender::draw::MeshRenderData::corner_edges, blender::draw::MEdgeDataPrev::data, edge_factor_calc(), blender::draw::MeshRenderData::edges_num, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, FORCE_HIDE, blender::bits::BitSpan::is_empty(), blender::draw::MeshRenderData::mesh, and Mesh::runtime.
Referenced by extract_edge_factor().
| void blender::draw::extract_edge_factor_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | pos_nor, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 236 of file extract_mesh_vbo_edge_fac.cc.
References build_poly_other_map_vbo(), draw_subdiv_build_edge_fac_buffer(), blender::draw::DRWSubdivCache::edges_draw_flag, extract_edge_factor_subdiv(), blender::draw::MeshRenderData::faces_num, get_subdiv_edge_fac_format(), GPU_crappy_amd_driver(), GPU_minimum_per_vertex_stride(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_loose_edges_num().
Referenced by extract_edge_factor_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 262 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), extract_edge_idx_loose_geom_subdiv(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_edge, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), and subdiv_verts_per_coarse_edge().
Referenced by extract_edge_idx_loose_geom_subdiv(), and extract_edge_index_subdiv().
| void blender::draw::extract_edge_index | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 154 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, extract_edge_index(), extract_edge_index_bm(), extract_edge_index_mesh(), blender::draw::MeshRenderData::extract_type, init_vbo_data(), blender::draw::MeshRenderData::loose_edges, MR_EXTRACT_MESH, and blender::Span< T >::size().
Referenced by extract_edge_index(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 127 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, extract_edge_index_bm(), blender::draw::MeshRenderData::loose_edges, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_front(), and BMesh::totface.
Referenced by extract_edge_index(), and extract_edge_index_bm().
|
static |
Definition at line 100 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edges_num, extract_edge_index_mesh(), blender::Span< T >::index_range(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::orig_index_edge, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edge_index(), and extract_edge_index_mesh().
| void blender::draw::extract_edge_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 283 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), draw_subdiv_init_origindex_buffer(), blender::draw::DRWSubdivCache::edges_orig_index, extract_edge_idx_loose_geom_subdiv(), extract_edge_index_subdiv(), blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_loose_edges_num().
Referenced by extract_edge_index_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_edit_data | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 224 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_edit_data(), extract_edit_data_bm(), extract_edit_data_mesh(), blender::draw::MeshRenderData::extract_type, get_edit_data_format(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, blender::draw::MeshRenderData::loose_indices_num, and MR_EXTRACT_MESH.
Referenced by extract_edit_data(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 176 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, extract_edit_data_bm(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and BMesh::totface.
Referenced by extract_edit_data(), and extract_edit_data_bm().
|
static |
Definition at line 114 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::parallel_for(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edit_data().
| void blender::draw::extract_edit_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 380 of file extract_mesh_vbo_edit_data.cc.
References blender::gpu::VertBuf::data(), extract_edit_data_subdiv(), extract_edit_subdiv_data_bm(), extract_edit_subdiv_data_mesh(), blender::draw::MeshRenderData::extract_type, get_edit_data_format(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, MR_EXTRACT_MESH, and subdiv_full_vbo_size().
Referenced by extract_edit_data_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 316 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::bm, bm, blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, extract_edit_subdiv_data_bm(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::draw::DRWSubdivCache::subdiv_loop_face_index, subdiv_verts_per_coarse_edge(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edit_data_subdiv(), and extract_edit_subdiv_data_bm().
|
static |
Definition at line 238 of file extract_mesh_vbo_edit_data.cc.
References blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, extract_edit_subdiv_data_mesh(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::draw::DRWSubdivCache::subdiv_loop_face_index, subdiv_verts_per_coarse_edge(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edit_data_subdiv(), and extract_edit_subdiv_data_mesh().
| void blender::draw::extract_edituv_data | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 99 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), edituv_data_format(), extract_edituv_data(), extract_edituv_data_bm(), extract_edituv_data_mesh(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, and MR_EXTRACT_BMESH.
Referenced by extract_edituv_data(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 34 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_get_offsets(), blender::threading::parallel_for(), and BMesh::totface.
Referenced by extract_edituv_data().
|
static |
Definition at line 113 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, BM_edge_at_index(), BM_face_edge_share_loop(), extract_edituv_data_iter_subdiv_bm(), l, mesh_render_data_face_flag(), mesh_render_data_loop_edge_flag(), and mesh_render_data_loop_flag().
Referenced by extract_edituv_data_iter_subdiv_bm().
|
static |
Definition at line 55 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_get_offsets(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corner_verts, extract_edituv_data_mesh(), and blender::draw::MeshRenderData::faces.
Referenced by extract_edituv_data(), and extract_edituv_data_mesh().
| void blender::draw::extract_edituv_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 207 of file extract_mesh_vbo_edituv_data.cc.
References blender::gpu::VertBuf::data(), edituv_data_format(), extract_edituv_data_subdiv(), extract_edituv_subdiv_data_bm(), extract_edituv_subdiv_data_mesh(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, MR_EXTRACT_BMESH, and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_edituv_data_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_edituv_face_dots | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | ibo ) |
Definition at line 531 of file extract_mesh_ibo_edituv.cc.
References extract_edituv_face_dots_bm(), extract_edituv_face_dots_mesh(), blender::draw::MeshRenderData::extract_type, MR_EXTRACT_BMESH, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 480 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::index_mask::IndexMask::from_predicate(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::index_mask::IndexMask::size(), skip_bm_face(), blender::index_mask::IndexMask::to_indices(), and BMesh::totface.
Referenced by extract_edituv_face_dots().
|
static |
Definition at line 497 of file extract_mesh_ibo_edituv.cc.
References blender::Span< T >::begin(), bm_original_face_get(), blender::draw::MeshRenderData::corner_verts, blender::Span< T >::end(), blender::draw::MeshRenderData::faces, blender::index_mask::IndexMask::from_predicate(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::mesh, Mesh::runtime, blender::index_mask::IndexMask::size(), skip_bm_face(), blender::Span< T >::slice(), blender::index_mask::IndexMask::to_indices(), and blender::draw::MeshRenderData::use_subsurf_fdots.
Referenced by extract_edituv_face_dots().
| void blender::draw::extract_edituv_lines | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | ibo ) |
Definition at line 232 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::corners_num, extract_edituv_lines_bm(), extract_edituv_lines_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES, MR_EXTRACT_BMESH, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 155 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, GPU_indexbuf_add_line_verts(), BMLoop::next, and skip_bm_face().
Referenced by extract_edituv_lines().
|
static |
Definition at line 175 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm_original_face_get(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::edges_num, blender::bke::mesh::face_corner_next(), blender::draw::MeshRenderData::faces, blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::from_bools(), blender::index_mask::IndexMask::from_bools_inverse(), GPU_indexbuf_add_line_verts(), blender::draw::MeshRenderData::hide_poly, blender::index_mask::IndexMask::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, blender::draw::MeshRenderData::select_poly, and skip_bm_face().
Referenced by extract_edituv_lines().
| void blender::draw::extract_edituv_lines_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::IndexBuf & | ibo ) |
Definition at line 316 of file extract_mesh_ibo_edituv.cc.
References extract_edituv_lines_subdiv_bm(), extract_edituv_lines_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES, MR_EXTRACT_BMESH, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 248 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, blender::bke::mesh::face_corner_next(), GPU_indexbuf_add_line_verts(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, skip_bm_face(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_edituv_lines_subdiv().
|
static |
Definition at line 276 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, blender::bke::mesh::face_corner_next(), GPU_indexbuf_add_line_verts(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::MeshRenderData::select_poly, skip_bm_face(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_edituv_lines_subdiv().
| void blender::draw::extract_edituv_points | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | ibo ) |
Definition at line 387 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::corners_num, extract_edituv_points_bm(), extract_edituv_points_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_POINTS, MR_EXTRACT_BMESH, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 341 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, GPU_indexbuf_add_point_vert(), BMLoop::next, and skip_bm_face().
Referenced by extract_edituv_points().
|
static |
Definition at line 360 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::faces, GPU_indexbuf_add_point_vert(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::orig_index_vert, ORIGINDEX_NONE, skip_bm_face(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_edituv_points().
| void blender::draw::extract_edituv_points_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::IndexBuf & | ibo ) |
Definition at line 456 of file extract_mesh_ibo_edituv.cc.
References extract_edituv_points_subdiv_bm(), extract_edituv_points_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_POINTS, MR_EXTRACT_BMESH, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 402 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), GPU_indexbuf_add_point_vert(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, skip_bm_face(), blender::draw::DRWSubdivCache::subdiv_loop_face_index, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edituv_points_subdiv().
|
static |
Definition at line 428 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::gpu::VertBuf::data(), GPU_indexbuf_add_point_vert(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, skip_bm_face(), blender::draw::DRWSubdivCache::subdiv_loop_face_index, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edituv_points_subdiv().
| void blender::draw::extract_edituv_stretch_angle | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 195 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, extract_uv_stretch_angle_bm(), extract_uv_stretch_angle_mesh(), GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and MR_EXTRACT_BMESH.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_edituv_stretch_angle_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 226 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::MeshRenderData::bm, blender::draw::MeshBufferCache::buff, CD_PROP_FLOAT2, blender::draw::MeshBatchCache::cd_used, Mesh::corner_data, CustomData_get_active_layer(), CustomData_layer_is_anonymous(), draw_subdiv_build_edituv_stretch_angle_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_get_pos_nor_format(), blender::draw::DRW_MeshCDMask::edit_uv, blender::draw::MeshRenderData::extract_type, blender::draw::MeshBatchCache::final, get_edituv_stretch_angle_format_subdiv(), GPU_vertbuf_calloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), BMesh::ldata, MAX_MTFACE, blender::draw::MeshRenderData::mesh, MR_EXTRACT_BMESH, MR_EXTRACT_MESH, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshBufferList::pos, subdiv_full_vbo_size(), blender::draw::DRW_MeshCDMask::uv, blender::draw::MeshBufferList::uv, and blender::draw::MeshBufferList::vbo.
Referenced by mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_edituv_stretch_area | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo, | ||
| float & | tot_area, | ||
| float & | tot_uv_area ) |
Definition at line 94 of file extract_mesh_vbo_edituv_stretch_area.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert, compute_area_ratio(), blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_edituv_stretch_area(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MR_EXTRACT_BMESH, MR_EXTRACT_MESH, blender::MutableSpan< T >::size_in_bytes(), blender::draw::AreaInfo::tot_area, and blender::draw::AreaInfo::tot_uv_area.
Referenced by extract_edituv_stretch_area(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_edituv_stretch_area_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | vbo, | ||
| float & | tot_area, | ||
| float & | tot_uv_area ) |
Definition at line 136 of file extract_mesh_vbo_edituv_stretch_area.cc.
References compute_area_ratio(), blender::gpu::VertBuf::data(), draw_subdiv_build_edituv_stretch_area_buffer(), extract_edituv_stretch_area_subdiv(), blender::draw::MeshRenderData::faces_num, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_edituv_stretch_area_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 157 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, BM_uv_map_get_offsets(), blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, extract_edituv_subdiv_data_bm(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::subdiv_loop_face_index, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edituv_data_subdiv(), and extract_edituv_subdiv_data_bm().
|
static |
Definition at line 182 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, BM_uv_map_get_offsets(), blender::gpu::VertBuf::data(), blender::draw::DRWSubdivCache::edges_orig_index, extract_edituv_subdiv_data_mesh(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::subdiv_loop_face_index, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_edituv_data_subdiv(), and extract_edituv_subdiv_data_mesh().
| void blender::draw::extract_edituv_tris | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | ibo ) |
Definition at line 72 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::corner_tris_num, blender::draw::MeshRenderData::corners_num, extract_edituv_tris_bm(), extract_edituv_tris_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_TRIS, MR_EXTRACT_BMESH, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 36 of file extract_mesh_ibo_edituv.cc.
References BM_elem_index_get, blender::draw::MeshRenderData::edit_bmesh, GPU_indexbuf_add_tri_verts(), blender::Span< T >::index_range(), BMEditMesh::looptris, and skip_bm_face().
Referenced by extract_edituv_tris().
|
static |
Definition at line 51 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::bke::mesh::face_triangles_range(), blender::draw::MeshRenderData::faces, GPU_indexbuf_add_tri_verts(), blender::draw::MeshRenderData::mesh, skip_bm_face(), and blender::Span< T >::slice().
Referenced by extract_edituv_tris().
| void blender::draw::extract_edituv_tris_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::IndexBuf & | ibo ) |
Definition at line 130 of file extract_mesh_ibo_edituv.cc.
References extract_edituv_tris_subdiv_bm(), extract_edituv_tris_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_TRIS, MR_EXTRACT_BMESH, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_triangles, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 88 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), GPU_indexbuf_add_tri_verts(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, skip_bm_face(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_edituv_tris_subdiv().
|
static |
Definition at line 108 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), GPU_indexbuf_add_tri_verts(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, skip_bm_face(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_edituv_tris_subdiv().
| void blender::draw::extract_face_dot_index | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 314 of file extract_mesh_vbo_select_idx.cc.
References extract_face_dot_index(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, init_vbo_data(), MR_EXTRACT_MESH, and blender::draw::MeshRenderData::orig_index_face.
Referenced by extract_face_dot_index(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_face_dot_normals | ( | const MeshRenderData & | mr, |
| const bool | use_hq, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 58 of file extract_mesh_vbo_fdots_nor.cc.
References blender::gpu::VertBuf::data(), extract_face_dot_normals(), extract_face_dot_normals_bm(), extract_face_dot_normals_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), and MR_EXTRACT_MESH.
Referenced by extract_face_dot_normals(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_face_dot_normals_bm | ( | const MeshRenderData & | mr, |
| MutableSpan< GPUType > | normals ) |
Definition at line 38 of file extract_mesh_vbo_fdots_nor.cc.
References extract_face_dot_normals_bm(), and blender::draw::MeshRenderData::faces_num.
Referenced by extract_face_dot_normals(), and extract_face_dot_normals_bm().
|
static |
Definition at line 19 of file extract_mesh_vbo_fdots_nor.cc.
References convert_normal(), convert_normals(), blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces_num, and blender::threading::parallel_for().
Referenced by extract_face_dot_normals().
|
static |
Definition at line 66 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::bm, bm, extract_face_dot_positions_bm(), and BMesh::totface.
Referenced by extract_face_dot_positions_bm(), and extract_face_dots_position().
|
static |
Definition at line 35 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), Mesh::runtime, blender::draw::MeshRenderData::use_subsurf_fdots, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_face_dots_position().
| void blender::draw::extract_face_dots | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | face_dots ) |
Definition at line 63 of file extract_mesh_ibo_fdots.cc.
References extract_face_dots_bm(), extract_face_dots_mesh(), blender::draw::MeshRenderData::extract_type, and MR_EXTRACT_MESH.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 52 of file extract_mesh_ibo_fdots.cc.
References blender::draw::MeshRenderData::bm, bm, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, BM_face_at_index(), blender::index_mask::IndexMask::from_predicate(), index_mask_to_ibo(), and BMesh::totface.
Referenced by extract_face_dots().
| void blender::draw::extract_face_dots_edituv_data | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 15 of file extract_mesh_vbo_fdots_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_get_offsets(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, GPU_COMP_U8, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), MR_EXTRACT_BMESH, blender::threading::parallel_for(), and BMesh::totface.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 45 of file extract_mesh_ibo_fdots.cc.
References calc_face_visibility_mesh(), and index_mask_to_ibo().
Referenced by extract_face_dots().
| void blender::draw::extract_face_dots_position | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 82 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_face_dot_positions_bm(), extract_face_dot_positions_mesh(), extract_face_dots_position(), blender::draw::MeshRenderData::extract_type, get_fdots_pos_format(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, blender::draw::MeshRenderData::loose_indices_num, and MR_EXTRACT_MESH.
Referenced by extract_face_dots_position(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_face_dots_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| gpu::VertBuf & | fdots_pos, | ||
| gpu::VertBuf * | fdots_nor, | ||
| gpu::IndexBuf & | fdots ) |
Definition at line 96 of file extract_mesh_vbo_fdots_pos.cc.
References draw_subdiv_build_fdots_buffers(), extract_face_dots_subdiv(), get_fdots_nor_format_subdiv(), get_fdots_pos_format(), GPU_indexbuf_init_build_on_device(), GPU_vertbuf_init_build_on_device(), and blender::draw::DRWSubdivCache::num_coarse_faces.
Referenced by extract_face_dots_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_face_dots_uv | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 66 of file extract_mesh_vbo_fdots_uv.cc.
References blender::gpu::VertBuf::data(), extract_face_dots_uv(), extract_face_dots_uv_bm(), extract_face_dots_uv_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), and MR_EXTRACT_MESH.
Referenced by extract_face_dots_uv(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 47 of file extract_mesh_vbo_fdots_uv.cc.
References blender::draw::MeshRenderData::bm, bm, CD_PROP_FLOAT2, CustomData_get_offset(), extract_face_dots_uv_bm(), BMesh::ldata, and BMesh::totface.
Referenced by extract_face_dots_uv(), and extract_face_dots_uv_bm().
|
static |
Definition at line 15 of file extract_mesh_vbo_fdots_uv.cc.
References CD_PROP_FLOAT2, blender::bke::Corner, blender::draw::MeshRenderData::corner_verts, CustomData_get_active_layer_name(), blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), and blender::draw::MeshRenderData::use_subsurf_fdots.
Referenced by extract_face_dots_uv().
| void blender::draw::extract_face_index | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 193 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, extract_face_index(), extract_face_index_bm(), extract_face_index_mesh(), blender::draw::MeshRenderData::extract_type, init_vbo_data(), and MR_EXTRACT_MESH.
Referenced by extract_face_index(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 181 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::bm, bm, extract_face_index_bm(), and BMesh::totface.
Referenced by extract_face_index(), and extract_face_index_bm().
|
static |
Definition at line 165 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::edges_num, extract_face_index_mesh(), blender::draw::MeshRenderData::faces, and blender::draw::MeshRenderData::orig_index_face.
Referenced by extract_face_index(), and extract_face_index_mesh().
| void blender::draw::extract_face_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 294 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), data, draw_subdiv_init_origindex_buffer(), extract_face_index_subdiv(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_face, and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_face_index_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 47 of file extract_mesh_vbo_lnor.cc.
References extract_face_normals(), blender::draw::MeshRenderData::face_normals, and blender::draw::MeshRenderData::faces.
Referenced by extract_face_normals(), and extract_normals_mesh().
| void blender::draw::extract_lines | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf * | lines, | ||
| gpu::IndexBuf * | lines_loose, | ||
| bool & | no_loose_wire ) |
Definition at line 237 of file extract_mesh_ibo_lines.cc.
References extract_lines(), extract_lines_bm(), extract_lines_mesh(), blender::draw::MeshRenderData::extract_type, and MR_EXTRACT_MESH.
Referenced by extract_lines(), and mesh_buffer_cache_create_requested().
| void blender::draw::extract_lines_adjacency | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | ibo, | ||
| bool & | r_is_manifold ) |
Definition at line 163 of file extract_mesh_ibo_lines_adjacency.cc.
References calc_adjacency_bm(), calc_adjacency_mesh(), blender::draw::MeshRenderData::corner_tris_num, blender::draw::MeshRenderData::corners_num, create_lines_for_remaining_edges(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES_ADJ, MR_EXTRACT_MESH, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and blender::draw::MeshRenderData::verts_num.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_lines_adjacency_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| gpu::IndexBuf & | ibo, | ||
| bool & | r_is_manifold ) |
Definition at line 191 of file extract_mesh_ibo_lines_adjacency.cc.
References create_lines_for_remaining_edges(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init(), GPU_PRIM_LINES_ADJ, lines_adjacency_triangle(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::num_subdiv_verts, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and blender::draw::DRWSubdivCache::subdiv_loop_subdiv_vert_index.
Referenced by mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 179 of file extract_mesh_ibo_lines.cc.
References blender::draw::MeshRenderData::bm, bm, BM_edge_at_index(), BM_elem_flag_test_bool, BM_ELEM_HIDDEN, BM_elem_index_get, blender::MutableSpan< T >::cast(), blender::index_mask::IndexMask::complement(), blender::draw::MeshRenderData::corners_num, DRW_ibo_requested(), extract_lines_bm(), fill_loose_lines_ibo(), blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_create_subrange_in_place(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::Span< T >::index_range(), blender::index_mask::IndexMask::is_empty(), blender::draw::MeshRenderData::loose_edges, pos, blender::index_mask::IndexMask::size(), blender::Span< T >::size(), and BMesh::totedge.
Referenced by extract_lines(), and extract_lines_bm().
|
static |
Definition at line 250 of file extract_mesh_ibo_lines.cc.
References blender::draw::MeshRenderData::bm, bm, BM_edge_at_index(), BM_elem_flag_test_bool, BM_ELEM_HIDDEN, bm_original_edge_get(), blender::gpu::VertBuf::data(), draw_subdiv_build_lines_loose_buffer(), extract_lines_loose_geom_subdiv(), blender::draw::MeshRenderData::extract_type, blender::MutableSpan< T >::fill(), GPU_COMP_U32, GPU_FETCH_INT, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, MR_EXTRACT_BMESH, MR_EXTRACT_MESH, blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, blender::MutableSpan< T >::slice(), subdiv_edges_per_coarse_edge(), and subdiv_loose_edges_num().
Referenced by extract_lines_loose_geom_subdiv(), and extract_lines_subdiv().
|
static |
Definition at line 88 of file extract_mesh_ibo_lines.cc.
References calc_mesh_edge_visibility(), calc_visible_loose_edge_indices(), blender::MutableSpan< T >::cast(), blender::index_mask::IndexMask::complement(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, DRW_ibo_requested(), blender::draw::MeshRenderData::edges_num, extract_lines_mesh(), blender::draw::MeshRenderData::faces, fill_loose_lines_ibo(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::index_mask::IndexMask::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::index_mask::IndexMask::size(), blender::Span< T >::size(), and blender::Span< T >::size_in_bytes().
Referenced by extract_lines(), and extract_lines_mesh().
| void blender::draw::extract_lines_paint_mask | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | lines ) |
Definition at line 21 of file extract_mesh_ibo_lines_paint_mask.cc.
References BLI_BITMAP_NEW, blender::MutableSpan< T >::cast(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edges_num, blender::draw::MeshRenderData::faces, GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::orig_index_edge, blender::threading::parallel_for(), and blender::draw::MeshRenderData::select_poly.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_lines_paint_mask_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::IndexBuf & | lines ) |
Definition at line 75 of file extract_mesh_ibo_lines_paint_mask.cc.
References BLI_BITMAP_NEW, BLI_BITMAP_TEST, BLI_BITMAP_TEST_AND_SET_ATOMIC, blender::MutableSpan< T >::cast(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::edges_num, blender::draw::DRWSubdivCache::edges_orig_index, extract_lines_paint_mask_subdiv(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_edge, blender::Span< T >::is_empty(), MEM_freeN(), blender::draw::DRWSubdivCache::num_subdiv_edges, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, range, blender::draw::MeshRenderData::select_poly, blender::draw::DRWSubdivCache::subdiv_loop_face_index, and blender::draw::DRWSubdivCache::subdiv_loop_subdiv_edge_index.
Referenced by extract_lines_paint_mask_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_lines_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::IndexBuf * | lines, | ||
| gpu::IndexBuf * | lines_loose, | ||
| bool & | no_loose_wire ) |
Definition at line 332 of file extract_mesh_ibo_lines.cc.
References draw_subdiv_build_lines_buffer(), DRW_ibo_requested(), extract_lines_loose_geom_subdiv(), extract_lines_subdiv(), GPU_indexbuf_create_subrange_in_place(), GPU_indexbuf_init_build_on_device(), blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_loose_edges_num().
Referenced by extract_lines_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 126 of file extract_mesh_vbo_pos.cc.
References copy_v3_v3(), extract_loose_positions_subdiv(), flag, GPU_vertbuf_update_sub(), GPU_vertbuf_use(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::draw::DRWSubdivCache::loose_edge_positions, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, nor, blender::draw::DRWSubdivCache::num_subdiv_loops, pos, blender::draw::DRWSubdivCache::resolution, blender::Span< T >::size(), blender::Span< T >::slice(), subdiv_edges_per_coarse_edge(), subdiv_verts_per_coarse_edge(), and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_loose_positions_subdiv(), and extract_positions_subdiv().
| void blender::draw::extract_mesh_analysis | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 572 of file extract_mesh_vbo_mesh_analysis.cc.
References BLI_assert, blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::edit_bmesh, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), SCE_STATVIS_DISTORT, SCE_STATVIS_INTERSECT, SCE_STATVIS_OVERHANG, SCE_STATVIS_SHARP, SCE_STATVIS_THICKNESS, ToolSettings::statvis, statvis_calc_distort(), statvis_calc_intersect(), statvis_calc_overhang(), statvis_calc_sharp(), statvis_calc_thickness(), blender::draw::MeshRenderData::toolsettings, and MeshStatVis::type.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_mesh_loose_edge_data | ( | const Span< T > | vert_data, |
| const Span< int2 > | edges, | ||
| const Span< int > | loose_edges, | ||
| MutableSpan< T > | gpu_data ) |
Definition at line 246 of file extract_mesh.hh.
References blender::Span< T >::index_range(), and blender::threading::parallel_for().
Referenced by extract_vert_index_mesh(), and extract_vert_normals_mesh().
| void blender::draw::extract_normals | ( | const MeshRenderData & | mr, |
| bool | use_hq, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 202 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_normals(), extract_normals_bm(), extract_normals_mesh(), extract_paint_overlay_flags(), blender::draw::MeshRenderData::extract_type, blender::MutableSpan< T >::fill(), GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), blender::draw::MeshRenderData::loose_indices_num, MR_EXTRACT_MESH, blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_normals(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 156 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::bm_loop_normals, convert_normals(), extract_normals_bm(), blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), and BMesh::totface.
Referenced by extract_normals(), and extract_normals_bm().
|
static |
Definition at line 59 of file extract_mesh_vbo_lnor.cc.
References convert_normals(), blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corner_verts, extract_face_normals(), extract_normals_mesh(), extract_vert_normals(), blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::mesh, blender::draw::MeshRenderData::normals_domain, and blender::draw::MeshRenderData::sharp_faces.
Referenced by extract_normals(), and extract_normals_mesh().
| void blender::draw::extract_normals_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | pos_nor, | ||
| gpu::VertBuf & | lnor ) |
Definition at line 262 of file extract_mesh_vbo_lnor.cc.
References draw_subdiv_build_lnor_buffer(), extract_normals_subdiv(), get_subdiv_lnor_format(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_full_vbo_size().
Referenced by extract_normals_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_orco | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 13 of file extract_mesh_vbo_orco.cc.
References CD_ORCO, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, CustomData_get_layer(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::Span< T >::index_range(), blender::threading::memory_bandwidth_bound_task(), blender::draw::MeshRenderData::mesh, MR_EXTRACT_BMESH, blender::threading::parallel_for(), blender::MutableSpan< T >::size_in_bytes(), blender::Span< T >::size_in_bytes(), and Mesh::vert_data.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 95 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::edit_bmesh, Mesh::editflag, extract_paint_overlay_flags(), blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, blender::draw::MeshRenderData::mesh, blender::draw::MeshRenderData::orig_index_vert, blender::draw::MeshRenderData::select_poly, blender::draw::MeshRenderData::select_vert, and selection.
Referenced by extract_normals(), and extract_paint_overlay_flags().
| void blender::draw::extract_points | ( | const MeshRenderData & | mr, |
| gpu::IndexBuf & | points ) |
Definition at line 188 of file extract_mesh_ibo_points.cc.
References extract_points(), extract_points_bm(), extract_points_mesh(), blender::draw::MeshRenderData::extract_type, and MR_EXTRACT_MESH.
Referenced by extract_points(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 140 of file extract_mesh_ibo_points.cc.
References blender::draw::MeshRenderData::bm, bm, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, BM_elem_index_get, BM_vert_at_index(), BM_vert_find_first_loop(), blender::draw::MeshRenderData::corners_num, extract_points_bm(), blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, pos, process_ibo_verts_bm(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), BMesh::totvert, and blender::draw::MeshRenderData::verts_num.
Referenced by extract_points(), and extract_points_bm().
|
static |
Definition at line 70 of file extract_mesh_ibo_points.cc.
References calc_vert_visibility_mesh(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, extract_points_mesh(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::index_mask::IndexMask::size(), blender::Span< T >::size(), blender::Span< T >::size_in_bytes(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_points(), and extract_points_mesh().
| void blender::draw::extract_points_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::IndexBuf & | points ) |
Definition at line 333 of file extract_mesh_ibo_points.cc.
References extract_points_subdiv(), extract_points_subdiv_bm(), extract_points_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, and MR_EXTRACT_MESH.
Referenced by extract_points_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 278 of file extract_mesh_ibo_points.cc.
References blender::draw::MeshRenderData::bm, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, bm_original_vert_get(), BM_vert_at_index(), blender::MutableSpan< T >::cast(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::edges, extract_points_subdiv_bm(), blender::IndexRange::first(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::Span< T >::index_range(), blender::IndexRange::last(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_vert, blender::index_mask::IndexMask::size(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), subdiv_verts_per_coarse_edge(), blender::MutableSpan< T >::take_back(), blender::index_mask::IndexMask::to_indices(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_points_subdiv(), and extract_points_subdiv_bm().
|
static |
Definition at line 218 of file extract_mesh_ibo_points.cc.
References calc_vert_visibility_mapped_mesh(), blender::MutableSpan< T >::cast(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::edges, extract_points_subdiv_mesh(), blender::IndexRange::first(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::hide_vert, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::IndexRange::last(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_vert, ORIGINDEX_NONE, blender::index_mask::IndexMask::shift(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), subdiv_verts_per_coarse_edge(), blender::MutableSpan< T >::take_back(), blender::index_mask::IndexMask::to_indices(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_points_subdiv(), and extract_points_subdiv_mesh().
| void blender::draw::extract_positions | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 70 of file extract_mesh_vbo_pos.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), extract_positions(), extract_positions_bm(), extract_positions_mesh(), blender::draw::MeshRenderData::extract_type, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::MeshRenderData::loose_indices_num, and MR_EXTRACT_MESH.
Referenced by extract_positions(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 33 of file extract_mesh_vbo_pos.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::parallel_for(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and BMesh::totface.
Referenced by extract_positions().
|
static |
Definition at line 17 of file extract_mesh_vbo_pos.cc.
References blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::memory_bandwidth_bound_task(), blender::Span< T >::size(), blender::MutableSpan< T >::size_in_bytes(), blender::Span< T >::size_in_bytes(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_positions().
| void blender::draw::extract_positions_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | vbo, | ||
| gpu::VertBuf * | orco_vbo ) |
Definition at line 182 of file extract_mesh_vbo_pos.cc.
References GPUVertFormat::attr_len, Mesh::corners_num, blender::gpu::VertBuf::data(), data, divide_ceil_u(), draw_subdiv_accumulate_normals(), draw_subdiv_build_origindex_buffer(), draw_subdiv_extract_pos_nor(), draw_subdiv_finalize_custom_normals(), draw_subdiv_finalize_normals(), draw_subdiv_get_pos_nor_format(), draw_subdiv_interp_custom_data(), extract_loose_positions_subdiv(), extract_positions_subdiv(), extract_vertex_flags(), get_custom_normals_format(), get_normals_format(), GPU_COMP_F32, GPU_COMP_I32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format, GPU_vertbuf_tag_dirty(), GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), blender::draw::DRWSubdivCache::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_verts, subdiv_full_vbo_size(), blender::draw::DRWSubdivCache::subdiv_loop_subdiv_vert_index, blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency, blender::draw::DRWSubdivCache::subdiv_vertex_face_adjacency_offsets, blender::draw::DRWSubdivCache::use_custom_loop_normals, and blender::draw::MeshRenderData::verts_num.
Referenced by extract_positions_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_sculpt_data | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 33 of file extract_mesh_vbo_sculpt_data.cc.
References blender::draw::MeshRenderData::bm, bm, CD_PROP_FLOAT, CD_PROP_INT32, blender::draw::MeshRenderData::corners_num, CustomData_get_offset_named(), blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, Mesh::face_sets_color_default, Mesh::face_sets_color_seed, get_sculpt_data_format(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, mask(), blender::draw::MeshRenderData::mesh, MR_EXTRACT_BMESH, blender::threading::parallel_for(), BMesh::pdata, BMesh::totface, and BMesh::vdata.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_sculpt_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 106 of file extract_mesh_vbo_sculpt_data.cc.
References Geometry::attributes, BKE_paint_face_set_overlay_color_get(), color, copy_v3_v3_uchar(), blender::gpu::VertBuf::data(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_interp_custom_data(), extract_sculpt_data_subdiv(), Mesh::face_sets_color_default, Mesh::face_sets_color_seed, blender::MutableSpan< T >::fill(), get_sculpt_data_format(), GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::MeshRenderData::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, range, blender::Span< T >::size(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_sculpt_data_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 40 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, count, blender::bits::BitSpan::index_range(), and int.
| void blender::draw::extract_skin_roots | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 20 of file extract_mesh_vbo_skin_roots.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::draw::MeshRenderData::bm, BM_ELEM_CD_GET_VOID_P, BM_ITER_MESH, bm_vert_co_get(), BM_VERTS_OF_MESH, CD_MVERT_SKIN, CustomData_get_offset(), blender::gpu::VertBuf::data(), MVertSkin::flag, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MVERT_SKIN_ROOT, MVertSkin::radius, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and BMesh::vdata.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 24 of file extract_mesh_vbo_tan.cc.
References BKE_editmesh_loop_tangent_calc(), BKE_mesh_calc_loop_tangent_ex(), BKE_mesh_orco_verts_transform(), blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_loop_normals, BM_vert_at_index(), CD_ORCO, CD_PROP_FLOAT2, CD_TANGENT, blender::draw::MeshBatchCache::cd_used, BMVert::co, copy_v3_v3(), Mesh::corner_data, blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corner_tris_num, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, CustomData_get_active_layer(), CustomData_get_layer(), CustomData_get_layer_index(), CustomData_get_layer_name(), CustomData_get_render_layer(), CustomData_reset(), blender::Span< T >::data(), blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_MAX_SAFE_ATTR_NAME, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), blender::Span< T >::is_empty(), BMesh::ldata, MAX_MTFACE, blender::draw::MeshRenderData::mesh, MR_EXTRACT_BMESH, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::draw::MeshRenderData::sharp_faces, blender::Span< T >::size(), SNPRINTF, STRNCPY, blender::draw::DRW_MeshCDMask::tan, blender::draw::DRW_MeshCDMask::tan_orco, v, BMesh::vdata, Mesh::vert_data, blender::draw::MeshRenderData::vert_positions, and blender::draw::MeshRenderData::verts_num.
Referenced by extract_tangents(), and extract_tangents_subdiv().
| void blender::draw::extract_tangents | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache, | ||
| const bool | use_hq, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 166 of file extract_mesh_vbo_tan.cc.
References CD_TANGENT, blender::draw::MeshRenderData::corners_num, CustomData_free(), CustomData_get_layer_n(), CustomData_get_layer_named(), blender::gpu::VertBuf::data(), data, extract_tan_init_common(), float, GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_normal_convert_i10_v3(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, normal_float_to_short_v3(), and GPUPackedNormal::w.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_tangents_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 251 of file extract_mesh_vbo_tan.cc.
References CD_TANGENT, copy_v3_v3(), blender::draw::MeshRenderData::corners_num, CustomData_free(), CustomData_get_layer_n(), CustomData_get_layer_named(), blender::gpu::VertBuf::data(), data, draw_subdiv_interp_custom_data(), extract_tan_init_common(), float, get_coarse_tan_format(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_DYNAMIC, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format_ex(), GPU_vertbuf_tag_dirty(), int, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_tris | ( | const MeshRenderData & | mr, |
| const SortedFaceData & | face_sorted, | ||
| MeshBatchCache & | cache, | ||
| gpu::IndexBuf & | ibo ) |
Definition at line 116 of file extract_mesh_ibo_tris.cc.
References create_material_subranges(), extract_tris(), extract_tris_bmesh(), extract_tris_mesh(), blender::draw::MeshRenderData::extract_type, MR_EXTRACT_MESH, blender::draw::MeshBatchCache::tris_per_mat, and blender::draw::MeshRenderData::use_final_mesh.
Referenced by extract_tris(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 61 of file extract_mesh_ibo_tris.cc.
References blender::draw::MeshRenderData::bm, bm, blender::MutableSpan< T >::cast(), blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edit_bmesh, extract_tris_bmesh(), blender::draw::SortedFaceData::face_tri_offsets, GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, BMEditMesh::looptris, BMesh::totface, and blender::draw::SortedFaceData::visible_tris_num.
Referenced by extract_tris(), and extract_tris_bmesh().
|
static |
Definition at line 19 of file extract_mesh_ibo_tris.cc.
References BLI_assert, blender::MutableSpan< T >::cast(), blender::Span< T >::cast(), blender::draw::MeshRenderData::corners_num, blender::draw::SortedFaceData::face_tri_offsets, blender::draw::MeshRenderData::faces, GPU_indexbuf_build_in_place_from_memory(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, blender::draw::MeshRenderData::hide_poly, blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), blender::Span< T >::size(), and blender::draw::SortedFaceData::visible_tris_num.
Referenced by extract_tris().
| void blender::draw::extract_tris_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| MeshBatchCache & | cache, | ||
| gpu::IndexBuf & | ibo ) |
Definition at line 133 of file extract_mesh_ibo_tris.cc.
References draw_subdiv_build_tris_buffer(), extract_tris_subdiv(), GPU_indexbuf_calloc(), GPU_indexbuf_create_subrange_in_place(), GPU_indexbuf_init_build_on_device(), len, blender::draw::DRWSubdivCache::mat_end, blender::draw::MeshBatchCache::mat_len, blender::draw::DRWSubdivCache::mat_start, blender::draw::DRWSubdivCache::num_subdiv_triangles, and blender::draw::MeshBatchCache::tris_per_mat.
Referenced by extract_tris_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_uv_maps | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 82 of file extract_mesh_vbo_uv.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::draw::MeshRenderData::bm, blender::draw::MeshBatchCache::cd_used, Mesh::corner_data, blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, BMesh::ldata, MAX_MTFACE, blender::threading::memory_bandwidth_bound_task(), blender::draw::MeshRenderData::mesh, mesh_extract_uv_format_init(), MR_EXTRACT_BMESH, blender::MutableSpan< T >::size_in_bytes(), and blender::draw::DRW_MeshCDMask::uv.
Referenced by mesh_buffer_cache_create_requested().
| void blender::draw::extract_uv_maps_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 137 of file extract_mesh_vbo_uv.cc.
References Mesh::corner_data, draw_subdiv_extract_uvs(), extract_uv_maps_subdiv(), GPU_vertbuf_init_build_on_device(), int, MAX_MTFACE, blender::draw::DRWSubdivCache::mesh, mesh_extract_uv_format_init(), MR_EXTRACT_MESH, and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_uv_maps_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 82 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::MeshRenderData::bm, bm, BM_ELEM_CD_GET_FLOAT2_P, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, bm_vert_co_get(), CD_PROP_FLOAT2, compute_normalize_edge_vectors(), copy_v2_v2(), copy_v3_v3(), CustomData_get_offset(), edituv_get_edituv_stretch_angle(), float, BMesh::ldata, BMLoop::next, BMLoop::prev, and BMLoop::v.
Referenced by extract_edituv_stretch_angle().
|
static |
Definition at line 140 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References CD_PROP_FLOAT2, compute_normalize_edge_vectors(), copy_v2_v2(), copy_v3_v3(), blender::bke::Corner, blender::draw::MeshRenderData::corner_verts, CustomData_get_active_layer_name(), edituv_get_edituv_stretch_angle(), blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::mesh, blender::IndexRange::start(), and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_edituv_stretch_angle().
|
static |
Definition at line 204 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::edges, extract_vert_idx_loose_geom_subdiv(), blender::MutableSpan< T >::first(), blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_vert, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), subdiv_verts_per_coarse_edge(), blender::MutableSpan< T >::take_back(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_vert_idx_loose_geom_subdiv(), and extract_vert_index_subdiv().
| void blender::draw::extract_vert_index | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 89 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::extract_type, extract_vert_index(), extract_vert_index_bm(), extract_vert_index_mesh(), init_vbo_data(), blender::draw::MeshRenderData::loose_indices_num, and MR_EXTRACT_MESH.
Referenced by extract_vert_index(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 58 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, extract_vert_index_bm(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and BMesh::totface.
Referenced by extract_vert_index(), and extract_vert_index_bm().
|
static |
Definition at line 32 of file extract_mesh_vbo_select_idx.cc.
References blender::array_utils::copy(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edges, extract_mesh_loose_edge_data(), blender::array_utils::gather(), blender::Span< T >::index_range(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::MeshRenderData::orig_index_vert, blender::threading::parallel_for(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_vert_index().
| void blender::draw::extract_vert_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 236 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), data, draw_subdiv_init_origindex_buffer(), extract_vert_idx_loose_geom_subdiv(), extract_vert_index_subdiv(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::MeshRenderData::orig_index_vert, subdiv_full_vbo_size(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_vert_index_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| void blender::draw::extract_vert_normals | ( | const MeshRenderData & | mr, |
| gpu::VertBuf & | vbo ) |
Definition at line 69 of file extract_mesh_vbo_vnor.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, extract_vert_normals(), extract_vert_normals_bm(), extract_vert_normals_mesh(), GPU_COMP_I10, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::draw::MeshRenderData::loose_indices_num, and MR_EXTRACT_MESH.
Referenced by extract_normals_mesh(), extract_vert_normals(), extract_vert_normals(), and mesh_buffer_cache_create_requested().
|
static |
|
static |
Definition at line 31 of file extract_mesh_vbo_vnor.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::parallel_for(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), blender::MutableSpan< T >::take_front(), and BMesh::totface.
Referenced by extract_vert_normals().
|
static |
Definition at line 15 of file extract_mesh_vbo_vnor.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), convert_normals(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edges, extract_mesh_loose_edge_data(), blender::array_utils::gather(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::draw::MeshRenderData::mesh, blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_vert_normals().
|
static |
Definition at line 108 of file extract_mesh_vbo_pos.cc.
References extract_vertex_flags(), flag, blender::draw::MeshRenderData::hide_vert, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::orig_index_vert, ORIGINDEX_NONE, blender::draw::MeshRenderData::select_vert, and blender::draw::MeshRenderData::verts_num.
Referenced by extract_positions_subdiv(), and extract_vertex_flags().
| void blender::draw::extract_weights | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 117 of file extract_mesh_vbo_weights.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), blender::draw::MeshRenderData::extract_type, extract_weights(), extract_weights_bm(), extract_weights_mesh(), blender::MutableSpan< T >::fill(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), MR_EXTRACT_MESH, OB_DRAW_GROUPUSER_NONE, and blender::draw::MeshBatchCache::weight_state.
Referenced by extract_weights(), extract_weights_subdiv(), and mesh_buffer_cache_create_requested().
|
static |
Definition at line 91 of file extract_mesh_vbo_weights.cc.
References blender::draw::DRW_MeshWeightState::alert_mode, blender::draw::MeshRenderData::bm, bm, CD_MDEFORMVERT, CustomData_get_offset(), extract_weights_bm(), blender::MutableSpan< T >::fill(), OB_DRAW_GROUPUSER_NONE, BMesh::totface, and BMesh::vdata.
Referenced by extract_weights(), and extract_weights_bm().
|
static |
Definition at line 71 of file extract_mesh_vbo_weights.cc.
References blender::draw::DRW_MeshWeightState::alert_mode, blender::MutableSpan< T >::fill(), blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::mesh, OB_DRAW_GROUPUSER_NONE, blender::threading::parallel_for(), and blender::Span< T >::size().
Referenced by extract_weights().
| void blender::draw::extract_weights_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache, | ||
| gpu::VertBuf & | vbo ) |
Definition at line 141 of file extract_mesh_vbo_weights.cc.
References draw_subdiv_interp_custom_data(), extract_weights(), extract_weights_subdiv(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_calloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertformat_attr_add(), and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_weights_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 560 of file draw_cache_impl_curves.cc.
References fill_curve_offsets_vbos(), GPU_vertbuf_raw_step(), blender::offset_indices::OffsetIndices< T >::index_range(), and blender::offset_indices::OffsetIndices< T >::size().
Referenced by create_curve_offsets_vbos(), and fill_curve_offsets_vbos().
|
static |
Definition at line 49 of file extract_mesh_ibo_lines.cc.
References blender::threading::memory_bandwidth_bound_task().
Referenced by extract_lines_bm(), and extract_lines_mesh().
|
static |
Definition at line 213 of file draw_cache_impl_curves.cc.
References blender::offset_indices::OffsetIndices< T >::index_range(), and blender::threading::parallel_for().
Referenced by create_points_position_time_vbo().
|
static |
Definition at line 202 of file draw_cache_impl_curves.cc.
References DRW_curves_batch_cache_validate().
Referenced by curves_ensure_procedural_data(), DRW_curves_batch_cache_get_edit_curves_handles(), DRW_curves_batch_cache_get_edit_curves_lines(), DRW_curves_batch_cache_get_edit_points(), DRW_curves_batch_cache_get_sculpt_curves_cage(), DRW_curves_texture_for_evaluated_attribute(), and request_attribute().
|
static |
Definition at line 458 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_U32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_build_cache(), and draw_subdiv_topology_info_cb().
|
static |
Definition at line 242 of file extract_mesh_vbo_tan.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by extract_tangents_subdiv().
|
static |
Definition at line 176 of file extract_mesh_vbo_attributes.cc.
References bm, BMesh::edata, get_custom_data_for_domain(), BMesh::ldata, BMesh::pdata, and BMesh::vdata.
Referenced by extract_attribute(), and get_custom_data_for_domain().
|
static |
Definition at line 98 of file extract_mesh_vbo_pos.cc.
References get_custom_normals_format(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_positions_subdiv(), and get_custom_normals_format().
Definition at line 1390 of file draw_cache_impl_subdivision.cc.
References divide_ceil_u(), and SUBDIV_LOCAL_WORK_GROUP_SIZE.
Referenced by drw_subdiv_compute_dispatch().
|
static |
Definition at line 103 of file extract_mesh_vbo_edit_data.cc.
References GPU_COMP_U8, GPU_FETCH_INT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_edit_data(), and extract_edit_data_subdiv().
|
static |
Definition at line 215 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by extract_edituv_stretch_angle_subdiv().
|
static |
Definition at line 26 of file extract_mesh_vbo_fdots_pos.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by extract_face_dots_subdiv().
|
static |
Definition at line 17 of file extract_mesh_vbo_fdots_pos.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by extract_face_dots_position(), and extract_face_dots_subdiv().
|
static |
Definition at line 88 of file extract_mesh_vbo_pos.cc.
References get_normals_format(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_positions_subdiv(), and get_normals_format().
|
static |
Definition at line 469 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_I32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by build_vertex_face_adjacency_maps(), draw_subdiv_init_origindex_buffer(), and draw_subdiv_topology_info_cb().
|
static |
Definition at line 373 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_I32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_extract_pos_nor(), and draw_subdiv_extract_uvs().
Definition at line 214 of file draw_cache_impl_subdivision.cc.
References BLI_assert_unreachable, BLI_string_joinN, datatoc_common_subdiv_lib_glsl, g_subdiv_shaders, get_shader_code(), get_shader_name(), GPU_shader_create_compute(), MEM_freeN(), openSubdiv_getGLSLPatchBasisSource(), SHADER_PATCH_EVALUATION, SHADER_PATCH_EVALUATION_FACE_DOTS, SHADER_PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS, SHADER_PATCH_EVALUATION_FVAR, and SHADER_PATCH_EVALUATION_ORCO.
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_extract_pos_nor(), draw_subdiv_extract_uvs(), and get_subdiv_shader().
|
static |
Definition at line 388 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_I32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_patch_map_build().
|
static |
Definition at line 421 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_I32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_extract_pos_nor(), and draw_subdiv_extract_uvs().
|
static |
Definition at line 411 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_build_fdots_buffers(), draw_subdiv_extract_pos_nor(), and draw_subdiv_extract_uvs().
|
static |
Definition at line 400 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_U32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_patch_map_build().
|
static |
Definition at line 23 of file extract_mesh_vbo_sculpt_data.cc.
References GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, and GPU_vertformat_attr_add().
Referenced by extract_sculpt_data(), and extract_sculpt_data_subdiv().
|
static |
Definition at line 99 of file draw_cache_impl_subdivision.cc.
References datatoc_common_subdiv_custom_data_interp_comp_glsl, datatoc_common_subdiv_ibo_lines_comp_glsl, datatoc_common_subdiv_ibo_tris_comp_glsl, datatoc_common_subdiv_normals_accumulate_comp_glsl, datatoc_common_subdiv_normals_finalize_comp_glsl, datatoc_common_subdiv_patch_evaluation_comp_glsl, datatoc_common_subdiv_vbo_edge_fac_comp_glsl, datatoc_common_subdiv_vbo_edituv_strech_angle_comp_glsl, datatoc_common_subdiv_vbo_edituv_strech_area_comp_glsl, datatoc_common_subdiv_vbo_lnor_comp_glsl, datatoc_common_subdiv_vbo_sculpt_data_comp_glsl, SHADER_BUFFER_CUSTOM_NORMALS_FINALIZE, SHADER_BUFFER_EDGE_FAC, SHADER_BUFFER_LINES, SHADER_BUFFER_LINES_LOOSE, SHADER_BUFFER_LNOR, SHADER_BUFFER_NORMALS_ACCUMULATE, SHADER_BUFFER_NORMALS_FINALIZE, SHADER_BUFFER_SCULPT_DATA, SHADER_BUFFER_TRIS, SHADER_BUFFER_TRIS_MULTIPLE_MATERIALS, SHADER_BUFFER_UV_STRETCH_ANGLE, SHADER_BUFFER_UV_STRETCH_AREA, SHADER_COMP_CUSTOM_DATA_INTERP_1D, SHADER_COMP_CUSTOM_DATA_INTERP_2D, SHADER_COMP_CUSTOM_DATA_INTERP_3D, SHADER_COMP_CUSTOM_DATA_INTERP_4D, SHADER_PATCH_EVALUATION, SHADER_PATCH_EVALUATION_FACE_DOTS, SHADER_PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS, SHADER_PATCH_EVALUATION_FVAR, and SHADER_PATCH_EVALUATION_ORCO.
Referenced by get_patch_evaluation_shader(), get_subdiv_custom_data_shader(), and get_subdiv_shader().
|
static |
Definition at line 149 of file draw_cache_impl_subdivision.cc.
References SHADER_BUFFER_EDGE_FAC, SHADER_BUFFER_LINES, SHADER_BUFFER_LINES_LOOSE, SHADER_BUFFER_LNOR, SHADER_BUFFER_NORMALS_ACCUMULATE, SHADER_BUFFER_NORMALS_FINALIZE, SHADER_BUFFER_SCULPT_DATA, SHADER_BUFFER_TRIS, SHADER_BUFFER_TRIS_MULTIPLE_MATERIALS, SHADER_BUFFER_UV_STRETCH_ANGLE, SHADER_BUFFER_UV_STRETCH_AREA, SHADER_COMP_CUSTOM_DATA_INTERP_1D, SHADER_COMP_CUSTOM_DATA_INTERP_2D, SHADER_COMP_CUSTOM_DATA_INTERP_3D, SHADER_COMP_CUSTOM_DATA_INTERP_4D, SHADER_PATCH_EVALUATION, SHADER_PATCH_EVALUATION_FACE_DOTS, SHADER_PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS, SHADER_PATCH_EVALUATION_FVAR, and SHADER_PATCH_EVALUATION_ORCO.
Referenced by get_patch_evaluation_shader(), get_subdiv_custom_data_shader(), and get_subdiv_shader().
|
static |
Definition at line 318 of file draw_cache_impl_subdivision.cc.
References BLI_assert, BLI_assert_unreachable, datatoc_common_subdiv_lib_glsl, g_subdiv_custom_data_shaders, get_shader_code(), get_shader_name(), GPU_COMP_F32, GPU_COMP_I32, GPU_COMP_U16, GPU_shader_create_compute(), SHADER_COMP_CUSTOM_DATA_INTERP_1D, and SHADER_CUSTOM_DATA_INTERP_MAX_DIMENSIONS.
Referenced by draw_subdiv_interp_custom_data().
|
static |
Definition at line 177 of file extract_mesh_vbo_edge_fac.cc.
References get_subdiv_edge_fac_format(), GPU_COMP_F32, GPU_COMP_U8, GPU_crappy_amd_driver(), GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_minimum_per_vertex_stride(), and GPU_vertformat_attr_add().
Referenced by extract_edge_factor_subdiv(), and get_subdiv_edge_fac_format().
|
static |
Definition at line 251 of file extract_mesh_vbo_lnor.cc.
References get_subdiv_lnor_format(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_normals_subdiv(), and get_subdiv_lnor_format().
Definition at line 266 of file draw_cache_impl_subdivision.cc.
References BLI_assert, datatoc_common_subdiv_lib_glsl, ELEM, g_subdiv_shaders, get_patch_evaluation_shader(), get_shader_code(), get_shader_name(), GPU_crappy_amd_driver(), GPU_shader_create_compute(), SHADER_BUFFER_CUSTOM_NORMALS_FINALIZE, SHADER_BUFFER_EDGE_FAC, SHADER_BUFFER_LINES, SHADER_BUFFER_LINES_LOOSE, SHADER_BUFFER_LNOR, SHADER_BUFFER_TRIS, SHADER_BUFFER_TRIS_MULTIPLE_MATERIALS, SHADER_BUFFER_UV_STRETCH_AREA, SHADER_COMP_CUSTOM_DATA_INTERP_1D, SHADER_COMP_CUSTOM_DATA_INTERP_2D, SHADER_COMP_CUSTOM_DATA_INTERP_3D, SHADER_COMP_CUSTOM_DATA_INTERP_4D, SHADER_PATCH_EVALUATION, SHADER_PATCH_EVALUATION_FACE_DOTS, SHADER_PATCH_EVALUATION_FVAR, and SHADER_PATCH_EVALUATION_ORCO.
Referenced by draw_subdiv_accumulate_normals(), draw_subdiv_build_edge_fac_buffer(), draw_subdiv_build_edituv_stretch_angle_buffer(), draw_subdiv_build_edituv_stretch_area_buffer(), draw_subdiv_build_lines_buffer(), draw_subdiv_build_lines_loose_buffer(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_finalize_custom_normals(), and draw_subdiv_finalize_normals().
|
static |
Definition at line 431 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_build_fdots_buffers(), and draw_subdiv_extract_pos_nor().
|
static |
Definition at line 363 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_extract_uvs().
|
static |
Definition at line 71 of file draw_cache_impl_gpencil_legacy.cc.
References GpencilBatchCache::edit_curve_handles_batch, GpencilBatchCache::edit_curve_points_batch, GpencilBatchCache::edit_curve_vbo, GpencilBatchCache::edit_lines_batch, GpencilBatchCache::edit_points_batch, GpencilBatchCache::edit_vbo, GpencilBatchCache::geom_batch, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, GpencilBatchCache::ibo, GpencilBatchCache::is_dirty, GpencilBatchCache::lines_batch, GpencilBatchCache::vbo, and GpencilBatchCache::vbo_col.
Referenced by DRW_gpencil_batch_cache_free().
|
static |
Definition at line 1126 of file draw_cache_impl_subdivision.cc.
References GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, len, and verts.
Referenced by build_vertex_face_adjacency_maps(), and draw_subdiv_build_cache().
|
static |
Definition at line 146 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, blender::draw::GreasePencilBatchCache::edit_line_indices, blender::draw::GreasePencilBatchCache::edit_line_pos, blender::draw::GreasePencilBatchCache::edit_line_selection, blender::draw::GreasePencilBatchCache::edit_lines, blender::draw::GreasePencilBatchCache::edit_points, blender::draw::GreasePencilBatchCache::edit_points_indices, blender::draw::GreasePencilBatchCache::edit_points_pos, blender::draw::GreasePencilBatchCache::edit_points_selection, blender::draw::GreasePencilBatchCache::edit_points_vflag, blender::draw::GreasePencilBatchCache::geom_batch, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::GreasePencilBatchCache::ibo, blender::draw::GreasePencilBatchCache::is_dirty, blender::draw::GreasePencilBatchCache::lines_batch, GreasePencil::runtime, blender::draw::GreasePencilBatchCache::vbo, and blender::draw::GreasePencilBatchCache::vbo_col.
Referenced by DRW_grease_pencil_batch_cache_free(), DRW_grease_pencil_batch_cache_validate(), and grease_pencil_batch_cache_get().
|
static |
Definition at line 176 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, grease_pencil_batch_cache_clear(), grease_pencil_batch_cache_init(), grease_pencil_batch_cache_valid(), and GreasePencil::runtime.
Referenced by DRW_cache_grease_pencil_color_buffer_get(), DRW_cache_grease_pencil_edit_lines_get(), DRW_cache_grease_pencil_edit_points_get(), DRW_cache_grease_pencil_face_wireframe_get(), DRW_cache_grease_pencil_get(), DRW_cache_grease_pencil_position_buffer_get(), DRW_cache_grease_pencil_weight_lines_get(), and DRW_cache_grease_pencil_weight_points_get().
|
static |
Definition at line 127 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, blender::draw::GreasePencilBatchCache::cache_frame, blender::draw::GreasePencilBatchCache::is_dirty, and GreasePencil::runtime.
Referenced by DRW_grease_pencil_batch_cache_validate(), and grease_pencil_batch_cache_get().
|
static |
Definition at line 228 of file draw_cache_impl_grease_pencil.cc.
References blender::draw::GreasePencilBatchCache::edit_line_indices, blender::draw::GreasePencilBatchCache::edit_lines, blender::draw::GreasePencilBatchCache::edit_points, blender::draw::GreasePencilBatchCache::edit_points_indices, and blender::draw::GreasePencilBatchCache::edit_points_pos.
Referenced by grease_pencil_edit_batch_ensure(), and grease_pencil_weight_batch_ensure().
|
static |
Definition at line 118 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, blender::draw::GreasePencilBatchCache::cache_frame, blender::draw::GreasePencilBatchCache::is_dirty, and GreasePencil::runtime.
Referenced by DRW_grease_pencil_batch_cache_validate(), and grease_pencil_batch_cache_get().
|
static |
Definition at line 486 of file draw_cache_impl_grease_pencil.cc.
References blender::array_utils::gather(), grease_pencil_get_visible_nurbs_curves(), grease_pencil_get_visible_nurbs_points(), blender::index_mask::IndexMask::index_range(), blender::index_mask::IndexMask::is_empty(), blender::threading::parallel_for(), blender::index_mask::IndexMask::size(), blender::MutableSpan< T >::slice(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 102 of file draw_cache_impl_grease_pencil.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_attr_add().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 678 of file draw_cache_impl_grease_pencil.cc.
References blender::MutableSpan< T >::as_span(), GPUVertFormat::attr_len, blender::Array< T, InlineBufferCapacity, Allocator >::begin(), BLI_assert, blender::array_utils::copy(), blender::array_utils::count_booleans(), CURVE_TYPE_POLY, blender::gpu::VertBuf::data(), blender::draw::GreasePencilBatchCache::edit_line_indices, blender::draw::GreasePencilBatchCache::edit_line_pos, blender::draw::GreasePencilBatchCache::edit_line_selection, blender::draw::GreasePencilBatchCache::edit_lines, blender::draw::GreasePencilBatchCache::edit_points, blender::draw::GreasePencilBatchCache::edit_points_indices, blender::draw::GreasePencilBatchCache::edit_points_pos, blender::draw::GreasePencilBatchCache::edit_points_selection, blender::draw::GreasePencilBatchCache::edit_points_vflag, blender::Array< T, InlineBufferCapacity, Allocator >::end(), blender::bke::CurvesGeometry::evaluated_points_num(), blender::array_utils::gather(), blender::offset_indices::gather_group_sizes(), GPU_batch_create, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_COMP_U32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_indexbuf_build(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_PRIM_POINTS, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_vertex_len(), GPU_vertbuf_use(), GPU_vertformat_attr_add(), grease_pencil_batch_cache_is_edit_discarded(), grease_pencil_cache_add_nurbs(), GREASE_PENCIL_EDIT_STROKE_END, GREASE_PENCIL_EDIT_STROKE_START, grease_pencil_get_visible_non_nurbs_curves(), grease_pencil_get_visible_nurbs_points(), index_buf_add_bezier_line_points(), index_buf_add_bezier_lines(), index_buf_add_line_points(), index_buf_add_nurbs_lines(), index_buf_add_points(), blender::index_mask::IndexMask::index_range(), blender::draw::GreasePencilBatchCache::is_dirty, blender::index_mask::IndexMask::is_empty(), blender::index_mask::masked_fill(), blender::threading::parallel_for(), blender::bke::Point, blender::bke::CurvesGeometry::points_num(), blender::ed::greasepencil::retrieve_editable_and_selected_points(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), blender::ed::greasepencil::retrieve_visible_bezier_handle_points(), blender::ed::greasepencil::retrieve_visible_drawings(), GreasePencil::runtime, blender::index_mask::IndexMask::size(), and blender::MutableSpan< T >::slice().
Referenced by DRW_cache_grease_pencil_edit_lines_get(), and DRW_cache_grease_pencil_edit_points_get().
|
static |
Definition at line 1056 of file draw_cache_impl_grease_pencil.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), attribute_interpolate(), BLI_assert, blender::index_mask::IndexMask::contains(), copy_v2_v2(), copy_v3_v3(), copy_v4_v4(), blender::bke::Curve, blender::gpu::VertBuf::data(), blender::ed::greasepencil::DrawingInfo::drawing, blender::bke::greasepencil::Drawing::fill_colors(), blender::IndexRange::first(), blender::MutableSpan< T >::first(), blender::index_mask::IndexMask::foreach_index(), blender::draw::GreasePencilBatchCache::geom_batch, GP_IS_STROKE_VERTEX_BIT, GP_STROKE_CAP_TYPE_ROUND, GP_VERTEX_ID_SHIFT, GPENCIL_MATERIAL_BUFFER_LEN, GPU_batch_create, GPU_indexbuf_add_tri_verts(), GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_TRIS, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertbuf_use(), grease_pencil_color_format(), grease_pencil_stroke_format(), blender::draw::GreasePencilBatchCache::ibo, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), int, blender::math::invert(), is_cyclic(), blender::draw::GreasePencilBatchCache::is_dirty, blender::MutableSpan< T >::last(), blender::ed::greasepencil::DrawingInfo::layer_index, blender::bke::greasepencil::LEGACY_RADIUS_CONVERSION_FACTOR, blender::math::max(), blender::bke::greasepencil::Drawing::opacities(), pack_rotation_aspect_hardness(), blender::bke::Point, pos, blender::bke::greasepencil::Drawing::radii(), blender::ed::greasepencil::retrieve_visible_drawings(), blender::ed::greasepencil::retrieve_visible_strokes(), GreasePencil::runtime, blender::Array< T, InlineBufferCapacity, Allocator >::size(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Drawing::texture_matrices(), blender::math::transform_point(), blender::bke::greasepencil::Drawing::triangles(), blender::draw::GreasePencilBatchCache::vbo, blender::draw::GreasePencilBatchCache::vbo_col, and verts.
Referenced by DRW_cache_grease_pencil_color_buffer_get(), DRW_cache_grease_pencil_get(), DRW_cache_grease_pencil_position_buffer_get(), and grease_pencil_wire_batch_ensure().
|
static |
Definition at line 470 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_NURBS, blender::index_mask::IndexMask::from_intersection(), blender::index_mask::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_visible_strokes(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure(), and index_buf_add_line_points().
|
static |
Definition at line 445 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_NURBS, blender::index_mask::IndexMask::from_intersection(), blender::index_mask::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_cache_add_nurbs(), and index_buf_add_nurbs_lines().
|
static |
Definition at line 416 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::contains(), CURVE_TYPE_NURBS, blender::index_mask::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_cache_add_nurbs(), and grease_pencil_edit_batch_ensure().
|
static |
Definition at line 85 of file draw_cache_impl_grease_pencil.cc.
References GPU_COMP_F32, GPU_COMP_I32, GPU_FETCH_FLOAT, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 236 of file draw_cache_impl_grease_pencil.cc.
References GPUVertFormat::attr_len, blender::Array< T, InlineBufferCapacity, Allocator >::begin(), BLI_assert, BLI_findlink(), blender::array_utils::count_booleans(), blender::gpu::VertBuf::data(), blender::draw::GreasePencilBatchCache::edit_line_indices, blender::draw::GreasePencilBatchCache::edit_lines, blender::draw::GreasePencilBatchCache::edit_points, blender::draw::GreasePencilBatchCache::edit_points_indices, blender::draw::GreasePencilBatchCache::edit_points_pos, blender::draw::GreasePencilBatchCache::edit_points_selection, blender::Array< T, InlineBufferCapacity, Allocator >::end(), blender::index_mask::IndexMask::foreach_index(), blender::offset_indices::gather_group_sizes(), GPU_batch_create, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_indexbuf_build(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_PRIM_POINTS, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertbuf_get_vertex_len(), GPU_vertbuf_use(), GPU_vertformat_attr_add(), grease_pencil_batch_cache_is_edit_discarded(), is_cyclic(), blender::draw::GreasePencilBatchCache::is_dirty, blender::VArrayCommon< T >::materialize(), bDeformGroup::name, blender::threading::parallel_for(), blender::bke::Point, blender::bke::CurvesGeometry::points_num(), blender::ed::greasepencil::retrieve_visible_drawings(), blender::ed::greasepencil::retrieve_visible_strokes(), GreasePencil::runtime, blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::MutableSpan< T >::slice(), GreasePencil::vertex_group_active_index, and GreasePencil::vertex_group_names.
Referenced by DRW_cache_grease_pencil_weight_lines_get(), and DRW_cache_grease_pencil_weight_points_get().
|
static |
Definition at line 1333 of file draw_cache_impl_grease_pencil.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_get_data(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_vertbuf_get_vertex_len(), grease_pencil_geom_batch_ensure(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), is_cyclic(), blender::draw::GreasePencilBatchCache::lines_batch, blender::threading::parallel_for(), blender::ed::greasepencil::retrieve_visible_drawings(), blender::ed::greasepencil::retrieve_visible_strokes(), GreasePencil::runtime, blender::offset_indices::OffsetIndices< T >::size(), and blender::draw::GreasePencilBatchCache::vbo.
Referenced by DRW_cache_grease_pencil_face_wireframe_get().
| void blender::draw::hair_free | ( | ) |
Definition at line 344 of file draw_hair.cc.
References g_pass.
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
| void blender::draw::hair_init | ( | ) |
Hair.
Definition at line 272 of file draw_hair.cc.
References DRW_STATE_NO_DRAW, g_pass, blender::draw::detail::Pass< DrawCommandBufType >::init(), and blender::draw::detail::PassBase< DrawCommandBufType >::state_set().
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
|
static |
Definition at line 281 of file draw_hair.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), DRW_shader_hair_refine_get(), ParticleHairCache::final, g_pass, GPU_max_work_group_count(), PART_REFINE_CATMULL_ROM, particles_ensure_procedural_data(), ParticleHairFinalCache::proc_buf, ParticleHairCache::proc_point_buf, ParticleHairCache::proc_strand_buf, ParticleHairCache::proc_strand_seg_buf, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), ParticleHairCache::strands_len, ParticleHairFinalCache::strands_res, blender::draw::detail::PassBase< DrawCommandBufType >::sub(), and update().
Referenced by hair_pos_buffer_get().
| blender::gpu::VertBuf * blender::draw::hair_pos_buffer_get | ( | Scene * | scene, |
| Object * | object, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md ) |
Definition at line 324 of file draw_hair.cc.
References ParticleHairCache::final, hair_particle_cache_get(), ParticleHairFinalCache::proc_buf, and SCE_HAIR_SHAPE_STRAND.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| gpu::Batch * blender::draw::hair_sub_pass_setup | ( | PassMain::Sub & | sub_ps, |
| const Scene * | scene, | ||
| Object * | object, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 416 of file draw_hair.cc.
References hair_sub_pass_setup_implementation().
Referenced by blender::eevee::SyncModule::sync_curves().
| blender::gpu::Batch * blender::draw::hair_sub_pass_setup_implementation | ( | PassT & | sub_ps, |
| const Scene * | scene, | ||
| Object * | object, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| GPUMaterial * | gpu_material ) |
NOTE: This still relies on the old DRW_hair implementation.
Definition at line 351 of file draw_hair.cc.
References ParticleHairCache::col_layer_names, ParticleHairCache::col_tex, DRW_hair_duplimat_get(), drw_hair_particle_cache_get(), ParticleHairCache::final, g_dummy_curves_info, g_dummy_vbo, MAX_LAYER_NAME_CT, ParticleHairCache::num_col_layers, ParticleHairCache::num_uv_layers, ParticleSystem::part, PART_SHAPE_CLOSE_TIP, ParticleHairFinalCache::proc_buf, ParticleHairFinalCache::proc_hairs, ParticleHairCache::proc_length_buf, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), SCE_HAIR_SHAPE_STRAND, ParticleSettings::shape, ParticleHairFinalCache::strands_res, ParticleHairCache::uv_layer_names, and ParticleHairCache::uv_tex.
Referenced by hair_sub_pass_setup().
| void blender::draw::hair_update | ( | Manager & | manager | ) |
Definition at line 338 of file draw_hair.cc.
References g_pass, GPU_BARRIER_SHADER_STORAGE, GPU_memory_barrier(), and blender::draw::Manager::submit().
Referenced by blender::eevee::Instance::render_sync(), and blender::eevee::VelocityModule::step_sync().
|
static |
Definition at line 648 of file draw_cache_impl_grease_pencil.cc.
References GPU_indexbuf_add_generic_vert(), blender::index_mask::IndexMask::is_empty(), blender::ed::greasepencil::retrieve_visible_bezier_handle_points(), and blender::index_mask::IndexMask::size().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 595 of file draw_cache_impl_grease_pencil.cc.
References GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), blender::index_mask::IndexMask::index_range(), blender::index_mask::IndexMask::is_empty(), blender::ed::greasepencil::retrieve_visible_bezier_handle_points(), and blender::index_mask::IndexMask::size().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 533 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), grease_pencil_get_visible_non_nurbs_curves(), is_cyclic(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 566 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), grease_pencil_get_visible_nurbs_curves(), blender::index_mask::IndexMask::is_empty(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 623 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_add_generic_vert(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 35 of file extract_mesh_ibo_fdots.cc.
References GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, and blender::index_mask::IndexMask::min_array_size().
Referenced by extract_face_dots_bm(), and extract_face_dots_mesh().
|
static |
Definition at line 122 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesBatchCache::eval_cache, and blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_curves_batch_cache_validate().
| GPUVertFormat blender::draw::init_format_for_attribute | ( | const eCustomDataType | data_type, |
| const StringRefNull | vbo_name ) |
Definition at line 19 of file attribute_convert.cc.
References blender::StringRefNull::c_str(), blender::bke::attribute_math::convert_to_static_type(), and GPU_vertformat_attr_add().
Referenced by blender::draw::pbvh::attribute_format(), and init_vbo_for_attribute().
|
static |
Definition at line 16 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), GPU_COMP_I32, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, and GPU_vertformat_attr_add().
Referenced by extract_edge_index(), extract_face_dot_index(), extract_face_index(), and extract_vert_index().
|
static |
Definition at line 33 of file extract_mesh_vbo_attributes.cc.
References blender::draw::MeshRenderData::active_color_name, blender::draw::DRW_AttributeRequest::attribute_name, blender::draw::DRW_AttributeRequest::cd_type, blender::draw::MeshRenderData::default_color_name, GPU_MAX_SAFE_ATTR_NAME, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format, GPU_vertformat_alias_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), init_format_for_attribute(), len, SNPRINTF, and STREQ.
Referenced by extract_attributes(), and extract_attributes_subdiv().
|
static |
Definition at line 299 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeBatchCache::all_edges, blender::draw::LatticeBatchCache::all_verts, Lattice::batch_cache, blender::draw::LatticeBatchCache::edges, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::LatticeBatchCache::overlay_verts, and blender::draw::LatticeBatchCache::pos.
Referenced by DRW_lattice_batch_cache_free(), and DRW_lattice_batch_cache_validate().
|
static |
Definition at line 416 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeRenderData::actbp, attr_id, blender::gpu::VertBuf::data(), data, BPoint::f1, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_PRIM_POINTS, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), lattice_batch_cache_get(), lattice_render_data_create(), lattice_render_data_free(), lattice_render_data_vert_bpoint(), lattice_render_data_verts_len_get(), LR_DATATYPE_OVERLAY, LR_DATATYPE_VERT, options, blender::draw::LatticeBatchCache::overlay_verts, pos, SELECT, BPoint::vec, VFLAG_VERT_ACTIVE, and VFLAG_VERT_SELECTED.
Referenced by DRW_lattice_batch_cache_get_edit_verts().
|
static |
Definition at line 275 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache.
Referenced by DRW_lattice_batch_cache_get_all_edges(), DRW_lattice_batch_cache_get_all_verts(), DRW_lattice_batch_cache_get_edit_verts(), and lattice_batch_cache_create_overlay_batches().
|
static |
Definition at line 359 of file draw_cache_impl_lattice.cc.
References BLI_assert, blender::draw::LatticeRenderData::dims, blender::draw::LatticeBatchCache::edges, ELEM, GPU_indexbuf_add_line_verts(), GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_LINES, LATT_INDEX, lattice_render_data_edges_len_get(), lattice_render_data_verts_len_get(), LR_DATATYPE_EDGE, LR_DATATYPE_VERT, blender::draw::LatticeRenderData::show_only_outside, blender::draw::LatticeRenderData::types, blender::draw::LatticeRenderData::u_len, UNUSED_VARS_NDEBUG, v, blender::draw::LatticeRenderData::v_len, w(), and blender::draw::LatticeRenderData::w_len.
Referenced by DRW_lattice_batch_cache_get_all_edges().
|
static |
Definition at line 321 of file draw_cache_impl_lattice.cc.
References attr_id, BKE_defvert_find_weight(), BLI_assert, col, blender::draw::LatticeRenderData::dvert, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), lattice_render_data_vert_bpoint(), lattice_render_data_verts_len_get(), LR_DATATYPE_VERT, blender::draw::LatticeBatchCache::pos, pos, blender::draw::LatticeRenderData::types, and BPoint::vec.
Referenced by DRW_lattice_batch_cache_get_all_edges(), and DRW_lattice_batch_cache_get_all_verts().
|
static |
Definition at line 245 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache, blender::draw::LatticeBatchCache::dims, Lattice::editlatt, Lattice::flag, blender::draw::LatticeBatchCache::is_dirty, blender::draw::LatticeBatchCache::is_editmode, LT_OUTSIDE, MEM_callocN, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, blender::draw::LatticeBatchCache::show_only_outside, blender::draw::LatticeBatchCache::u_len, blender::draw::LatticeBatchCache::v_len, and blender::draw::LatticeBatchCache::w_len.
Referenced by DRW_lattice_batch_cache_validate().
|
static |
Definition at line 219 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache, blender::draw::LatticeBatchCache::dims, Lattice::editlatt, Lattice::flag, blender::draw::LatticeBatchCache::is_dirty, blender::draw::LatticeBatchCache::is_editmode, LT_OUTSIDE, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, blender::draw::LatticeBatchCache::show_only_outside, blender::draw::LatticeBatchCache::u_len, blender::draw::LatticeBatchCache::v_len, and blender::draw::LatticeBatchCache::w_len.
Referenced by DRW_lattice_batch_cache_validate().
|
static |
Definition at line 117 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeRenderData::actbp, Lattice::actbp, blender::draw::LatticeRenderData::bp, Lattice::def, blender::draw::LatticeRenderData::dims, blender::draw::LatticeRenderData::dvert, Lattice::dvert, blender::draw::LatticeRenderData::edge_len, blender::draw::LatticeRenderData::edit_latt, Lattice::editlatt, Lattice::flag, EditLatt::latt, lattice_render_edges_len_get(), lattice_render_verts_len_get(), LR_DATATYPE_EDGE, LR_DATATYPE_OVERLAY, LR_DATATYPE_VERT, LT_OUTSIDE, MEM_callocN, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, blender::draw::LatticeRenderData::show_only_outside, blender::draw::LatticeRenderData::types, types, blender::draw::LatticeRenderData::u_len, blender::draw::LatticeRenderData::v_len, blender::draw::LatticeRenderData::vert_len, and blender::draw::LatticeRenderData::w_len.
Referenced by DRW_lattice_batch_cache_get_all_edges(), DRW_lattice_batch_cache_get_all_verts(), and lattice_batch_cache_create_overlay_batches().
|
static |
Definition at line 181 of file draw_cache_impl_lattice.cc.
References BLI_assert, blender::draw::LatticeRenderData::edge_len, LR_DATATYPE_EDGE, and blender::draw::LatticeRenderData::types.
Referenced by lattice_batch_cache_get_edges().
|
static |
Definition at line 165 of file draw_cache_impl_lattice.cc.
References MEM_freeN().
Referenced by DRW_lattice_batch_cache_get_all_edges(), DRW_lattice_batch_cache_get_all_verts(), and lattice_batch_cache_create_overlay_batches().
|
static |
Definition at line 187 of file draw_cache_impl_lattice.cc.
References BLI_assert, blender::draw::LatticeRenderData::bp, LR_DATATYPE_VERT, and blender::draw::LatticeRenderData::types.
Referenced by lattice_batch_cache_create_overlay_batches(), and lattice_batch_cache_get_pos().
|
static |
Definition at line 175 of file draw_cache_impl_lattice.cc.
References BLI_assert, LR_DATATYPE_VERT, blender::draw::LatticeRenderData::types, and blender::draw::LatticeRenderData::vert_len.
Referenced by lattice_batch_cache_create_overlay_batches(), lattice_batch_cache_get_edges(), and lattice_batch_cache_get_pos().
Definition at line 71 of file draw_cache_impl_lattice.cc.
References edge_len_calc(), Lattice::editlatt, Lattice::flag, EditLatt::latt, LT_OUTSIDE, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, v, and w().
Referenced by lattice_render_data_create().
Definition at line 53 of file draw_cache_impl_lattice.cc.
References Lattice::editlatt, Lattice::flag, EditLatt::latt, LT_OUTSIDE, Lattice::pntsu, Lattice::pntsv, Lattice::pntsw, v, vert_len_calc(), and w().
Referenced by lattice_render_data_create().
|
inline |
| vert_to_corner | Array to convert vert index to any corner of this vert. |
Definition at line 58 of file extract_mesh_ibo_lines_adjacency.cc.
References blender::math::abs(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), e, GPU_indexbuf_add_line_adj_verts(), int, NO_EDGE, and rotate_vector().
Referenced by calc_adjacency_bm(), calc_adjacency_mesh(), and extract_lines_adjacency_subdiv().
| MINLINE CompressedPatchCoord blender::draw::make_patch_coord | ( | int | ptex_face_index, |
| float | u, | ||
| float | v ) |
Definition at line 448 of file draw_cache_impl_subdivision.cc.
References v.
Referenced by draw_subdiv_build_cache(), and draw_subdiv_loop_cb().
| BLI_INLINE void blender::draw::mesh_batch_cache_add_request | ( | MeshBatchCache & | cache, |
| DRWBatchFlag | new_flag ) |
Definition at line 544 of file draw_cache_impl_mesh.cc.
References atomic_fetch_and_or_uint32(), and blender::draw::MeshBatchCache::batch_requested.
Referenced by DRW_mesh_batch_cache_get_all_edges(), DRW_mesh_batch_cache_get_all_verts(), DRW_mesh_batch_cache_get_edge_detection(), DRW_mesh_batch_cache_get_edges_with_select_id(), DRW_mesh_batch_cache_get_edit_edges(), DRW_mesh_batch_cache_get_edit_facedots(), DRW_mesh_batch_cache_get_edit_loop_normals(), DRW_mesh_batch_cache_get_edit_mesh_analysis(), DRW_mesh_batch_cache_get_edit_skin_roots(), DRW_mesh_batch_cache_get_edit_triangles(), DRW_mesh_batch_cache_get_edit_vert_normals(), DRW_mesh_batch_cache_get_edit_vertices(), DRW_mesh_batch_cache_get_edituv_edges(), DRW_mesh_batch_cache_get_edituv_facedots(), DRW_mesh_batch_cache_get_edituv_faces(), DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(), DRW_mesh_batch_cache_get_edituv_faces_stretch_area(), DRW_mesh_batch_cache_get_edituv_verts(), DRW_mesh_batch_cache_get_facedots_with_select_id(), DRW_mesh_batch_cache_get_loose_edges(), DRW_mesh_batch_cache_get_sculpt_overlays(), DRW_mesh_batch_cache_get_surface_edges(), DRW_mesh_batch_cache_get_surface_viewer_attribute(), DRW_mesh_batch_cache_get_surface_weights(), DRW_mesh_batch_cache_get_triangles_with_select_id(), DRW_mesh_batch_cache_get_uv_edges(), DRW_mesh_batch_cache_get_verts_with_select_id(), DRW_mesh_batch_cache_get_wireframes_face(), and mesh_batch_cache_request_surface_batches().
|
static |
Definition at line 621 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, drw_mesh_weight_state_clear(), drw_mesh_weight_state_compare(), FOREACH_MESH_BUFFER_CACHE, GPU_BATCH_CLEAR_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::MeshBatchList::surface_weights, and blender::draw::MeshBatchCache::weight_state.
Referenced by DRW_mesh_batch_cache_create_requested().
|
static |
Definition at line 806 of file draw_cache_impl_mesh.cc.
References batch, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, drw_mesh_weight_state_clear(), FOREACH_MESH_BUFFER_CACHE, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, blender::draw::MeshBatchCache::mat_len, mesh_batch_cache_discard_shaded_tri(), mesh_batch_cache_discard_uvedit(), mesh_batch_cache_free_subdiv_cache(), mesh_buffer_cache_clear(), blender::draw::MeshBatchCache::surface_per_mat, blender::draw::MeshBatchCache::tris_per_mat, and blender::draw::MeshBatchCache::weight_state.
Referenced by DRW_mesh_batch_cache_free(), and DRW_mesh_batch_cache_validate().
|
static |
Definition at line 206 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, GPU_BATCH_DISCARD_SAFE, MBC_BATCH_LEN, MBC_SURFACE_PER_MAT, and mesh_batch_cache_discard_surface_batches().
Referenced by DRW_mesh_batch_cache_dirty_tag(), mesh_batch_cache_discard_shaded_tri(), mesh_batch_cache_discard_uvedit(), and mesh_batch_cache_discard_uvedit_select().
|
static |
Definition at line 657 of file draw_cache_impl_mesh.cc.
References BATCH_MAP, blender::draw::MeshBatchCache::cd_used, FOREACH_MESH_BUFFER_CACHE, GPU_VERTBUF_DISCARD_SAFE, mesh_batch_cache_discard_batch(), and mesh_cd_layers_type_clear().
Referenced by DRW_mesh_batch_cache_dirty_tag(), DRW_mesh_batch_cache_free_old(), and mesh_batch_cache_clear().
|
static |
Definition at line 648 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, GPU_BATCH_DISCARD_SAFE, blender::draw::MeshBatchCache::mat_len, blender::draw::MeshBatchList::surface, and blender::draw::MeshBatchCache::surface_per_mat.
Referenced by mesh_batch_cache_discard_batch().
|
static |
Definition at line 669 of file draw_cache_impl_mesh.cc.
References BATCH_MAP, blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBatchCache::cd_used, blender::draw::DRW_MeshCDMask::edit_uv, FOREACH_MESH_BUFFER_CACHE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, mesh_batch_cache_discard_batch(), blender::draw::MeshBatchCache::tot_area, blender::draw::MeshBatchCache::tot_uv_area, and blender::draw::DRW_MeshCDMask::uv.
Referenced by DRW_mesh_batch_cache_dirty_tag(), and mesh_batch_cache_clear().
|
static |
Definition at line 705 of file draw_cache_impl_mesh.cc.
References BATCH_MAP, FOREACH_MESH_BUFFER_CACHE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, and mesh_batch_cache_discard_batch().
Referenced by DRW_mesh_batch_cache_dirty_tag().
|
static |
Definition at line 828 of file draw_cache_impl_subdivision.cc.
References blender::draw::MeshBatchCache::subdiv_cache.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 797 of file draw_cache_impl_mesh.cc.
References draw_subdiv_cache_free(), and blender::draw::MeshBatchCache::subdiv_cache.
Referenced by DRW_mesh_batch_cache_create_requested(), and mesh_batch_cache_clear().
|
static |
Definition at line 616 of file draw_cache_impl_mesh.cc.
Referenced by drw_mesh_batch_cache_check_available(), DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_get_all_edges(), DRW_mesh_batch_cache_get_all_verts(), DRW_mesh_batch_cache_get_edge_detection(), DRW_mesh_batch_cache_get_edges_with_select_id(), DRW_mesh_batch_cache_get_edit_edges(), DRW_mesh_batch_cache_get_edit_facedots(), DRW_mesh_batch_cache_get_edit_loop_normals(), DRW_mesh_batch_cache_get_edit_mesh_analysis(), DRW_mesh_batch_cache_get_edit_skin_roots(), DRW_mesh_batch_cache_get_edit_triangles(), DRW_mesh_batch_cache_get_edit_vert_normals(), DRW_mesh_batch_cache_get_edit_vertices(), DRW_mesh_batch_cache_get_edituv_edges(), DRW_mesh_batch_cache_get_edituv_facedots(), DRW_mesh_batch_cache_get_edituv_faces(), DRW_mesh_batch_cache_get_edituv_faces_stretch_angle(), DRW_mesh_batch_cache_get_edituv_faces_stretch_area(), DRW_mesh_batch_cache_get_edituv_verts(), DRW_mesh_batch_cache_get_facedots_with_select_id(), DRW_mesh_batch_cache_get_loose_edges(), DRW_mesh_batch_cache_get_sculpt_overlays(), DRW_mesh_batch_cache_get_surface(), DRW_mesh_batch_cache_get_surface_edges(), DRW_mesh_batch_cache_get_surface_sculpt(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_batch_cache_get_surface_texpaint(), DRW_mesh_batch_cache_get_surface_texpaint_single(), DRW_mesh_batch_cache_get_surface_vertpaint(), DRW_mesh_batch_cache_get_surface_viewer_attribute(), DRW_mesh_batch_cache_get_surface_weights(), DRW_mesh_batch_cache_get_triangles_with_select_id(), DRW_mesh_batch_cache_get_uv_edges(), DRW_mesh_batch_cache_get_verts_with_select_id(), DRW_mesh_batch_cache_get_wireframes_face(), and DRW_mesh_batch_cache_pos_vertbuf_get().
Definition at line 576 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBatchCache::batch_requested, drw_mesh_weight_state_clear(), blender::draw::MeshBatchCache::is_dirty, blender::draw::MeshBatchCache::is_editmode, blender::draw::MeshBatchCache::mat_len, mesh_render_mat_len_get(), blender::draw::MeshBatchCache::surface_per_mat, blender::draw::MeshBatchCache::tris_per_mat, and blender::draw::MeshBatchCache::weight_state.
Referenced by DRW_mesh_batch_cache_validate().
|
static |
Definition at line 636 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchCache::mat_len, MBC_SURFACE, mesh_batch_cache_add_request(), blender::draw::MeshBatchList::surface, and blender::draw::MeshBatchCache::surface_per_mat.
Referenced by DRW_mesh_batch_cache_get_surface(), DRW_mesh_batch_cache_get_surface_sculpt(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_batch_cache_get_surface_texpaint(), DRW_mesh_batch_cache_get_surface_texpaint_single(), DRW_mesh_batch_cache_get_surface_vertpaint(), and DRW_mesh_batch_cache_pos_vertbuf_get().
Definition at line 551 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::is_dirty, blender::draw::MeshBatchCache::is_editmode, blender::draw::MeshBatchCache::mat_len, and mesh_render_mat_len_get().
Referenced by DRW_mesh_batch_cache_validate().
|
static |
Definition at line 789 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBufferCache::buff, blender::draw::MeshBufferCache::face_sorted, blender::draw::MeshBufferCache::loose_geom, and mesh_buffer_list_clear().
Referenced by mesh_batch_cache_clear().
| void blender::draw::mesh_buffer_cache_create_requested | ( | TaskGraph & | task_graph, |
| MeshBatchCache & | cache, | ||
| MeshBufferCache & | mbc, | ||
| Object & | object, | ||
| Mesh & | mesh, | ||
| bool | is_editmode, | ||
| bool | is_paint_mode, | ||
| bool | edit_mode_active, | ||
| const float4x4 & | object_to_world, | ||
| bool | do_final, | ||
| bool | do_uvedit, | ||
| const Scene & | scene, | ||
| const ToolSettings * | ts, | ||
| bool | use_hide ) |
Definition at line 105 of file draw_cache_extract_mesh.cc.
References any_attr_requested(), BLI_task_graph_edge_create(), BLI_task_graph_node_create(), BLI_task_graph_node_push_work(), BLI_task_graph_work_and_wait(), BLI_time_now_seconds(), blender::draw::MeshBufferCache::buff, buffers, DRW_ibo_requested(), DRW_vbo_requested(), extract_attr_viewer(), extract_attributes(), extract_edge_factor(), extract_edge_index(), extract_edit_data(), extract_edituv_data(), extract_edituv_face_dots(), extract_edituv_lines(), extract_edituv_points(), extract_edituv_stretch_angle(), extract_edituv_stretch_area(), extract_edituv_tris(), extract_face_dot_index(), extract_face_dot_normals(), extract_face_dots(), extract_face_dots_edituv_data(), extract_face_dots_position(), extract_face_dots_uv(), extract_face_index(), extract_lines(), extract_lines_adjacency(), extract_lines_paint_mask(), extract_mesh_analysis(), extract_normals(), extract_orco(), extract_points(), extract_positions(), extract_sculpt_data(), extract_skin_roots(), extract_tangents(), extract_tris(), extract_uv_maps(), extract_vert_index(), extract_vert_normals(), extract_weights(), GPU_use_hq_normals_workaround(), blender::draw::MeshRenderData::mesh, mesh_extract_render_data_node_exec(), mesh_render_data_create(), mesh_render_data_faces_sorted_ensure(), printf, R_SIMPLIFY, R_SIMPLIFY_NORMALS, Mesh::runtime, SCE_PERF_HQ_NORMALS, blender::draw::MeshRenderData::use_final_mesh, blender::draw::MeshRenderData::use_simplify_normals, and blender::draw::MeshRenderData::use_subsurf_fdots.
Referenced by DRW_mesh_batch_cache_create_requested().
| void blender::draw::mesh_buffer_cache_create_requested_subdiv | ( | MeshBatchCache & | cache, |
| MeshBufferCache & | mbc, | ||
| DRWSubdivCache & | subdiv_cache, | ||
| MeshRenderData & | mr ) |
Definition at line 759 of file draw_cache_extract_mesh.cc.
References any_attr_requested(), blender::draw::MeshBatchCache::attr_used, blender::draw::MeshBufferCache::buff, buffers, DRW_ibo_requested(), DRW_subdivide_loose_geom(), DRW_vbo_requested(), extract_attributes_subdiv(), extract_edge_factor_subdiv(), extract_edge_index_subdiv(), extract_edit_data_subdiv(), extract_edituv_data_subdiv(), extract_edituv_lines_subdiv(), extract_edituv_points_subdiv(), extract_edituv_stretch_angle_subdiv(), extract_edituv_stretch_area_subdiv(), extract_edituv_tris_subdiv(), extract_face_dots_subdiv(), extract_face_index_subdiv(), extract_lines_adjacency_subdiv(), extract_lines_paint_mask_subdiv(), extract_lines_subdiv(), extract_normals_subdiv(), extract_points_subdiv(), extract_positions_subdiv(), extract_sculpt_data_subdiv(), extract_tangents_subdiv(), extract_tris_subdiv(), extract_uv_maps_subdiv(), extract_vert_index_subdiv(), extract_weights_subdiv(), GPU_MAX_ATTR, blender::draw::MeshBatchCache::is_manifold, mesh_render_data_update_corner_normals(), mesh_render_data_update_loose_geom(), blender::draw::MeshBatchCache::no_loose_wire, blender::draw::DRW_Attributes::requests, blender::draw::MeshBatchCache::tot_area, and blender::draw::MeshBatchCache::tot_uv_area.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 777 of file draw_cache_impl_mesh.cc.
References GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::MeshBufferList::ibo, and blender::draw::MeshBufferList::vbo.
Referenced by mesh_buffer_cache_clear().
|
static |
Definition at line 261 of file draw_cache_impl_mesh.cc.
References CD_PROP_FLOAT2, CustomData_get_stencil_layer(), editmesh_final_or_this(), mesh_cd_ldata_get_from_mesh(), and blender::draw::DRW_MeshCDMask::uv.
Referenced by edituv_request_active_uv(), and texpaint_request_active_uv().
|
static |
Definition at line 249 of file draw_cache_impl_mesh.cc.
References CD_PROP_FLOAT2, CustomData_get_active_layer(), editmesh_final_or_this(), mesh_cd_ldata_get_from_mesh(), and blender::draw::DRW_MeshCDMask::uv.
Referenced by edituv_request_active_uv(), and texpaint_request_active_uv().
|
static |
Definition at line 244 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshCDMask::edit_uv.
Referenced by edituv_request_active_uv().
|
static |
Definition at line 273 of file draw_cache_impl_mesh.cc.
References blender::StringRefNull::c_str(), CD_AUTO_FROM_NAME, CD_MTFACE, CD_ORCO, CD_PROP_BOOL, CD_PROP_BYTE_COLOR, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT2, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_TANGENT, blender::bke::Corner, CustomData_get_named_layer(), CustomData_get_render_layer(), CustomData_layer_is_anonymous(), Mesh::default_color_attribute, drw_attributes_add_request(), drw_custom_data_match_attribute(), blender::bke::Edge, editmesh_final_or_this(), blender::bke::Face, GPU_material_attributes(), LISTBASE_FOREACH, mesh_cd_edata_get_from_mesh(), mesh_cd_layers_type_clear(), mesh_cd_ldata_get_from_mesh(), mesh_cd_pdata_get_from_mesh(), mesh_cd_vdata_get_from_mesh(), blender::draw::DRW_MeshCDMask::orco, blender::bke::Point, blender::draw::DRW_MeshCDMask::tan, blender::draw::DRW_MeshCDMask::tan_orco, and blender::draw::DRW_MeshCDMask::uv.
Referenced by DRW_mesh_batch_cache_get_surface_shaded(), and DRW_mesh_get_attributes().
| const CustomData & blender::draw::mesh_cd_edata_get_from_mesh | ( | const Mesh & | mesh | ) |
Definition at line 409 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, and mesh_cd_edata_get_from_mesh().
Referenced by mesh_cd_calc_used_gpu_layers(), and mesh_cd_edata_get_from_mesh().
| BLI_INLINE void blender::draw::mesh_cd_layers_type_clear | ( | DRW_MeshCDMask * | a | ) |
Definition at line 239 of file draw_cache_impl_mesh.cc.
Referenced by DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_free_old(), edituv_request_active_uv(), mesh_batch_cache_discard_shaded_tri(), mesh_cd_calc_used_gpu_layers(), and texpaint_request_active_uv().
| BLI_INLINE bool blender::draw::mesh_cd_layers_type_equal | ( | DRW_MeshCDMask | a, |
| DRW_MeshCDMask | b ) |
Definition at line 227 of file draw_cache_impl_mesh.cc.
References b.
Referenced by DRW_mesh_batch_cache_free_old().
| BLI_INLINE void blender::draw::mesh_cd_layers_type_merge | ( | DRW_MeshCDMask * | a, |
| DRW_MeshCDMask | b ) |
Definition at line 232 of file draw_cache_impl_mesh.cc.
References atomic_fetch_and_or_uint32(), and b.
Referenced by DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_get_surface_shaded(), edituv_request_active_uv(), and texpaint_request_active_uv().
| BLI_INLINE bool blender::draw::mesh_cd_layers_type_overlap | ( | DRW_MeshCDMask | a, |
| DRW_MeshCDMask | b ) |
Definition at line 222 of file draw_cache_impl_mesh.cc.
References b.
Referenced by DRW_mesh_batch_cache_create_requested().
| const CustomData & blender::draw::mesh_cd_ldata_get_from_mesh | ( | const Mesh & | mesh | ) |
Definition at line 377 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, and mesh_cd_ldata_get_from_mesh().
Referenced by mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_calc_used_gpu_layers(), mesh_cd_ldata_get_from_mesh(), and request_active_and_default_color_attributes().
| const CustomData & blender::draw::mesh_cd_pdata_get_from_mesh | ( | const Mesh & | mesh | ) |
Definition at line 393 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, and mesh_cd_pdata_get_from_mesh().
Referenced by mesh_cd_calc_used_gpu_layers(), and mesh_cd_pdata_get_from_mesh().
| const CustomData & blender::draw::mesh_cd_vdata_get_from_mesh | ( | const Mesh & | mesh | ) |
Definition at line 425 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, and mesh_cd_vdata_get_from_mesh().
Referenced by mesh_cd_calc_used_gpu_layers(), mesh_cd_vdata_get_from_mesh(), and request_active_and_default_color_attributes().
|
static |
Definition at line 54 of file draw_cache_extract_mesh.cc.
References buffers, DRW_ibo_requested(), DRW_vbo_requested(), mesh_render_data_update_corner_normals(), mesh_render_data_update_face_normals(), mesh_render_data_update_loose_geom(), and blender::draw::MeshRenderData::use_simplify_normals.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 22 of file extract_mesh_vbo_uv.cc.
References CD_PROP_FLOAT2, blender::draw::MeshBatchCache::cd_used, CustomData_get_active_layer(), CustomData_get_layer_name(), CustomData_get_render_layer(), CustomData_get_stencil_layer(), CustomData_layer_is_anonymous(), blender::draw::DRW_MeshCDMask::edit_uv, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_MAX_SAFE_ATTR_NAME, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), MAX_MTFACE, MR_EXTRACT_BMESH, SNPRINTF, and blender::draw::DRW_MeshCDMask::uv.
Referenced by extract_uv_maps(), and extract_uv_maps_subdiv().
|
static |
Definition at line 279 of file draw_cache_extract_mesh_render_data.cc.
References blender::IndexRange::begin(), blender::IndexRange::end(), blender::offset_indices::OffsetIndices< T >::index_range(), and mesh_is_single_material().
Referenced by calc_face_tri_starts_mesh(), and mesh_is_single_material().
| std::unique_ptr< MeshRenderData > blender::draw::mesh_render_data_create | ( | Object & | object, |
| Mesh & | mesh, | ||
| bool | is_editmode, | ||
| bool | is_paint_mode, | ||
| bool | edit_mode_active, | ||
| const float4x4 & | object_to_world, | ||
| bool | do_final, | ||
| bool | do_uvedit, | ||
| bool | use_hide, | ||
| const ToolSettings * | ts ) |
| edit_mode_active | When true, use the modifiers from the edit-data, otherwise don't use modifiers as they are not from this object. |
Definition at line 531 of file draw_cache_extract_mesh_render_data.cc.
References BKE_editmesh_cache_ensure_face_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_object_get_editmesh_eval_cage(), BKE_object_get_editmesh_eval_final(), BLI_assert, bm, BM_EDGE, BM_FACE, BM_LOOP, BM_mesh_active_edge_get(), BM_mesh_active_face_get(), BM_mesh_active_vert_get(), BM_mesh_elem_index_ensure(), BM_mesh_elem_table_ensure(), BM_VERT, bmesh_normals_domain(), CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, CD_ORIGINDEX, CD_PROP_FLOAT, CustomData_get_layer(), CustomData_get_offset(), CustomData_get_offset_named(), EDBM_uv_active_face_get(), ME_WRAPPER_TYPE_BMESH, mesh, mesh_render_data_create(), mesh_render_mat_len_get(), MR_EXTRACT_BMESH, MR_EXTRACT_MESH, poly_to_tri_count(), retrieve_active_attribute_names(), BMesh::totedge, BMesh::totface, BMesh::totloop, and BMesh::totvert.
Referenced by draw_subdiv_create_requested_buffers(), mesh_buffer_cache_create_requested(), and mesh_render_data_create().
|
static |
Definition at line 19 of file extract_mesh_vbo_edit_data.cc.
References BM_edge_in_face(), BM_ELEM_CD_GET_FLOAT, BM_ELEM_CD_GET_VOID_P, BM_elem_flag_test, BM_ELEM_SEAM, BM_ELEM_SELECT, BM_ELEM_SMOOTH, blender::draw::EditLoopData::bweight, blender::draw::MeshRenderData::bweight_ofs, blender::math::ceil(), blender::draw::EditLoopData::crease, blender::draw::EditLoopData::e_flag, blender::draw::MeshRenderData::edge_crease_ofs, blender::draw::MeshRenderData::eed_act, blender::draw::MeshRenderData::efa_act, FreestyleEdge::flag, FREESTYLE_EDGE_MARK, blender::draw::MeshRenderData::freestyle_edge_ofs, SCE_SELECT_FACE, SCE_SELECT_VERTEX, ToolSettings::selectmode, blender::draw::MeshRenderData::toolsettings, BMEdge::v1, BMEdge::v2, VFLAG_EDGE_ACTIVE, VFLAG_EDGE_FREESTYLE, VFLAG_EDGE_SEAM, VFLAG_EDGE_SELECTED, VFLAG_EDGE_SHARP, and VFLAG_VERT_SELECTED.
| void blender::draw::mesh_render_data_face_flag | ( | const MeshRenderData & | mr, |
| const BMFace * | efa, | ||
| const BMUVOffsets | offsets, | ||
| EditLoopData & | eattr ) |
Definition at line 28 of file extract_mesh.cc.
References BM_ELEM_CD_GET_VOID_P, BM_elem_flag_test, BM_ELEM_SELECT, blender::draw::MeshRenderData::efa_act, blender::draw::MeshRenderData::efa_act_uv, FreestyleFace::flag, FREESTYLE_FACE_MARK, blender::draw::MeshRenderData::freestyle_face_ofs, blender::draw::MeshRenderData::toolsettings, BMUVOffsets::uv, uvedit_face_select_test_ex(), blender::draw::EditLoopData::v_flag, VFLAG_FACE_ACTIVE, VFLAG_FACE_FREESTYLE, VFLAG_FACE_SELECTED, VFLAG_FACE_UV_ACTIVE, and VFLAG_FACE_UV_SELECT.
Referenced by extract_edituv_data_iter_subdiv_bm().
|
static |
Definition at line 330 of file draw_cache_extract_mesh_render_data.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), calc_face_tri_starts_bmesh(), calc_face_tri_starts_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::SortedFaceData::face_tri_offsets, blender::Array< T, InlineBufferCapacity, Allocator >::last(), blender::draw::MeshRenderData::materials_num, mesh_render_data_faces_sorted_build(), mesh_render_data_mat_tri_len_build(), MR_EXTRACT_BMESH, blender::draw::SortedFaceData::tris_num_by_material, and blender::draw::SortedFaceData::visible_tris_num.
Referenced by mesh_render_data_faces_sorted_build(), and mesh_render_data_faces_sorted_ensure().
| const SortedFaceData & blender::draw::mesh_render_data_faces_sorted_ensure | ( | const MeshRenderData & | mr, |
| MeshBufferCache & | cache ) |
Definition at line 351 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshBufferCache::face_sorted, mesh_render_data_faces_sorted_build(), mesh_render_data_faces_sorted_ensure(), and blender::draw::SortedFaceData::visible_tris_num.
Referenced by mesh_buffer_cache_create_requested(), and mesh_render_data_faces_sorted_ensure().
| void blender::draw::mesh_render_data_loop_edge_flag | ( | const MeshRenderData & | mr, |
| const BMLoop * | l, | ||
| const BMUVOffsets | offsets, | ||
| EditLoopData & | eattr ) |
Definition at line 74 of file extract_mesh.cc.
References l, blender::draw::MeshRenderData::toolsettings, BMUVOffsets::uv, uvedit_edge_select_test_ex(), blender::draw::EditLoopData::v_flag, VFLAG_EDGE_UV_SELECT, and VFLAG_VERT_UV_SELECT.
Referenced by extract_edituv_data_iter_subdiv_bm().
| void blender::draw::mesh_render_data_loop_flag | ( | const MeshRenderData & | mr, |
| const BMLoop * | l, | ||
| const BMUVOffsets | offsets, | ||
| EditLoopData & | eattr ) |
Definition at line 58 of file extract_mesh.cc.
References BM_ELEM_CD_GET_BOOL, l, BMUVOffsets::pin, blender::draw::MeshRenderData::toolsettings, BMUVOffsets::uv, uvedit_uv_select_test_ex(), blender::draw::EditLoopData::v_flag, VFLAG_VERT_UV_PINNED, and VFLAG_VERT_UV_SELECT.
Referenced by extract_edituv_data_iter_subdiv_bm().
|
static |
Definition at line 100 of file draw_cache_extract_mesh_render_data.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), bm, BM_EDGES_OF_MESH, BM_ITER_MESH_INDEX, count, blender::draw::MeshExtractLooseGeom::edges, blender::draw::MeshRenderData::edges_num, blender::draw::MeshBufferCache::loose_geom, and mesh_render_data_loose_edges_bm().
Referenced by mesh_render_data_loose_edges_bm(), and mesh_render_data_loose_geom_build().
|
static |
Definition at line 123 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::extract_type, mesh_render_data_loose_edges_bm(), mesh_render_data_loose_geom_build(), mesh_render_data_loose_geom_mesh(), mesh_render_data_loose_verts_bm(), and MR_EXTRACT_BMESH.
Referenced by mesh_render_data_loose_geom_build(), and mesh_render_data_loose_geom_ensure().
|
static |
Definition at line 137 of file draw_cache_extract_mesh_render_data.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::is_empty(), blender::draw::MeshBufferCache::loose_geom, mesh_render_data_loose_geom_build(), mesh_render_data_loose_geom_ensure(), and blender::draw::MeshExtractLooseGeom::verts.
Referenced by mesh_render_data_loose_geom_ensure(), and mesh_render_data_update_loose_geom().
|
static |
Definition at line 52 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::mesh, blender::threading::parallel_invoke(), and Mesh::runtime.
Referenced by mesh_render_data_loose_geom_build().
|
static |
Definition at line 77 of file draw_cache_extract_mesh_render_data.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), bm, BM_ITER_MESH_INDEX, BM_VERTS_OF_MESH, count, BMVert::e, blender::draw::MeshBufferCache::loose_geom, mesh_render_data_loose_verts_bm(), blender::draw::MeshExtractLooseGeom::verts, and blender::draw::MeshRenderData::verts_num.
Referenced by mesh_render_data_loose_geom_build(), and mesh_render_data_loose_verts_bm().
|
static |
Definition at line 231 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_bm(), accumululate_material_counts_mesh(), blender::draw::MeshRenderData::bm, blender::draw::MeshRenderData::extract_type, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::draw::MeshRenderData::materials_num, mesh_render_data_mat_tri_len_build(), and MR_EXTRACT_BMESH.
Referenced by mesh_render_data_faces_sorted_build(), and mesh_render_data_mat_tri_len_build().
| void blender::draw::mesh_render_data_update_corner_normals | ( | MeshRenderData & | mr | ) |
Definition at line 490 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::bm, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_loop_normals, BM_loops_calc_normal_vcos(), blender::draw::MeshRenderData::bm_vert_coords, blender::draw::MeshRenderData::bm_vert_normals, CD_CUSTOMLOOPNORMAL, blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corners_num, CustomData_get_offset(), blender::draw::MeshRenderData::extract_type, BMesh::ldata, blender::draw::MeshRenderData::mesh, mesh_render_data_update_corner_normals(), MR_EXTRACT_BMESH, and blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize().
Referenced by mesh_buffer_cache_create_requested_subdiv(), mesh_extract_render_data_node_exec(), and mesh_render_data_update_corner_normals().
| void blender::draw::mesh_render_data_update_face_normals | ( | MeshRenderData & | mr | ) |
Definition at line 511 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::mesh, mesh_render_data_update_face_normals(), and MR_EXTRACT_BMESH.
Referenced by mesh_extract_render_data_node_exec(), and mesh_render_data_update_face_normals().
| void blender::draw::mesh_render_data_update_loose_geom | ( | MeshRenderData & | mr, |
| MeshBufferCache & | cache ) |
Definition at line 147 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshExtractLooseGeom::edges, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_edges_num, blender::draw::MeshBufferCache::loose_geom, blender::draw::MeshRenderData::loose_indices_num, blender::draw::MeshRenderData::loose_verts, blender::draw::MeshRenderData::loose_verts_num, mesh_render_data_loose_geom_ensure(), mesh_render_data_update_loose_geom(), blender::Array< T, InlineBufferCapacity, Allocator >::size(), and blender::draw::MeshExtractLooseGeom::verts.
Referenced by mesh_buffer_cache_create_requested_subdiv(), mesh_extract_render_data_node_exec(), and mesh_render_data_update_loose_geom().
|
static |
Definition at line 84 of file extract_mesh_vbo_edit_data.cc.
References BM_ELEM_CD_GET_FLOAT, BM_elem_flag_test, BM_ELEM_SELECT, blender::math::ceil(), blender::draw::EditLoopData::crease, blender::draw::EditLoopData::e_flag, blender::draw::MeshRenderData::eve_act, blender::draw::MeshRenderData::vert_crease_ofs, VFLAG_VERT_ACTIVE, and VFLAG_VERT_SELECTED.
Definition at line 38 of file draw_cache_extract_mesh.cc.
References BKE_object_get_editmesh_eval_final(), and Mesh::totcol.
Referenced by DRW_mesh_material_count_get(), mesh_batch_cache_init(), mesh_batch_cache_valid(), and mesh_render_data_create().
|
static |
Definition at line 531 of file draw_cache_impl_subdivision.cc.
References OpenSubdiv_Buffer::alloc, OpenSubdiv_Buffer::bind_gpu, OpenSubdiv_Buffer::buffer_offset, OpenSubdiv_Buffer::data, OpenSubdiv_Buffer::device_alloc, OpenSubdiv_Buffer::device_update, vertbuf_alloc(), vertbuf_bind_gpu(), vertbuf_device_alloc(), vertbuf_update_data(), vertbuf_wrap_device_handle(), and OpenSubdiv_Buffer::wrap_device_handle.
Referenced by create_buffer_and_interface(), draw_patch_map_build(), and draw_subdiv_build_fdots_buffers().
| BLI_INLINE float blender::draw::overhang_remap | ( | float | fac, |
| float | min, | ||
| float | max, | ||
| float | minmax_irange ) |
Definition at line 36 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_overhang().
| BLI_INLINE int32_t blender::draw::pack_rotation_aspect_hardness | ( | float | rot, |
| float | asp, | ||
| float | softness ) |
Definition at line 195 of file draw_cache_impl_grease_pencil.cc.
References cosf, rot, and unit_float_to_uchar_clamp.
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 211 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, blender::draw::ParticleBatchCache::edit_hair, blender::draw::ParticleBatchCache::edit_inner_points, blender::draw::ParticleBatchCache::edit_inner_pos, blender::draw::ParticleBatchCache::edit_tip_points, blender::draw::ParticleBatchCache::edit_tip_pos, GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::ParticleBatchCache::hair, particle_batch_cache_clear_hair(), particle_batch_cache_clear_point(), and blender::draw::ParticleBatchCache::point.
Referenced by DRW_particle_batch_cache_free(), and particle_batch_cache_get().
|
static |
Definition at line 176 of file draw_cache_impl_particles.cc.
References ParticleHairCache::col_layer_names, ParticleHairCache::col_tex, DRW_TEXTURE_FREE_SAFE, ParticleHairCache::final, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, ParticleHairCache::hairs, ParticleHairCache::indices, MAX_HAIR_SUBDIV, MAX_MTFACE, MAX_THICKRES, MEM_SAFE_FREE, ParticleHairCache::num_col_layers, ParticleHairCache::pos, ParticleHairFinalCache::proc_buf, ParticleHairCache::proc_col_buf, ParticleHairFinalCache::proc_hairs, ParticleHairCache::proc_length_buf, ParticleHairCache::proc_point_buf, ParticleHairCache::proc_strand_buf, ParticleHairCache::proc_strand_seg_buf, ParticleHairCache::proc_uv_buf, and ParticleHairCache::uv_tex.
Referenced by particle_batch_cache_clear().
|
static |
Definition at line 170 of file draw_cache_impl_particles.cc.
References GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::ParticlePointCache::points, and blender::draw::ParticlePointCache::pos.
Referenced by particle_batch_cache_clear().
|
static |
Definition at line 1618 of file draw_cache_impl_particles.cc.
References blender::draw::ParticleBatchCache::edit_inner_point_len, blender::draw::ParticleBatchCache::edit_inner_pos, edit_points_vert_format_get(), PTCacheEditKey::flag, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), PEK_SELECT, PEP_HIDE, PTCacheEdit::points, PTCacheEdit::totpoint, and PTCacheEditKey::world_co.
Referenced by DRW_particles_batch_cache_get_edit_inner_points().
|
static |
Definition at line 1547 of file draw_cache_impl_particles.cc.
References edit_points_vert_format_get(), ParticleHairCache::elems_len, GPU_indexbuf_build(), GPU_INDEXBUF_DISCARD_SAFE, GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_VERTBUF_DISCARD_SAFE, ParticleHairCache::indices, particle_batch_cache_fill_segments_edit(), ParticleSystem::particles, PTCacheEdit::pathcache, ParticleHairCache::point_len, ParticleHairCache::pos, and PTCacheEdit::totcached.
Referenced by DRW_particles_batch_cache_get_edit_strands().
|
static |
Definition at line 1677 of file draw_cache_impl_particles.cc.
References edit_points_vert_format_get(), blender::draw::ParticleBatchCache::edit_tip_point_len, blender::draw::ParticleBatchCache::edit_tip_pos, PTCacheEditKey::flag, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), PEK_SELECT, PEP_HIDE, PTCacheEdit::points, PTCacheEdit::totpoint, and PTCacheEditKey::world_co.
Referenced by DRW_particles_batch_cache_get_edit_tip_points().
|
static |
Definition at line 1381 of file draw_cache_impl_particles.cc.
References ParticleSettings::color_vec_max, DEG_get_ctime(), DRWContextState::depsgraph, ParticleSimulationData::depsgraph, ParticleSettings::draw_col, DRW_context_state_get(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertbuf_data_resize(), GPU_VERTBUF_DISCARD_SAFE, GPU_vertformat_attr_add(), len_v3(), len_v3v3(), ParticleSimulationData::ob, ParticleSystem::part, PART_DRAW_COL_ACC, PART_DRAW_COL_VEL, ParticleSystem::particles, blender::draw::ParticlePointCache::pos, ParticleData::prev_state, ParticleSimulationData::psmd, ParticleSimulationData::psys, psys_get_modifier(), psys_get_particle_state(), psys_sim_data_free(), psys_sim_data_init(), DRWContextState::scene, ParticleSimulationData::scene, state, ParticleKey::time, ParticleSystem::totpart, and ParticleKey::vel.
Referenced by DRW_particles_batch_cache_get_dots().
|
static |
Definition at line 1179 of file draw_cache_impl_particles.cc.
References Mesh::active_color_attribute, attr_id, BKE_mesh_tessface_ensure(), CD_MCOL, CD_MTFACE, CD_PROP_BYTE_COLOR, CD_PROP_FLOAT2, ParticleSystem::childcache, Mesh::corner_data, CustomData_get_active_layer(), CustomData_get_layer_n(), CustomData_get_layer_name(), CustomData_get_named_layer(), CustomData_has_layer(), CustomData_number_of_layers(), ParticleSettings::disp, ParticleSettings::draw, ParticleHairCache::elems_len, Mesh::fdata_legacy, float, GPU_COMP_F32, GPU_COMP_I32, GPU_COMP_U16, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_indexbuf_build(), GPU_INDEXBUF_DISCARD_SAFE, GPU_indexbuf_init_ex(), GPU_MAX_SAFE_ATTR_NAME, GPU_PRIM_LINE_STRIP, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_VERTBUF_DISCARD_SAFE, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_clear(), GPU_vertformat_safe_attr_name(), ParticleHairCache::indices, MEM_freeN(), MEM_mallocN, MEM_SAFE_FREE, ParticleSystemModifierData::mesh_final, ParticleSystem::part, PART_DRAW_PARENT, particle_batch_cache_fill_segments(), PARTICLE_SOURCE_CHILDREN, PARTICLE_SOURCE_PARENT, ParticleSystem::pathcache, PTCacheEdit::pathcache, ParticleHairCache::point_len, ParticleHairCache::pos, SNPRINTF, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by DRW_particles_batch_cache_get_hair().
|
static |
Definition at line 822 of file draw_cache_impl_particles.cc.
References ParticleHairCache::final, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_transform_feedback_support(), GPU_USAGE_DEVICE_ONLY, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), max_ii(), ParticleHairFinalCache::proc_buf, ParticleHairCache::strands_len, and ParticleHairFinalCache::strands_res.
Referenced by particles_ensure_procedural_data().
|
static |
Definition at line 1077 of file draw_cache_impl_particles.cc.
References BLI_assert, ParticleSystem::childcache, ParticleSettings::disp, ParticleSettings::draw, ParticleHairCache::final, GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_BATCH_OWNS_VBO, GPU_COMP_U32, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_indexbuf_build(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_PRIM_TRI_STRIP, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), GPU_vertformat_clear(), MAX_THICKRES, ParticleSystem::part, PART_DRAW_PARENT, particle_batch_cache_fill_segments_indices(), ParticleSystem::pathcache, PTCacheEdit::pathcache, ParticleHairFinalCache::proc_hairs, ParticleHairCache::strands_len, ParticleHairFinalCache::strands_res, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by particles_ensure_procedural_data().
|
static |
Definition at line 1130 of file draw_cache_impl_particles.cc.
References ParticleSystem::childcache, ParticleSettings::disp, ParticleSettings::draw, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), ParticleSystem::part, PART_DRAW_PARENT, particle_batch_cache_fill_segments_proc_pos(), ParticleSystem::pathcache, PTCacheEdit::pathcache, ParticleHairCache::point_len, ParticleHairCache::proc_length_buf, ParticleHairCache::proc_point_buf, ParticleHairCache::strands_len, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by particles_ensure_procedural_data().
|
static |
Definition at line 843 of file draw_cache_impl_particles.cc.
References Mesh::active_color_attribute, BKE_mesh_tessface_ensure(), BLI_array_alloca, CD_MCOL, CD_MTFACE, CD_PROP_BYTE_COLOR, CD_PROP_FLOAT2, ParticleSystem::childcache, ParticleHairCache::col_layer_names, ParticleHairCache::col_tex, Mesh::corner_data, CustomData_get_active_layer(), CustomData_get_layer_n(), CustomData_get_layer_name(), CustomData_get_named_layer(), CustomData_get_render_layer(), CustomData_has_layer(), CustomData_number_of_layers(), Mesh::default_color_attribute, ParticleSettings::disp, ParticleSettings::draw, Mesh::fdata_legacy, float, GPU_COMP_F32, GPU_COMP_U16, GPU_COMP_U32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_MAX_SAFE_ATTR_NAME, GPU_texture_create_from_vertbuf(), GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), GPU_vertbuf_use(), GPU_vertformat_attr_add(), GPU_vertformat_safe_attr_name(), MAX_MTFACE, MEM_calloc_arrayN, MEM_freeN(), MEM_SAFE_FREE, ParticleSystemModifierData::mesh_final, ParticleHairCache::num_col_layers, ParticleHairCache::num_uv_layers, ParticleSystem::part, PART_DRAW_PARENT, particle_batch_cache_fill_strands_data(), PARTICLE_SOURCE_CHILDREN, PARTICLE_SOURCE_PARENT, ParticleSystem::pathcache, PTCacheEdit::pathcache, ParticleHairCache::proc_col_buf, ParticleHairCache::proc_strand_buf, ParticleHairCache::proc_strand_seg_buf, ParticleHairCache::proc_uv_buf, SNPRINTF, ParticleHairCache::strands_len, STRNCPY, PTCacheEdit::totcached, ParticleSystem::totchild, ParticleSystem::totpart, ParticleHairCache::uv_layer_names, and ParticleHairCache::uv_tex.
Referenced by particles_ensure_procedural_data().
|
static |
Definition at line 508 of file draw_cache_impl_particles.cc.
References attr_id, ParticleSystem::child, ParticleSettings::childtype, ParticleCacheKey::co, float, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_attr_set(), is_child(), MEM_callocN, MEM_freeN(), ChildParticle::parent, ParticleSystem::part, PART_CHILD_PARTICLES, particle_calculate_mcol(), particle_calculate_uvs(), particle_pack_mcol(), PARTICLE_SOURCE_CHILDREN, ParticleHairCache::pos, ParticleCacheKey::segments, sub_v3_v3v3(), and ParticleSystem::totpart.
Referenced by particle_batch_cache_ensure_pos_and_seg().
|
static |
Definition at line 683 of file draw_cache_impl_particles.cc.
References ParticleCacheKey::co, ParticleCacheKey::col, copy_v3_v3(), float, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_raw_step(), particle_key_weight(), blender::draw::EditStrandData::pos, ParticleCacheKey::segments, and blender::draw::EditStrandData::selection.
Referenced by particle_batch_cache_ensure_edit_pos_and_seg().
|
static |
Definition at line 720 of file draw_cache_impl_particles.cc.
References GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), and ParticleCacheKey::segments.
Referenced by particle_batch_cache_ensure_procedural_indices().
|
static |
Definition at line 631 of file draw_cache_impl_particles.cc.
References ParticleCacheKey::co, copy_v3_v3(), GPU_vertbuf_raw_step(), len_v3v3(), and ParticleCacheKey::segments.
Referenced by particle_batch_cache_ensure_procedural_pos().
|
static |
Definition at line 740 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, ParticleSettings::childtype, copy_v2_v2(), float, GPU_vertbuf_raw_step(), is_child(), MEM_callocN, MEM_freeN(), ChildParticle::parent, ParticleSystem::part, PART_CHILD_PARTICLES, particle_calculate_mcol(), particle_calculate_uvs(), particle_pack_mcol(), PARTICLE_SOURCE_CHILDREN, ParticleCacheKey::segments, and ParticleSystem::totpart.
Referenced by particle_batch_cache_ensure_procedural_strand_data().
|
static |
Definition at line 146 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, particle_batch_cache_clear(), particle_batch_cache_init(), and particle_batch_cache_valid().
Referenced by DRW_particles_batch_cache_get_dots(), DRW_particles_batch_cache_get_edit_inner_points(), DRW_particles_batch_cache_get_edit_strands(), DRW_particles_batch_cache_get_edit_tip_points(), DRW_particles_batch_cache_get_hair(), and particles_ensure_procedural_data().
|
static |
Definition at line 131 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, blender::draw::ParticleBatchCache::is_dirty, and MEM_callocN.
Referenced by particle_batch_cache_get().
|
static |
Definition at line 114 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, and blender::draw::ParticleBatchCache::is_dirty.
Referenced by particle_batch_cache_get().
|
static |
Definition at line 459 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, MEM_callocN, ChildParticle::parent, particle_calculate_parent_mcol(), and particle_interpolate_children_mcol().
Referenced by particle_batch_cache_fill_segments(), and particle_batch_cache_fill_strands_data().
|
static |
Definition at line 324 of file draw_cache_impl_particles.cc.
References BLI_assert_msg, CD_MFACE, CustomData_get_layer(), DMCACHE_ISCHILD, DMCACHE_NOTFOUND, ELEM, Mesh::faces_num, Mesh::fdata_legacy, ParticleSettings::from, ParticleData::fuv, ParticleSystemModifierData::mesh_final, ParticleData::num, ParticleData::num_dmcache, ParticleSystem::part, PART_FROM_FACE, PART_FROM_VOLUME, ParticleSystem::particles, ParticleSystemModifierData::psys, psys_interpolate_mcol(), Mesh::totface_legacy, UNLIKELY, and MFace::v4.
Referenced by particle_calculate_mcol().
|
static |
Definition at line 288 of file draw_cache_impl_particles.cc.
References BLI_assert_msg, CD_MFACE, CustomData_get_layer(), DMCACHE_ISCHILD, DMCACHE_NOTFOUND, ELEM, Mesh::faces_num, Mesh::fdata_legacy, ParticleSettings::from, ParticleData::fuv, ParticleSystemModifierData::mesh_final, ParticleData::num, ParticleData::num_dmcache, ParticleSystem::part, PART_FROM_FACE, PART_FROM_VOLUME, ParticleSystem::particles, ParticleSystemModifierData::psys, psys_interpolate_uvs(), Mesh::totface_legacy, UNLIKELY, and MFace::v4.
Referenced by particle_calculate_uvs().
|
static |
Definition at line 415 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, MEM_callocN, ChildParticle::parent, particle_calculate_parent_uvs(), and particle_interpolate_children_uvs().
Referenced by particle_batch_cache_fill_segments(), and particle_batch_cache_fill_strands_data().
|
static |
Definition at line 388 of file draw_cache_impl_particles.cc.
References CD_MFACE, ParticleSystem::child, CustomData_get_layer(), DMCACHE_NOTFOUND, ELEM, Mesh::fdata_legacy, ParticleSettings::from, ChildParticle::fuv, ParticleSystemModifierData::mesh_final, ChildParticle::num, ParticleSystem::part, PART_FROM_FACE, PART_FROM_VOLUME, ParticleSystemModifierData::psys, psys_interpolate_mcol(), and MFace::v4.
Referenced by particle_calculate_mcol().
|
static |
Definition at line 362 of file draw_cache_impl_particles.cc.
References CD_MFACE, ParticleSystem::child, CustomData_get_layer(), DMCACHE_NOTFOUND, ELEM, Mesh::fdata_legacy, ParticleSettings::from, ChildParticle::fuv, ParticleSystemModifierData::mesh_final, ChildParticle::num, ParticleSystem::part, PART_FROM_FACE, PART_FROM_VOLUME, ParticleSystemModifierData::psys, psys_interpolate_uvs(), and MFace::v4.
Referenced by particle_calculate_uvs().
|
static |
Definition at line 666 of file draw_cache_impl_particles.cc.
References floorf, int, interp(), and HairKey::weight.
Referenced by particle_batch_cache_fill_segments_edit().
Definition at line 279 of file draw_cache_impl_particles.cc.
References MCol::b, BLI_color_from_srgb_table, MCol::g, MCol::r, and unit_float_to_ushort_clamp.
Referenced by particle_batch_cache_fill_segments(), and particle_batch_cache_fill_strands_data().
| bool blender::draw::particles_ensure_procedural_data | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| ParticleHairCache ** | r_hair_cache, | ||
| GPUMaterial * | gpu_material, | ||
| int | subdiv, | ||
| int | thickness_res ) |
Ensure all textures and buffers needed for GPU accelerated drawing.
Definition at line 1719 of file draw_cache_impl_particles.cc.
References drw_particle_get_hair_source(), drw_particle_update_ptcache(), blender::draw::ParticleDrawSource::edit, ensure_seg_pt_count(), ParticleHairCache::final, blender::draw::ParticleBatchCache::hair, blender::draw::ParticleDrawSource::md, ParticleSystem::part, particle_batch_cache_ensure_procedural_final_points(), particle_batch_cache_ensure_procedural_indices(), particle_batch_cache_ensure_procedural_pos(), particle_batch_cache_ensure_procedural_strand_data(), particle_batch_cache_get(), blender::draw::ParticleDrawSource::psys, and ParticleHairFinalCache::strands_res.
Referenced by hair_particle_cache_get().
| gpu::Batch * blender::draw::point_cloud_sub_pass_setup | ( | PassMain::Sub & | sub_ps, |
| Object * | object, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 140 of file draw_pointcloud.cc.
References point_cloud_sub_pass_setup_implementation().
Referenced by blender::draw::overlay::Outline::object_sync(), blender::draw::overlay::Prepass::object_sync(), and blender::eevee::SyncModule::sync_point_cloud().
| gpu::Batch * blender::draw::point_cloud_sub_pass_setup_implementation | ( | PassT & | sub_ps, |
| Object * | object, | ||
| GPUMaterial * | gpu_material ) |
NOTE: Reusing curve attribute function.
Definition at line 106 of file draw_pointcloud.cc.
References BLI_assert, drw_curves_get_attribute_sampler_name(), DRW_pointcloud_evaluated_attribute(), g_dummy_vbo, GPU_material_attributes(), LISTBASE_FOREACH, Node::name, OB_POINTCLOUD, pointcloud_position_and_radius_get(), and pointcloud_surface_get().
Referenced by point_cloud_sub_pass_setup().
|
static |
Definition at line 152 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_viewer, blender::draw::PointCloudEvalCache::dots, blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::geom_indices, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::PointCloudEvalCache::mat_len, MEM_SAFE_FREE, pointcloud_batch_cache_get(), pointcloud_discard_attributes(), blender::draw::PointCloudEvalCache::pos_rad, blender::draw::PointCloudEvalCache::surface, and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by DRW_pointcloud_batch_cache_free(), and DRW_pointcloud_batch_cache_validate().
|
static |
Definition at line 91 of file draw_cache_impl_pointcloud.cc.
References PointCloud::batch_cache.
Referenced by DRW_pointcloud_batch_cache_create_requested(), DRW_pointcloud_batch_cache_dirty_tag(), DRW_pointcloud_batch_cache_free_old(), DRW_pointcloud_batch_cache_get_dots(), DRW_pointcloud_evaluated_attribute(), pointcloud_batch_cache_clear(), pointcloud_batch_cache_init(), pointcloud_batch_cache_valid(), pointcloud_position_and_radius_get(), pointcloud_surface_get(), and pointcloud_surface_shaded_get().
|
static |
Definition at line 109 of file draw_cache_impl_pointcloud.cc.
References PointCloud::batch_cache, DRW_pointcloud_material_count_get(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudBatchCache::is_dirty, blender::draw::PointCloudEvalCache::mat_len, MEM_callocN, pointcloud_batch_cache_get(), and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by DRW_pointcloud_batch_cache_validate().
|
static |
Definition at line 96 of file draw_cache_impl_pointcloud.cc.
References DRW_pointcloud_material_count_get(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudBatchCache::is_dirty, blender::draw::PointCloudEvalCache::mat_len, and pointcloud_batch_cache_get().
Referenced by DRW_pointcloud_batch_cache_validate().
|
static |
Definition at line 143 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attributes_buf, drw_attributes_clear(), blender::draw::PointCloudBatchCache::eval_cache, GPU_MAX_ATTR, and GPU_VERTBUF_DISCARD_SAFE.
Referenced by DRW_pointcloud_batch_cache_free_old(), and pointcloud_batch_cache_clear().
|
static |
Definition at line 293 of file draw_cache_impl_pointcloud.cc.
References blender::draw::DRW_AttributeRequest::attribute_name, Geometry::attributes, blender::draw::PointCloudEvalCache::attributes_buf, blender::gpu::VertBuf::data(), blender::draw::DRW_AttributeRequest::domain, blender::draw::PointCloudBatchCache::eval_cache, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format_ex(), GPU_vertformat_attr_add(), pointcloud_extract_attribute(), and PointCloud::totpoint.
Referenced by DRW_pointcloud_batch_cache_create_requested(), and pointcloud_extract_attribute().
|
static |
Definition at line 228 of file draw_cache_impl_pointcloud.cc.
References ARRAY_SIZE, blender::MutableSpan< T >::cast(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, half_octahedron_tris, blender::threading::parallel_for(), and PointCloud::totpoint.
Referenced by DRW_pointcloud_batch_cache_create_requested().
|
static |
Definition at line 253 of file draw_cache_impl_pointcloud.cc.
References Geometry::attributes, blender::gpu::VertBuf::data(), blender::draw::PointCloudBatchCache::eval_cache, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format_ex(), GPU_vertformat_attr_add(), blender::MutableSpan< T >::index_range(), pointcloud_extract_position_and_radius(), and blender::draw::PointCloudEvalCache::pos_rad.
Referenced by DRW_pointcloud_batch_cache_create_requested(), and pointcloud_extract_position_and_radius().
| gpu::VertBuf * blender::draw::pointcloud_position_and_radius_get | ( | PointCloud * | pointcloud | ) |
Definition at line 327 of file draw_cache_impl_pointcloud.cc.
References DRW_vbo_request(), blender::draw::PointCloudBatchCache::eval_cache, pointcloud_batch_cache_get(), pointcloud_position_and_radius_get(), and blender::draw::PointCloudEvalCache::pos_rad.
Referenced by DRW_pointcloud_position_and_radius_buffer_get(), DRW_shgroup_pointcloud_create_sub(), point_cloud_sub_pass_setup_implementation(), and pointcloud_position_and_radius_get().
| gpu::Batch * blender::draw::pointcloud_surface_get | ( | PointCloud * | pointcloud | ) |
Definition at line 371 of file draw_cache_impl_pointcloud.cc.
References DRW_batch_request(), blender::draw::PointCloudBatchCache::eval_cache, pointcloud_batch_cache_get(), pointcloud_surface_get(), and blender::draw::PointCloudEvalCache::surface.
Referenced by DRW_shgroup_pointcloud_create_sub(), point_cloud_sub_pass_setup_implementation(), and pointcloud_surface_get().
| gpu::Batch ** blender::draw::pointcloud_surface_shaded_get | ( | PointCloud * | pointcloud, |
| GPUMaterial ** | gpu_materials, | ||
| int | mat_len ) |
Definition at line 334 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attr_used_over_time, blender::draw::PointCloudEvalCache::attributes_buf, drw_attributes_add_request(), drw_attributes_clear(), drw_attributes_merge(), drw_attributes_overlap(), DRW_batch_request(), drw_custom_data_match_attribute(), blender::draw::PointCloudBatchCache::eval_cache, GPU_material_attributes(), GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, LISTBASE_FOREACH, PointCloud::pdata, pointcloud_batch_cache_get(), pointcloud_surface_shaded_get(), blender::draw::PointCloudBatchCache::render_mutex, and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by DRW_shgroup_pointcloud_create_sub(), and pointcloud_surface_shaded_get().
|
static |
Definition at line 108 of file extract_mesh_ibo_points.cc.
References blender::draw::MeshRenderData::bm, bm, process_ibo_verts_bm(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_points_bm(), and process_ibo_verts_bm().
|
static |
Fill the index buffer in a parallel non-deterministic fashion. This is okay because any of the possible face corner indices are correct, since they all correspond to the same Mesh vertex. The separate arrays exist as a performance optimization to avoid writing to the VBO.
Definition at line 41 of file extract_mesh_ibo_points.cc.
References blender::draw::MeshRenderData::corner_verts, blender::Span< T >::index_range(), and blender::threading::parallel_for().
|
static |
Definition at line 859 of file draw_cache_impl_mesh.cc.
References Mesh::active_color_attribute, blender::bke::Corner, Mesh::default_color_attribute, drw_attributes_add_request(), drw_custom_data_match_attribute(), editmesh_final_or_this(), mesh_cd_ldata_get_from_mesh(), mesh_cd_vdata_get_from_mesh(), and blender::bke::Point.
Referenced by DRW_mesh_batch_cache_get_surface_sculpt(), and DRW_mesh_batch_cache_get_surface_vertpaint().
|
static |
Definition at line 803 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::bke::CurvesGeometry::attributes(), CustomData_get_named_layer(), drw_attributes_add_request(), drw_attributes_merge(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, get_batch_cache(), blender::bke::AttributeAccessor::lookup_meta_data(), blender::draw::CurvesBatchCache::render_mutex, and request_attribute().
Referenced by DRW_curves_texture_for_evaluated_attribute(), and request_attribute().
|
static |
Definition at line 522 of file draw_cache_extract_mesh_render_data.cc.
References Mesh::active_color_attribute, blender::draw::MeshRenderData::active_color_name, Mesh::default_color_attribute, blender::draw::MeshRenderData::default_color_name, editmesh_final_or_this(), and retrieve_active_attribute_names().
Referenced by mesh_render_data_create(), and retrieve_active_attribute_names().
|
inline |
Definition at line 49 of file extract_mesh_ibo_lines_adjacency.cc.
Referenced by lines_adjacency_triangle().
| Vector< SculptBatch > blender::draw::sculpt_batches_get | ( | const Object * | ob, |
| SculptBatchFeature | features ) |
Used by engines that don't use GPUMaterials, like the Workbench and Overlay engines.
Definition at line 133 of file draw_sculpt.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_object_get_original_mesh(), CD_PROP_FLOAT2, blender::bke::Corner, CustomData_get_active_layer_name(), blender::draw::pbvh::GenericRequest::domain, blender::draw::pbvh::FaceSet, blender::draw::pbvh::Mask, blender::draw::pbvh::Normal, blender::draw::pbvh::Position, SCULPT_BATCH_FACE_SET, SCULPT_BATCH_MASK, SCULPT_BATCH_UV, SCULPT_BATCH_VERTEX_COLOR, SCULPT_BATCH_WIREFRAME, and sculpt_batches_get_ex().
Referenced by blender::draw::overlay::Sculpts::mesh_sync(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), blender::draw::overlay::Prepass::sculpt_sync(), and blender::workbench::Instance::sculpt_sync().
|
static |
Definition at line 38 of file draw_sculpt.cc.
References blender::bke::pbvh::all_leaf_nodes(), BKE_paint_get_active_from_context(), BKE_pbvh_node_frustum_contain_AABB(), BKE_pbvh_node_fully_hidden_get(), blender::bke::pbvh::Tree::draw_data, DRW_context_state_get(), DRW_view_default_get(), DRW_view_frustum_planes_get(), blender::draw::pbvh::ensure_draw_data(), blender::draw::pbvh::DrawCache::ensure_lines_batches(), blender::draw::pbvh::DrawCache::ensure_material_indices(), blender::draw::pbvh::DrawCache::ensure_tris_batches(), DRWContextState::evil_C, blender::index_mask::IndexMask::foreach_index(), blender::bke::pbvh::get_frustum_planes(), blender::Span< T >::is_empty(), PAINT_FAST_NAVIGATE, PAINT_SCULPT_DELAY_UPDATES, blender::bke::object::pbvh_get(), PBVHFrustumPlanes::planes, pos, RegionView3D::rflag, DRWContextState::rv3d, RV3D_NAVIGATING, RV3D_PAINTING, Object::sculpt, blender::bke::pbvh::search_nodes(), blender::bke::pbvh::set_frustum_planes(), blender::index_mask::IndexMask::size(), blender::math::transpose(), and blender::bke::pbvh::update_normals_from_eval().
Referenced by sculpt_batches_get(), and sculpt_batches_per_material_get().
| Vector< SculptBatch > blender::draw::sculpt_batches_per_material_get | ( | const Object * | ob, |
| Span< const GPUMaterial * > | materials ) |
Used by EEVEE.
Definition at line 168 of file draw_sculpt.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::draw::DRW_AttributeRequest::attribute_name, BLI_assert, CD_PROP_FLOAT2, blender::draw::DRW_AttributeRequest::cd_type, blender::bke::Corner, CustomData_get_layer_index_n(), Object::data, blender::draw::DRW_AttributeRequest::domain, DRW_mesh_get_attributes(), blender::draw::pbvh::GenericRequest::name, blender::draw::pbvh::Normal, blender::draw::DRW_Attributes::num_requests, OB_MESH, blender::draw::pbvh::Position, blender::draw::DRW_Attributes::requests, sculpt_batches_get_ex(), Object::type, and blender::draw::DRW_MeshCDMask::uv.
Referenced by blender::eevee::SyncModule::sync_sculpt().
Definition at line 464 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_sharp().
|
static |
Definition at line 105 of file draw_cache_impl_curves.cc.
References attr_id, and GPU_vertformat_attr_add().
Referenced by create_edit_points_position_and_data(), create_edit_points_position_vbo(), and create_edit_points_selection().
|
inline |
Definition at line 23 of file extract_mesh_ibo_edituv.cc.
References BM_elem_flag_test, BM_elem_flag_test_bool, BM_ELEM_HIDDEN, and BM_ELEM_SELECT.
Referenced by extract_edituv_face_dots_bm(), extract_edituv_face_dots_mesh(), extract_edituv_lines_bm(), extract_edituv_lines_mesh(), extract_edituv_lines_subdiv_bm(), extract_edituv_lines_subdiv_mesh(), extract_edituv_points_bm(), extract_edituv_points_mesh(), extract_edituv_points_subdiv_bm(), extract_edituv_points_subdiv_mesh(), extract_edituv_tris_bm(), extract_edituv_tris_mesh(), extract_edituv_tris_subdiv_bm(), and extract_edituv_tris_subdiv_mesh().
|
static |
Definition at line 375 of file extract_mesh_vbo_mesh_analysis.cc.
References angle_normalized_v3v3(), bm, BMEditMesh::bm, BM_FACE_FIRST_LOOP, blender::draw::MeshRenderData::bm_face_normals, BM_FACES_OF_MESH, BM_ITER_MESH_INDEX, BM_loop_calc_face_normal_safe(), BM_loop_calc_face_normal_safe_vcos(), blender::draw::MeshRenderData::bm_vert_coords, blender::draw::MeshRenderData::corner_verts, blender::Span< T >::data(), MeshStatVis::distort_max, MeshStatVis::distort_min, distort_remap(), dot_v3v3(), blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::bke::mesh::face_corner_next(), blender::bke::mesh::face_corner_prev(), blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, blender::Span< T >::is_empty(), BMFace::len, max_ff(), min, MR_EXTRACT_BMESH, negate_v3(), BMLoop::next, BMFace::no, normal_tri_v3(), ToolSettings::statvis, blender::draw::MeshRenderData::toolsettings, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 291 of file extract_mesh_vbo_mesh_analysis.cc.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_overlap_self(), BKE_bvhtree_from_mesh_get(), BLI_bvhtree_get_epsilon(), BLI_bvhtree_overlap_self(), bm, BMEditMesh::bm, BM_elem_index_get, BM_FACE, BM_FACE_FIRST_LOOP, BM_mesh_elem_index_ensure(), bvh_overlap_cb(), BVHTREE_FROM_CORNER_TRIS, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces, BVHTreeOverlap::indexA, BVHTreeOverlap::indexB, BMFace::len, BMEditMesh::looptris, MEM_freeN(), blender::draw::MeshRenderData::mesh, MR_EXTRACT_BMESH, blender::draw::BVHTree_OverlapData::positions, tree, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 52 of file extract_mesh_vbo_mesh_analysis.cc.
References angle_normalized_v3v3(), axis_from_enum_v3(), BLI_assert, bm, BMEditMesh::bm, bm_face_no_get(), BM_FACES_OF_MESH, BM_ITER_MESH, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, float, BMFace::len, M_PI, min, MR_EXTRACT_BMESH, mul_transposed_mat3_m4_v3(), normalize_v3(), blender::draw::MeshRenderData::object_to_world, MeshStatVis::overhang_axis, MeshStatVis::overhang_max, MeshStatVis::overhang_min, overhang_remap(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), ToolSettings::statvis, and blender::draw::MeshRenderData::toolsettings.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 478 of file extract_mesh_vbo_mesh_analysis.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), angle(), angle_normalized_v3v3(), bm, BMEditMesh::bm, BM_edge_calc_face_angle_signed(), BM_EDGES_OF_MESH, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, copy_vn_fl(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, DEG2RADF, e, blender::draw::MeshRenderData::edges_num, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::bke::mesh::face_corner_next(), blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, is_edge_convex_v3(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::keys(), M_PI, max_ff(), MEM_freeN(), MEM_mallocN, min, MR_EXTRACT_BMESH, BMLoop::next, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), MeshStatVis::sharp_max, MeshStatVis::sharp_min, sharp_remap(), ToolSettings::statvis, blender::draw::MeshRenderData::toolsettings, BMLoop::v, blender::draw::MeshRenderData::vert_positions, and blender::draw::MeshRenderData::verts_num.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 123 of file extract_mesh_vbo_mesh_analysis.cc.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_ray_cast(), BKE_bvhtree_from_mesh_get(), BLI_assert, BLI_bvhtree_ray_cast(), BLI_jitter_init(), bm, BMEditMesh::bm, BM_elem_index_get, BM_FACE, bm_face_no_get(), BM_FACES_OF_MESH, BM_ITER_MESH, BM_mesh_elem_index_ensure(), bm_vert_co_get(), BVHTREE_FROM_CORNER_TRIS, copy_vn_fl(), blender::draw::MeshRenderData::corner_tris_num, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, blender::math::cos(), blender::MutableSpan< T >::data(), blender::Span< T >::data(), dot_v3v3(), blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, fabsf, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, BVHTreeRayHit::index, blender::Span< T >::index_range(), interp_v3_v3v3v3_uv(), BMFace::len, BMEditMesh::looptris, madd_v3_v3fl(), mat4_to_scale(), blender::draw::MeshRenderData::mesh, min, MR_EXTRACT_BMESH, normal_tri_v3(), blender::draw::MeshRenderData::object_to_world, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), BVHTreeFromMesh::raycast_callback, blender::math::scale(), ToolSettings::statvis, MeshStatVis::thickness_max, MeshStatVis::thickness_min, thickness_remap(), MeshStatVis::thickness_samples, blender::draw::MeshRenderData::toolsettings, tree, uv_from_jitter_v2(), v, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_mesh_analysis().
|
inline |
For every coarse edge, there are resolution - 1 subdivided edges.
Definition at line 260 of file draw_subdivision.hh.
References blender::draw::DRWSubdivCache::resolution.
Referenced by extract_lines_loose_geom_subdiv(), extract_loose_positions_subdiv(), subdiv_loose_edges_num(), and subdiv_verts_per_coarse_edge().
|
inline |
Size of vertex buffers including all face corners, loose edges, and loose vertices.
Definition at line 278 of file draw_subdivision.hh.
References blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::Span< T >::size(), and subdiv_loose_edges_num().
Referenced by extract_edit_data_subdiv(), extract_edituv_stretch_angle_subdiv(), extract_normals_subdiv(), extract_positions_subdiv(), and extract_vert_index_subdiv().
|
inline |
The number of subdivided edges from base mesh loose edges.
Definition at line 272 of file draw_subdivision.hh.
References blender::draw::MeshRenderData::loose_edges, blender::Span< T >::size(), and subdiv_edges_per_coarse_edge().
Referenced by extract_edge_factor_subdiv(), extract_edge_index_subdiv(), extract_lines_loose_geom_subdiv(), extract_lines_subdiv(), and subdiv_full_vbo_size().
|
inline |
For every subdivided edge, there are two coarse vertices stored in vertex buffers.
Definition at line 266 of file draw_subdivision.hh.
References subdiv_edges_per_coarse_edge().
Referenced by extract_edge_idx_loose_geom_subdiv(), extract_edit_subdiv_data_bm(), extract_edit_subdiv_data_mesh(), extract_loose_positions_subdiv(), extract_points_subdiv_bm(), extract_points_subdiv_mesh(), and extract_vert_idx_loose_geom_subdiv().
|
static |
Definition at line 415 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Manager::DataDebugOutput::bounds, blender::draw::Manager::data_debug(), DRW_shaders_free(), blender::draw::Manager::end_sync(), EXPECT_EQ(), blender::math::from_scale(), blender::draw::Manager::DataDebugOutput::infos, blender::draw::Manager::DataDebugOutput::matrices, blender::draw::Manager::resource_handle(), and result.
|
static |
Definition at line 18 of file draw_pass_test.cc.
References DRW_shape_cache_free(), DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_STENCIL, EXPECT_EQ(), fb(), GPU_ATTACHMENT_IGNORE, GPU_ATTACHMENT_READ, GPU_ATTACHMENT_WRITE, GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_PRIM_TRIS, GPU_RGBA16, GPU_SHADER_3D_IMAGE_COLOR, GPU_shader_get_builtin_shader(), GPU_shader_get_uniform(), blender::MatBase< float, 4, 4 >::identity(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), and tex.
|
static |
Definition at line 211 of file draw_pass_test.cc.
References DRW_shape_cache_free(), EXPECT_EQ(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_SHADER_3D_IMAGE_COLOR, GPU_shader_get_builtin_shader(), and blender::draw::detail::Pass< DrawCommandBufType >::init().
|
static |
Definition at line 174 of file draw_pass_test.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_shape_cache_free(), EXPECT_EQ(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_SHADER_3D_IMAGE_COLOR, GPU_shader_get_builtin_shader(), blender::draw::detail::Pass< DrawCommandBufType >::init(), and blender::draw::detail::PassBase< DrawCommandBufType >::sub().
|
static |
Definition at line 254 of file draw_pass_test.cc.
References DRW_shape_cache_free(), EXPECT_EQ(), and blender::draw::PassSortable::init().
|
static |
Definition at line 131 of file draw_pass_test.cc.
References EXPECT_EQ(), GPU_SHADER_3D_IMAGE_COLOR, GPU_shader_get_builtin_shader(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), and blender::draw::detail::PassBase< DrawCommandBufType >::sub().
|
static |
Definition at line 280 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Framebuffer::bind(), DRW_shaders_free(), DRW_shape_cache_free(), blender::draw::Manager::end_sync(), blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), EXPECT_EQ(), blender::math::from_scale(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_PRIM_TRIS, GPU_render_begin(), GPU_render_end(), GPU_RGBA32F, GPU_SHADER_3D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_AA, GPU_shader_get_builtin_shader(), blender::MatBase< float, 4, 4 >::identity(), blender::draw::detail::Pass< DrawCommandBufType >::init(), orthographic_m4(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::draw::Manager::resource_handle(), blender::draw::Manager::SubmitDebugOutput::resource_id, result, blender::draw::Manager::submit_debug(), and view.
|
static |
Definition at line 367 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Framebuffer::bind(), DRW_shaders_free(), DRW_shape_cache_free(), blender::draw::Manager::end_sync(), blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), EXPECT_EQ(), blender::math::from_scale(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_PRIM_TRIS, GPU_render_begin(), GPU_render_end(), GPU_RGBA32F, GPU_SHADER_3D_IMAGE_COLOR, GPU_shader_get_builtin_shader(), blender::MatBase< float, 4, 4 >::identity(), blender::draw::detail::Pass< DrawCommandBufType >::init(), orthographic_m4(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::draw::Manager::resource_handle(), result, blender::draw::Manager::submit_debug(), view, and blender::draw::Manager::SubmitDebugOutput::visibility.
|
static |
Definition at line 1913 of file eevee_test.cc.
References blender::eevee::lut::brdf_ggx, blender::eevee::lut::bsdf_ggx, blender::eevee::lut::btdf_ggx, blender::eevee::lut::burley_sss_profile, blender::Span< T >::data(), eps, GPU_render_begin(), GPU_render_end(), blender::eevee::LUT_BURLEY_SSS_PROFILE, blender::eevee::LUT_GGX_BRDF_SPLIT_SUM, blender::eevee::LUT_GGX_BSDF_SPLIT_SUM, blender::eevee::LUT_GGX_BTDF_IOR_GT_ONE, blender::eevee::LUT_RANDOM_WALK_SSS_PROFILE, blender::eevee::lut::random_walk_sss_profile, and blender::Span< T >::size().
|
static |
Definition at line 731 of file eevee_test.cc.
References SHADOW_MAX_PAGE.
|
static |
Definition at line 623 of file eevee_test.cc.
References SHADOW_MAX_PAGE.
|
static |
The layout of these expected strings is Y down.
The layout of these expected strings is Y down.
Definition at line 739 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::Texture::clear(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::eevee::ShadowTileMapData::clip_data_index, blender::eevee::ShadowTileMapData::clip_far, blender::eevee::ShadowTileMapClip::clip_far_stored, blender::eevee::ShadowTileMapData::clip_near, data, DRW_shaders_free(), blender::draw::Texture::ensure_2d(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_TEXTURE_UPDATE, GPU_DATA_UINT, GPU_R32UI, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::eevee::ShadowTileMapData::half_size, blender::MatBase< float, 4, 4 >::identity(), MEM_SAFE_FREE, blender::eevee::ShadowPagesInfoData::page_alloc_count, blender::eevee::ShadowPagesInfoData::page_cached_end, blender::eevee::ShadowPagesInfoData::page_cached_next, blender::eevee::ShadowPagesInfoData::page_cached_start, blender::eevee::ShadowPagesInfoData::page_free_count, blender::math::projection::perspective(), blender::eevee::ShadowTileMapData::projection_type, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::draw::Texture::read(), result, blender::eevee::SHADOW_NO_DATA, SHADOW_PAGE_PER_ROW, blender::eevee::SHADOW_PROJECTION_CUBEFACE, blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), SHADOW_TILEDATA_PER_TILEMAP, SHADOW_TILEMAP_LOD0_LEN, SHADOW_TILEMAP_LOD1_LEN, SHADOW_TILEMAP_LOD2_LEN, SHADOW_TILEMAP_LOD3_LEN, SHADOW_TILEMAP_LOD4_LEN, SHADOW_TILEMAP_RES, SHADOW_VIEW_MAX, blender::draw::StorageVectorBuffer< T, len >::size(), blender::draw::Manager::submit(), tile, blender::eevee::ShadowTileMapData::tiles_index, blender::eevee::ShadowStatistics::view_needed_count, blender::eevee::ShadowTileMapData::viewmat, KernelWorkTile::x, and KernelWorkTile::y.
|
static |
Definition at line 363 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), blender::eevee::ShadowPagesInfoData::page_alloc_count, blender::eevee::ShadowPagesInfoData::page_cached_end, blender::eevee::ShadowPagesInfoData::page_cached_next, blender::eevee::ShadowPagesInfoData::page_cached_start, blender::eevee::ShadowPagesInfoData::page_free_count, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), SHADOW_MAX_PAGE, blender::eevee::shadow_page_pack(), SHADOW_PAGE_PER_COL, SHADOW_PAGE_PER_LAYER, SHADOW_PAGE_PER_ROW, blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), SHADOW_TILEDATA_PER_TILEMAP, blender::draw::StorageArrayBuffer< T, len, device_only >::size(), blender::draw::StorageVectorBuffer< T, len >::size(), blender::draw::Manager::submit(), tile, and blender::eevee::ShadowTileMapData::tiles_index.
|
static |
Definition at line 1790 of file eevee_test.cc.
References test_eevee_shadow_page_mask_ex().
|
static |
The layout of these expected strings is Y down.
Definition at line 1545 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_memory_barrier(), GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), blender::MatBase< float, 4, 4 >::identity(), blender::eevee::ShadowTileData::is_used, len, blender::eevee::LIGHT_OMNI_SPHERE, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), result, blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), SHADOW_TILEDATA_PER_TILEMAP, SHADOW_TILEMAP_LOD0_LEN, SHADOW_TILEMAP_LOD1_LEN, SHADOW_TILEMAP_LOD2_LEN, SHADOW_TILEMAP_LOD3_LEN, SHADOW_TILEMAP_LOD4_LEN, SHADOW_TILEMAP_LOD5_LEN, SHADOW_TILEMAP_RES, blender::draw::StorageVectorBuffer< T, len >::size(), square_i(), blender::draw::Manager::submit(), blender::eevee::ShadowTileMap::sync_cubeface(), tile, x, and blender::eevee::Z_NEG.
Referenced by test_eevee_shadow_page_mask().
|
static |
Definition at line 100 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::eevee::ShadowTileMapData::clip_data_index, blender::eevee::ShadowTileMapClip::clip_near_stored, DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), blender::eevee::ShadowTileMapData::grid_shift, blender::eevee::ShadowTileMapData::projection_type, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), SHADOW_PAGE_PER_COL, SHADOW_PAGE_PER_LAYER, SHADOW_PAGE_PER_ROW, blender::eevee::SHADOW_PROJECTION_CLIPMAP, blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), SHADOW_TILEMAP_RES, blender::draw::StorageVectorBuffer< T, len >::size(), blender::draw::Manager::submit(), tile, and blender::eevee::ShadowTileMapData::tiles_index.
|
static |
Definition at line 31 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), blender::eevee::ShadowTileMapData::grid_shift, blender::eevee::ShadowTileMapData::projection_type, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::eevee::SHADOW_PROJECTION_CUBEFACE, blender::eevee::shadow_tile_pack(), blender::eevee::shadow_tile_unpack(), SHADOW_TILEDATA_PER_TILEMAP, SHADOW_TILEMAP_RES, blender::draw::StorageVectorBuffer< T, len >::size(), square_i(), blender::draw::Manager::submit(), tile, and blender::eevee::ShadowTileMapData::tiles_index.
|
static |
The layout of these expected strings is Y down.
Definition at line 197 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::Manager::begin_sync(), blender::draw::Manager::bounds_buf, blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::eevee::ShadowTileData::do_update, DRW_shaders_free(), blender::draw::Manager::end_sync(), EXPECT_EQ(), blender::math::from_loc_rot_scale(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), blender::MatBase< float, 4, 4 >::identity(), blender::math::QuaternionBase< T >::identity(), len, blender::eevee::LIGHT_OMNI_SPHERE, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::draw::Manager::resource_handle(), blender::draw::ResourceHandle::resource_index(), result, blender::eevee::SHADOW_PROJECTION_CLIPMAP, blender::eevee::shadow_tile_unpack(), SHADOW_TILEDATA_PER_TILEMAP, SHADOW_TILEMAP_LOD0_LEN, SHADOW_TILEMAP_LOD1_LEN, SHADOW_TILEMAP_LOD2_LEN, SHADOW_TILEMAP_LOD3_LEN, SHADOW_TILEMAP_LOD4_LEN, SHADOW_TILEMAP_LOD5_LEN, blender::draw::StorageVectorBuffer< T, len >::size(), blender::draw::Manager::submit(), blender::eevee::ShadowTileMap::sync_cubeface(), blender::eevee::ShadowTileMap::sync_orthographic(), and blender::eevee::Z_NEG.
|
static |
Definition at line 1176 of file eevee_test.cc.
References blender::eevee::ShadowTileData::cache_index, blender::eevee::ShadowTileData::do_update, EXPECT_EQ(), blender::eevee::ShadowTileData::is_allocated, blender::eevee::ShadowTileData::is_cached, blender::eevee::ShadowTileData::is_rendered, blender::eevee::ShadowTileData::is_used, blender::eevee::ShadowSamplingTile::is_valid, blender::eevee::ShadowSamplingTile::lod, blender::eevee::ShadowSamplingTile::lod_offset, blender::eevee::ShadowSamplingTile::page, blender::eevee::ShadowTileData::page, blender::eevee::shadow_lod_offset_pack(), blender::eevee::shadow_lod_offset_unpack(), blender::eevee::shadow_page_pack(), blender::eevee::shadow_page_unpack(), blender::eevee::shadow_sampling_tile_pack(), blender::eevee::shadow_sampling_tile_unpack(), blender::eevee::shadow_tile_pack(), and blender::eevee::shadow_tile_unpack().
|
static |
The layout of these expected strings is Y down.
Definition at line 1211 of file eevee_test.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::data(), DRW_shaders_free(), blender::draw::Texture::ensure_2d(), EXPECT_EQ(), blender::Vector< T, InlineBufferCapacity, Allocator >::fill(), GPU_BARRIER_TEXTURE_UPDATE, GPU_DATA_UINT, GPU_R32UI, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_texture_update_sub(), GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::eevee::LightCullingData::items_count, LIGHT_BUF_SLOT, LIGHT_CULL_BUF_SLOT, blender::eevee::LIGHT_SUN, LIGHT_TILE_BUF_SLOT, LIGHT_ZBIN_BUF_SLOT, blender::eevee::LightCullingData::local_lights_len, MEM_SAFE_FREE, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::Texture::read(), result, SHADOW_PAGE_PER_ROW, blender::eevee::shadow_sampling_tile_pack(), blender::eevee::shadow_sampling_tile_unpack(), SHADOW_TILEMAP_PER_ROW, SHADOW_TILEMAP_RES, blender::draw::Manager::submit(), blender::eevee::LightCullingData::sun_lights_len, tile, KernelWorkTile::x, x, KernelWorkTile::y, and y.
|
static |
Simulate surfels on a 2x2 projection grid covering [0..2] on the Z axis.
Definition at line 1803 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), capture_info_buf, ceil_to_multiple_u(), blender::draw::detail::DataBuffer< T, len, device_only >::data(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), DRW_shaders_free(), GPU_BARRIER_BUFFER_UPDATE, GPU_BARRIER_SHADER_STORAGE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_storagebuf_clear(), blender::MatBase< float, 4, 4 >::identity(), blender::eevee::SurfelListInfoData::list_max, blender::math::projection::orthographic(), blender::eevee::Surfel::position, blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::eevee::SurfelListInfoData::ray_grid_size, blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::draw::StorageArrayBuffer< T, len, device_only >::resize(), blender::draw::StorageVectorBuffer< T, len >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::draw::Manager::submit(), and blender::draw::View::sync().
|
static |
Definition at line 846 of file draw_cache_impl_mesh.cc.
References BLI_assert, blender::draw::MeshBatchCache::cd_needed, mesh_cd_calc_active_mask_uv_layer(), mesh_cd_calc_active_uv_layer(), mesh_cd_layers_type_clear(), mesh_cd_layers_type_merge(), and blender::draw::DRW_MeshCDMask::uv.
Referenced by DRW_mesh_batch_cache_get_surface_edges(), DRW_mesh_batch_cache_get_surface_texpaint(), and DRW_mesh_batch_cache_get_surface_texpaint_single().
| BLI_INLINE float blender::draw::thickness_remap | ( | float | fac, |
| float | min, | ||
| float | max, | ||
| float | minmax_irange ) |
Definition at line 109 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_thickness().
Definition at line 176 of file draw_state.hh.
References DRW_STATE_BLEND_ADD, DRW_STATE_BLEND_ADD_FULL, DRW_STATE_BLEND_ALPHA, DRW_STATE_BLEND_ALPHA_PREMUL, DRW_STATE_BLEND_ALPHA_UNDER_PREMUL, DRW_STATE_BLEND_BACKGROUND, DRW_STATE_BLEND_CUSTOM, DRW_STATE_BLEND_ENABLED, DRW_STATE_BLEND_MUL, DRW_STATE_BLEND_OIT, DRW_STATE_BLEND_SUB, DRW_STATE_LOGIC_INVERT, GPU_BLEND_ADDITIVE, GPU_BLEND_ADDITIVE_PREMULT, GPU_BLEND_ALPHA, GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_ALPHA_UNDER_PREMUL, GPU_BLEND_BACKGROUND, GPU_BLEND_CUSTOM, GPU_BLEND_INVERT, GPU_BLEND_MULTIPLY, GPU_BLEND_NONE, GPU_BLEND_OIT, GPU_BLEND_SUBTRACT, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 128 of file draw_state.hh.
References DRW_STATE_DEPTH_ALWAYS, DRW_STATE_DEPTH_EQUAL, DRW_STATE_DEPTH_GREATER, DRW_STATE_DEPTH_GREATER_EQUAL, DRW_STATE_DEPTH_LESS, DRW_STATE_DEPTH_LESS_EQUAL, DRW_STATE_DEPTH_TEST_ENABLED, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, GPU_DEPTH_NONE, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 116 of file draw_state.hh.
References DRW_STATE_CULL_BACK, DRW_STATE_CULL_FRONT, GPU_CULL_BACK, GPU_CULL_FRONT, GPU_CULL_NONE, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 206 of file draw_state.hh.
References DRW_STATE_FIRST_VERTEX_CONVENTION, GPU_VERTEX_FIRST, GPU_VERTEX_LAST, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 148 of file draw_state.hh.
References DRW_STATE_WRITE_STENCIL, DRW_STATE_WRITE_STENCIL_ENABLED, DRW_STATE_WRITE_STENCIL_SHADOW_FAIL, DRW_STATE_WRITE_STENCIL_SHADOW_PASS, GPU_STENCIL_OP_COUNT_DEPTH_FAIL, GPU_STENCIL_OP_COUNT_DEPTH_PASS, GPU_STENCIL_OP_NONE, GPU_STENCIL_OP_REPLACE, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 162 of file draw_state.hh.
References DRW_STATE_STENCIL_ALWAYS, DRW_STATE_STENCIL_EQUAL, DRW_STATE_STENCIL_NEQUAL, DRW_STATE_STENCIL_TEST_ENABLED, GPU_STENCIL_ALWAYS, GPU_STENCIL_EQUAL, GPU_STENCIL_NEQUAL, GPU_STENCIL_NONE, and state.
Referenced by blender::draw::command::StateSet::execute().
|
inlinestatic |
Definition at line 101 of file draw_state.hh.
References DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_DEPTH, DRW_STATE_WRITE_STENCIL_ENABLED, GPU_WRITE_COLOR, GPU_WRITE_DEPTH, GPU_WRITE_NONE, GPU_WRITE_STENCIL, and state.
Referenced by blender::draw::command::StateSet::execute().
Definition at line 555 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Needed so we can use jitter values for face interpolation.
Definition at line 97 of file extract_mesh_vbo_mesh_analysis.cc.
References clamp_v2().
Referenced by statvis_calc_thickness().
|
static |
Definition at line 59 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References atan2f, float, M_1_PI, and v.
Referenced by edituv_get_edituv_stretch_angle().
Definition at line 37 of file draw_cache_impl_lattice.cc.
Referenced by lattice_render_verts_len_get().
|
static |
Definition at line 501 of file draw_cache_impl_subdivision.cc.
References data, OpenSubdiv_Buffer::data, GPU_vertbuf_data_alloc(), len, and verts.
Referenced by opensubdiv_gpu_buffer_init().
|
static |
Definition at line 495 of file draw_cache_impl_subdivision.cc.
References OpenSubdiv_Buffer::data, GPU_vertbuf_use(), and verts.
Referenced by opensubdiv_gpu_buffer_init().
| void blender::draw::vertbuf_data_extract_direct | ( | const GSpan | attribute, |
| gpu::VertBuf & | vbo ) |
Definition at line 37 of file attribute_convert.cc.
References blender::bke::attribute_math::convert_to_static_type().
|
static |
Definition at line 508 of file draw_cache_impl_subdivision.cc.
References OpenSubdiv_Buffer::data, GPU_vertbuf_data_alloc(), len, and verts.
Referenced by opensubdiv_gpu_buffer_init().
|
static |
Definition at line 522 of file draw_cache_impl_subdivision.cc.
References OpenSubdiv_Buffer::data, GPU_vertbuf_update_sub(), len, and verts.
Referenced by opensubdiv_gpu_buffer_init().
|
static |
Definition at line 516 of file draw_cache_impl_subdivision.cc.
References OpenSubdiv_Buffer::data, GPU_vertbuf_wrap_handle(), and verts.
Referenced by opensubdiv_gpu_buffer_init().
|
static |
Definition at line 115 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::batch, BLI_freelistN(), DRW_TEXTURE_FREE_SAFE, blender::draw::VolumeBatchCache::face_wire, GPU_BATCH_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::VolumeBatchCache::grids, LISTBASE_FOREACH, MEM_SAFE_FREE, blender::draw::VolumeBatchCache::pos_nor_in_order, and blender::draw::VolumeBatchCache::selection_surface.
Referenced by DRW_volume_batch_cache_free(), and DRW_volume_batch_cache_validate().
|
static |
Definition at line 94 of file draw_cache_impl_volume.cc.
References DRW_volume_batch_cache_validate().
Referenced by DRW_volume_batch_cache_get_grid(), DRW_volume_batch_cache_get_selection_surface(), and DRW_volume_batch_cache_get_wireframes_face().
|
static |
Definition at line 72 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::is_dirty.
Referenced by DRW_volume_batch_cache_validate().
|
static |
Definition at line 66 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::is_dirty.
Referenced by DRW_volume_batch_cache_validate().
|
static |
Definition at line 276 of file draw_cache_impl_volume.cc.
References BKE_volume_dense_float_grid_clear(), BKE_volume_grid_dense_floats(), BKE_volume_load(), BLI_addtail(), BLI_strdup(), ELEM, G, blender::bke::volume_grid::get_channels_num(), blender::bke::volume_grid::get_name(), blender::bke::volume_grid::get_type(), GPU_R16F, GPU_RGB16F, GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER, GPU_texture_create_3d(), GPU_texture_extend_mode(), GPU_texture_swizzle_set(), GPU_TEXTURE_USAGE_SHADER_READ, blender::draw::VolumeBatchCache::grids, blender::math::invert(), LISTBASE_FOREACH, MEM_freeN(), DRWVolumeGrid::name, DRWVolumeGrid::object_to_texture, printf, DenseFloatVolumeGrid::resolution, DRWVolumeGrid::texture, DenseFloatVolumeGrid::texture_to_object, DRWVolumeGrid::texture_to_object, UNPACK3, and DenseFloatVolumeGrid::voxels.
Referenced by DRW_volume_batch_cache_get_grid().
| PassType * blender::draw::volume_object_grids_init | ( | PassType & | ps, |
| Object * | ob, | ||
| ListBaseWrapper< GPUMaterialAttribute > & | attrs ) |
Definition at line 295 of file draw_volume.cc.
References BKE_volume_density_scale(), BKE_volume_grid_find(), BKE_volume_load(), BKE_volume_num_grids(), Object::data, DRW_volume_batch_cache_get_grid(), DST, G, g_data, grid_default_texture(), blender::MatBase< float, 4, 4 >::identity(), DRWVolumeGrid::object_to_texture, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), DRWVolumeGrid::texture, DRWManager::vmempool, and DRWData::volume_grids_ubos.
Referenced by volume_sub_pass_implementation().
| PassMain::Sub * blender::draw::volume_sub_pass | ( | PassMain::Sub & | ps, |
| Scene * | scene, | ||
| Object * | ob, | ||
| GPUMaterial * | gpu_material ) |
Volume. Add attribute bindings of volume grids to an existing pass. No draw call is added so the caller can decide how to use the data.
Add attribute bindings of volume grids to an existing pass. No draw call is added so the caller can decide how to use the data.
Definition at line 448 of file draw_volume.cc.
References volume_sub_pass_implementation().
Referenced by blender::eevee::WorldVolumePipeline::sync(), blender::eevee::SyncModule::sync_volume(), and blender::eevee::volume_call().
| PassType * blender::draw::volume_sub_pass_implementation | ( | PassType & | ps, |
| Scene * | scene, | ||
| Object * | ob, | ||
| GPUMaterial * | gpu_material ) |
Definition at line 430 of file draw_volume.cc.
References drw_volume_object_mesh_init(), GPU_material_attributes(), OB_VOLUME, Object::type, volume_object_grids_init(), and volume_world_grids_init().
Referenced by volume_sub_pass().
| PassType * blender::draw::volume_world_grids_init | ( | PassType & | ps, |
| ListBaseWrapper< GPUMaterialAttribute > & | attrs ) |
Definition at line 284 of file draw_volume.cc.
References grid_default_texture().
Referenced by volume_sub_pass_implementation().
|
static |
Definition at line 103 of file draw_cache_impl_curves.cc.
|
static |
Definition at line 47 of file draw_curves.cc.
Referenced by curves_sub_pass_setup_implementation(), drw_curves_ensure_dummy_vbo(), DRW_curves_free(), DRW_pointcloud_free(), DRW_pointcloud_init(), DRW_shgroup_curves_create_sub(), DRW_shgroup_pointcloud_create_sub(), hair_sub_pass_setup_implementation(), and point_cloud_sub_pass_setup_implementation().
|
static |
Definition at line 36 of file draw_pointcloud.cc.
|
static |
Definition at line 2254 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_create_subdivision(), and DRW_subdiv_free().
|
static |
Definition at line 376 of file draw_curves.cc.
Referenced by curves_cache_get(), curves_free(), curves_init(), curves_update(), hair_free(), hair_init(), hair_particle_cache_get(), and hair_update().
|
static |
Definition at line 270 of file draw_hair.cc.
|
static |
Definition at line 97 of file draw_cache_impl_subdivision.cc.
Referenced by get_subdiv_custom_data_shader().
|
static |
Definition at line 93 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_subdiv_free(), get_patch_evaluation_shader(), and get_subdiv_shader().
|
static |
Definition at line 48 of file draw_curves.cc.
Referenced by drw_curves_cache_update_compute(), DRW_curves_init(), and DRW_curves_update().
|
static |
Definition at line 2319 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 2320 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 221 of file draw_cache_impl_pointcloud.cc.
Referenced by pointcloud_extract_indices().