|
Blender V4.5
|
Namespaces | |
| namespace | pbvh |
| namespace | compositor_engine |
| namespace | external |
| namespace | gpencil |
| namespace | overlay |
| namespace | edit_select_debug |
| namespace | edit_select |
| namespace | select |
| namespace | color_management |
| namespace | command |
| namespace | detail |
| namespace | Shader |
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 | VolumeInfosBuf = blender::draw::UniformBuffer<VolumeInfos> |
| using | ShadowPageCacheBuf = draw::StorageArrayBuffer<uint2uint2, SHADOW_MAX_PAGE, false> |
| using | ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, false> |
Enumerations | |
| enum | eDRWLevelOfDetail { DRW_LOD_LOW = 0 , DRW_LOD_MEDIUM = 1 , DRW_LOD_HIGH = 2 , DRW_LOD_MAX } |
| 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 class | VBOType : int8_t { Position , CornerNormal , EdgeFactor , VertexGroupWeight , UVs , Tangents , SculptData , Orco , EditData , EditUVData , EditUVStretchArea , EditUVStretchAngle , MeshAnalysis , FaceDotPosition , FaceDotNormal , FaceDotUV , FaceDotEditUVData , SkinRoots , IndexVert , IndexEdge , IndexFace , IndexFaceDot , Attr0 , Attr1 , Attr2 , Attr3 , Attr5 , Attr6 , Attr7 , Attr8 , Attr9 , Attr10 , Attr11 , Attr12 , Attr13 , Attr14 , Attr15 , AttrViewer , VertexNormal } |
| enum class | IBOType : int8_t { Tris , Lines , LinesLoose , Points , FaceDots , LinesPaintMask , LinesAdjacency , UVLines , EditUVTris , EditUVLines , EditUVPoints , EditUVFaceDots } |
| 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_UV_FACES = (1u << MBC_BATCH_INDEX(uv_faces)) , 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_WIRE_LOOPS_EDITUVS = (1u << MBC_BATCH_INDEX(wire_loops_edituvs)) , 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 | 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 } |
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 } |
Variables | |
| static OpenSubdiv_EvaluatorCache * | g_subdiv_evaluator_cache = nullptr |
| static uint64_t | g_subdiv_evaluator_users = 0 |
| static Mutex | g_subdiv_eval_mutex |
| static LinkNode * | gpu_subdiv_free_queue = nullptr |
| static blender::Mutex | gpu_subdiv_queue_mutex |
| constexpr uint | drw_debug_persistent_lifetime = ~0u |
Mesh Render Data | |
| enum class | MeshExtractType { BMesh , 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 StringRef name, int index) |
Definition at line 38 of file draw_curves.cc.
| using blender::draw::ObjectBoundsBuf = StorageArrayBuffer<ObjectBounds, 128> |
Definition at line 33 of file draw_view.hh.
| using blender::draw::ObjectInfosBuf = StorageArrayBuffer<ObjectInfos, 128> |
Definition at line 34 of file draw_view.hh.
Definition at line 42 of file draw_manager.hh.
Definition at line 41 of file draw_manager.hh.
| using blender::draw::ShadowPageCacheBuf = draw::StorageArrayBuffer<uint2uint2, SHADOW_MAX_PAGE, false> |
Definition at line 20 of file eevee_test.cc.
| using blender::draw::ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, false> |
Definition at line 21 of file eevee_test.cc.
| using blender::draw::VisibilityBuf = StorageArrayBuffer<uint, 4, true> |
Definition at line 35 of file draw_view.hh.
Definition at line 35 of file draw_volume.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| CU_DATATYPE_WIRE | |
| CU_DATATYPE_OVERLAY | |
| CU_DATATYPE_NORMAL | |
| CU_DATATYPE_SURFACE | |
| CU_DATATYPE_TEXT_SELECT | |
Definition at line 181 of file draw_cache_impl_curve.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| LR_DATATYPE_VERT | |
| LR_DATATYPE_EDGE | |
| LR_DATATYPE_OVERLAY | |
Definition at line 109 of file draw_cache_impl_lattice.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| DRW_MESH_WEIGHT_STATE_MULTIPAINT | |
| DRW_MESH_WEIGHT_STATE_AUTO_NORMALIZE | |
| DRW_MESH_WEIGHT_STATE_LOCK_RELATIVE | |
Definition at line 57 of file draw_cache_extract.hh.
| anonymous enum |
Definition at line 284 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 298 of file draw_cache_impl.hh.
| anonymous enum |
| Enumerator | |
|---|---|
| COLOR_NURB_ULINE_ID | |
| TOT_HANDLE_COL | |
Definition at line 53 of file draw_cache_impl_curve.cc.
| Enumerator | |
|---|---|
| CURVES_EVAL_CATMULL_ROM | |
| CURVES_EVAL_BEZIER | |
Definition at line 30 of file draw_curves_private.hh.
Definition at line 192 of file draw_cache_extract.hh.
Shape resolution level of detail.
| Enumerator | |
|---|---|
| DRW_LOD_LOW | |
| DRW_LOD_MEDIUM | |
| DRW_LOD_HIGH | |
| DRW_LOD_MAX | |
Definition at line 34 of file draw_cache.hh.
|
strong |
All index buffers used for mesh batches.
| Enumerator | |
|---|---|
| Tris | |
| Lines | |
| LinesLoose | |
| Points | |
| FaceDots | |
| LinesPaintMask | |
| LinesAdjacency | |
| UVLines | |
| EditUVTris | |
| EditUVLines | |
| EditUVPoints | |
| EditUVFaceDots | |
Definition at line 121 of file draw_cache_extract.hh.
|
strong |
| Enumerator | |
|---|---|
| BMesh | |
| Mesh | |
Definition at line 41 of file extract_mesh.hh.
| Enumerator | |
|---|---|
| PARTICLE_SOURCE_PARENT | |
| PARTICLE_SOURCE_CHILDREN | |
Definition at line 501 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 31 of file draw_sculpt.hh.
|
strong |
Vertex buffer types that can be use by batches in the mesh batch cache.
Definition at line 72 of file draw_cache_extract.hh.
|
static |
Definition at line 161 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_bm(), bm, and blender::threading::parallel_for().
Referenced by accumululate_material_counts_bm(), and mesh_render_data_mat_tri_len_build().
|
static |
Definition at line 177 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_mesh(), blender::draw::MeshRenderData::corners_num, count, blender::draw::MeshRenderData::faces, faces, blender::draw::MeshRenderData::faces_num, blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), blender::draw::MeshRenderData::material_indices, blender::threading::parallel_reduce(), and poly_to_tri_count().
Referenced by accumululate_material_counts_mesh(), and mesh_render_data_mat_tri_len_build().
|
static |
Definition at line 568 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 677 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().
| BLI_INLINE float blender::draw::area_ratio_get | ( | float | area, |
| float | uvarea ) |
Definition at line 21 of file extract_mesh_vbo_edituv_stretch_area.cc.
References BLI_INLINE.
| BLI_INLINE float blender::draw::area_ratio_to_stretch | ( | float | ratio, |
| float | tot_ratio ) |
Definition at line 29 of file extract_mesh_vbo_edituv_stretch_area.cc.
References BLI_INLINE.
|
inlinestatic |
Definition at line 1178 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Definition at line 1173 of file DRW_gpu_wrapper.hh.
Referenced by blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), and blender::draw::detail::PassBase< DrawCommandBufType >::bind_image().
|
inlinestatic |
Definition at line 1188 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Definition at line 1183 of file DRW_gpu_wrapper.hh.
Referenced by blender::draw::command::ResourceBind::ResourceBind(), and blender::draw::command::ResourceBind::ResourceBind().
|
static |
Definition at line 168 of file draw_curves.cc.
References GPU_material_attributes(), and LISTBASE_FOREACH.
Referenced by curves_sub_pass_setup_implementation().
|
static |
Definition at line 1067 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_POLY, blender::VArray< T >::ForContainer(), input, and out.
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 29 of file extract_mesh_vbo_mesh_analysis.cc.
Referenced by statvis_calc_overhang().
|
static |
Definition at line 106 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, and blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_curves_batch_cache_validate().
|
static |
Definition at line 261 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_data().
|
static |
Definition at line 627 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().
References MBC_BATCH_LEN.
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< blender::draw::select::SelectInfoData, len, false >::operator Span< blender::draw::select::SelectInfoData >(), 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 436 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 441 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 172 of file extract_mesh.hh.
References BLI_INLINE, BM_ELEM_CD_GET_FLOAT_P, BM_elem_index_get, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_free_normal_offset_face, 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 137 of file extract_mesh.hh.
References BLI_INLINE, 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 129 of file extract_mesh.hh.
References BLI_INLINE, 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 145 of file extract_mesh.hh.
References BLI_INLINE, 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 153 of file extract_mesh.hh.
References BLI_INLINE, BM_elem_index_get, blender::draw::MeshRenderData::bm_vert_coords, and BMVert::co.
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 161 of file extract_mesh.hh.
References BLI_INLINE, BM_ELEM_CD_GET_FLOAT_P, BM_elem_index_get, blender::draw::MeshRenderData::bm_free_normal_offset_vert, blender::draw::MeshRenderData::bm_vert_normals, and BMVert::no.
|
static |
Definition at line 146 of file draw_sculpt.cc.
References bm, CustomData_get_offset_named(), blender::bke::AttributeMetaData::data_type, blender::bke::AttributeMetaData::domain, and get_cdata().
Referenced by sculpt_batches_get().
|
static |
Returns which domain of normals is required because of sharp and smooth flags. Similar to #Mesh::normals_domain().
Definition at line 450 of file draw_cache_extract_mesh_render_data.cc.
References blender::array_utils::AllFalse, blender::array_utils::AllTrue, bm, BM_EDGE, BM_FACE, BM_mesh_elem_table_ensure(), bmesh_normals_domain(), blender::array_utils::booleans_mix_calc(), CD_PROP_FLOAT3, CD_PROP_INT16_2D, blender::bke::Corner, CustomData_has_layer_named(), blender::bke::Face, VArray< T >::ForDerivedSpan(), and blender::bke::Point.
Referenced by bmesh_normals_domain(), and mesh_render_data_create().
|
static |
Definition at line 648 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 440 of file draw_cache_impl_pointcloud.cc.
References Geometry::attributes, build_edit_selection_indices(), IndexMask::from_bools(), index_mask_to_ibo(), mask(), and blender::bke::Point.
Referenced by build_edit_selection_indices(), and DRW_pointcloud_batch_cache_create_requested().
|
static |
Definition at line 136 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_from_attribute(), 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 261 of file extract_mesh_vbo_mesh_analysis.cc.
References data, ELEM, isect_tri_tri_v3(), len_squared_v3v3(), UNLIKELY, and UNPACK3.
Referenced by statvis_calc_intersect().
|
static |
Definition at line 113 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, i, blender::Span< T >::index_range(), lines_adjacency_triangle(), BMEditMesh::looptris, and v.
Referenced by extract_lines_adjacency().
|
static |
Definition at line 137 of file extract_mesh_ibo_lines_adjacency.cc.
References blender::draw::MeshRenderData::corner_verts, blender::bke::mesh::face_triangles_range(), blender::draw::MeshRenderData::faces, 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 507 of file draw_cache_impl_curves.cc.
References calc_edit_handles_ibo(), blender::MutableSpan< T >::cast(), extract_curve_lines(), blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, handle_range_left(), handle_range_right(), handles_and_points_num(), i, blender::IndexRange::index_range(), blender::index_mask::IndexMask::is_empty(), pos, blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::MutableSpan< T >::slice(), 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 249 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(), i, BMFace::len, BMFace::mat_nr, and blender::draw::MeshRenderData::materials_num.
Referenced by calc_face_tri_starts_bmesh(), and mesh_render_data_faces_sorted_build().
|
static |
Definition at line 283 of file draw_cache_extract_mesh_render_data.cc.
References blender::MutableSpan< T >::as_span(), calc_face_tri_starts_mesh(), blender::bke::mesh::face_triangles_num(), blender::draw::MeshRenderData::faces, faces, blender::Array< T, InlineBufferCapacity, Allocator >::fill(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), 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, faces, blender::draw::MeshRenderData::faces_num, blender::IndexMask::from_bools_inverse(), blender::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_poly, i, 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 696 of file draw_cache_impl_curves.cc.
References BLI_assert, calc_final_indices(), blender::bke::CurvesGeometry::curves_num(), 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_U32, GPU_FETCH_INT, 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_from_attribute(), 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::IndexMask::from_bits(), blender::IndexMask::from_bools_inverse(), blender::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, i, 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 197 of file extract_mesh_ibo_points.cc.
References calc_vert_visibility_mapped_mesh(), IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_vert, i, 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::IndexMask::from_bools_inverse(), blender::IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_vert, i, Span< T >::is_empty(), mask(), blender::draw::MeshRenderData::orig_index_vert, and ORIGINDEX_NONE.
Referenced by extract_points_mesh().
|
static |
Definition at line 62 of file extract_mesh_ibo_lines.cc.
References calc_visible_loose_edge_indices(), IndexMask::from_predicate(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, i, 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 181 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, 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 140 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 168 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 159 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 39 of file extract_mesh_vbo_edituv_stretch_area.cc.
References b, blender::draw::MeshRenderData::bm, bm, BMesh, CD_PROP_FLOAT2, CustomData_get_offset(), blender::draw::MeshRenderData::extract_type, blender::threading::parallel_reduce(), blender::draw::AreaInfo::tot_area, and blender::draw::AreaInfo::tot_uv_area.
Referenced by extract_edituv_stretch_area(), and extract_edituv_stretch_area_subdiv().
Definition at line 298 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 34 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().
|
static |
Definition at line 222 of file draw_cache_impl_grease_pencil.cc.
References transform(), and blender::math::transform_point().
|
static |
Definition at line 236 of file draw_cache_impl_particles.cc.
References ParticleHairCache::elems_len, i, ParticleHairCache::point_len, ParticleCacheKey::segments, and ParticleHairCache::strands_len.
Referenced by ensure_seg_pt_count().
|
static |
Definition at line 652 of file draw_cache_impl_curves.cc.
References create_curve_offsets_vbos(), blender::draw::CurvesEvalCache::curves_num, fill_curve_offsets_vbos(), 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 300 of file draw_cache_impl_curves.cc.
References blender::bke::CurvesGeometry::attributes(), bezier_data_value(), create_edit_points_data(), blender::gpu::VertBuf::data(), data, EDIT_CURVES_BEZIER_KNOT, EDIT_CURVES_NURBS_CONTROL_POINT, extract_edit_data(), blender::index_mask::IndexMask::foreach_index(), GPU_COMP_U32, GPU_FETCH_INT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), handle_range_left(), handle_range_right(), blender::bke::CurvesGeometry::handle_types_left(), blender::bke::CurvesGeometry::handle_types_right(), handles_and_points_num(), i, blender::IndexRange::index_range(), blender::index_mask::IndexMask::is_empty(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::Point, pos, and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_edit_points_data(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 354 of file draw_cache_impl_curves.cc.
References create_edit_points_position(), blender::gpu::VertBuf::data(), data, blender::array_utils::gather_group_to_group(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), blender::bke::CurvesGeometry::handle_positions_left(), blender::bke::CurvesGeometry::handle_positions_right(), handle_range_left(), handle_range_right(), handles_and_points_num(), blender::bke::crazyspace::GeometryDeformation::positions, and blender::Span< T >::size().
Referenced by create_edit_points_position(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 1063 of file draw_cache_impl_curves.cc.
References create_edit_points_position_vbo(), blender::gpu::VertBuf::data(), blender::draw::CurvesBatchCache::edit_curves_lines_pos, blender::bke::CurvesGeometry::evaluated_positions(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), and blender::Span< T >::size().
Referenced by create_edit_points_position_vbo(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 385 of file draw_cache_impl_curves.cc.
References create_edit_points_selection(), blender::gpu::VertBuf::data(), data, blender::array_utils::gather_group_to_group(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), handle_range_left(), handle_range_right(), handles_and_points_num(), blender::index_mask::IndexMask::is_empty(), blender::bke::AttributeAccessor::lookup_or_default(), blender::bke::Point, 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 25 of file extract_mesh_ibo_lines_adjacency.cc.
References 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 424 of file draw_cache_impl_curves.cc.
References create_lines_ibo_no_cyclic(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINE_STRIP, i, blender::IndexRange::index_range(), blender::IndexRange::last(), blender::threading::parallel_for(), blender::gpu::RESTART_INDEX, blender::IndexRange::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::IndexRange::start(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_lines_ibo_no_cyclic(), create_lines_ibo_with_cyclic(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 446 of file draw_cache_impl_curves.cc.
References create_lines_ibo_with_cyclic(), blender::IndexRange::first(), GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINE_STRIP, i, blender::IndexRange::index_range(), blender::IndexRange::last(), blender::threading::parallel_for(), blender::gpu::RESTART_INDEX, blender::IndexRange::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::IndexRange::start(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by create_lines_ibo_with_cyclic(), create_lines_ibo_with_cyclic(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 470 of file draw_cache_impl_curves.cc.
References blender::array_utils::AllFalse, blender::array_utils::booleans_mix_calc(), create_lines_ibo_no_cyclic(), and create_lines_ibo_with_cyclic().
| void blender::draw::create_material_subranges | ( | const SortedFaceData & | face_sorted, |
| gpu::IndexBuf & | tris_ibo, | ||
| MutableSpan< gpu::IndexBufPtr > | ibos ) |
Definition at line 91 of file extract_mesh_ibo_tris.cc.
References create_material_subranges(), GPU_indexbuf_create_subrange(), i, Array< T, InlineBufferCapacity, Allocator >::index_range(), len, and blender::draw::SortedFaceData::tris_num_by_material.
Referenced by create_material_subranges(), and DRW_mesh_batch_cache_create_requested().
|
static |
Definition at line 237 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::bke::CurvesGeometry::points_by_curve(), blender::draw::CurvesEvalCache::points_num, blender::bke::CurvesGeometry::positions(), 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 16 of file extract_mesh_vbo_select_idx.cc.
References GPU_COMP_I32, GPU_FETCH_INT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), and size().
Referenced by extract_edge_index(), extract_face_dot_index(), extract_face_index(), and extract_vert_index().
|
static |
TODO
Definition at line 419 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, i, 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 393 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 357 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 332 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 480 of file draw_cache_impl_curve.cc.
References blender::bke::CurvesGeometry::attributes(), blender::draw::CurveRenderData::curve_eval, curve_render_data_wire_verts_len_get(), blender::gpu::VertBuf::data(), blender::bke::CurvesGeometry::ensure_can_interpolate_to_evaluated(), Curves::geometry, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), blender::bke::CurvesGeometry::interpolate_to_evaluated(), blender::bke::AttributeAccessor::lookup(), and blender::bke::Point.
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 503 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(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::bke::CurvesGeometry::evaluated_points_by_curve(), Curves::geometry, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_indexbuf_build_in_place(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, i, blender::IndexRange::last(), and blender::IndexRange::size().
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 455 of file draw_cache_impl_curve.cc.
References attr_id, blender::draw::CurveRenderData::curve_eval, curve_render_data_wire_verts_len_get(), blender::Span< T >::data(), blender::bke::CurvesGeometry::evaluated_positions(), 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 536 of file draw_cache_impl_curve.cc.
References attr_id, CurveCache::bev, BevList::bevpoints, BLI_assert, blender::gpu::convert_normal(), 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_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, RenderData::perf_flag, pos, BevPoint::quat, Scene::r, 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 661 of file draw_cache_impl_curve.cc.
References attr_id, BEZT_ISSEL_ANY, beztriple_vflag_get(), bpoint_vflag_get(), curve_render_data_overlay_edges_len_get(), curve_render_data_overlay_verts_len_get(), 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 99 of file draw_cache_impl_curve.cc.
References blender::bke::CurvesGeometry::curves_num(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), blender::bke::CurvesGeometry::evaluated_points_by_curve(), i, 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 197 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 247 of file draw_cache_impl_curve.cc.
References MEM_freeN().
Referenced by DRW_curve_batch_cache_create_requested().
|
static |
Definition at line 287 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 263 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 257 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 281 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 275 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 269 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 115 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 71 of file draw_cache_impl_curve.cc.
References BLI_assert, and LISTBASE_FOREACH.
Referenced by curve_render_data_create().
|
static |
Definition at line 207 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(), curves_ensure_procedural_data(), CURVES_EVAL_CATMULL_ROM, DRWData::curves_module, blender::draw::CurvesEvalCache::curves_num, DRWContext::data, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), drw_get(), DRW_shader_curves_refine_get(), blender::draw::CurvesEvalCache::final, GPU_max_work_group_count(), i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), module, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalCache::proc_attributes_point_domain, 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::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 901 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::bke::CurvesGeometry::curves_num(), 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::bke::CurvesGeometry::points_by_curve(), blender::bke::CurvesGeometry::points_num(), 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().
| gpu::VertBuf * blender::draw::curves_pos_buffer_get | ( | Scene * | scene, |
| Object * | object ) |
Definition at line 262 of file draw_curves.cc.
References curves_cache_get(), DRW_object_get_data_for_drawing(), blender::draw::CurvesEvalCache::final, RenderData::hair_subdiv, RenderData::hair_type, blender::draw::CurvesEvalFinalCache::proc_buf, Scene::r, 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 398 of file draw_curves.cc.
References curves_sub_pass_setup_implementation().
Referenced by blender::draw::overlay::Sculpts::curves_sync(), blender::draw::external::Prepass::object_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 274 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, attribute_index_in_material(), blender::bke::CurvesGeometry::attributes(), blender::draw::CurvesEvalFinalCache::attributes_buf, BLI_assert, CD_PROP_FLOAT2, CurvesGeometry::curve_data, DRWData::curves_module, blender::bke::CurvesGeometry::curves_num(), CustomData_get_render_layer_name(), CustomData_has_layer(), DRWContext::data, drw_curves_cache_get(), drw_curves_get_attribute_sampler_name(), drw_get(), DRW_object_get_data_for_drawing(), blender::draw::CurvesEvalCache::final, blender::IndexRange::first(), Curves::geometry, GPU_material_attributes(), RenderData::hair_subdiv, RenderData::hair_type, i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), CurvesInfos::is_point_attribute, blender::IndexRange::last(), blender::bke::AttributeAccessor::lookup_or_default(), module, OB_CURVES, blender::bke::Point, CurvesGeometry::point_data, blender::bke::CurvesGeometry::points_by_curve(), blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalCache::proc_attributes_point_domain, 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(), Scene::r, blender::draw::CurvesEvalFinalCache::resolution, blender::math::safe_divide(), SCE_HAIR_SHAPE_STRAND, blender::IndexRange::size(), and Object::type.
Referenced by curves_sub_pass_setup().
|
static |
Definition at line 127 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), blender::draw::CurvesEvalCache::final, GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, i, and blender::draw::CurvesEvalCache::proc_attributes_buf.
Referenced by clear_eval_data(), and DRW_curves_batch_cache_free_old().
|
static |
Definition at line 63 of file draw_cache_impl_mesh.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), ARRAY_SIZE, batch, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBufferCache::buff, blender::draw::MeshBatchCache::cage, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::draw::MeshBatchCache::final, Array< T, InlineBufferCapacity, Allocator >::first(), FOREACH_MESH_BUFFER_CACHE, GPU_BATCH_DISCARD_SAFE, i, blender::draw::MeshBufferList::ibos, Array< T, InlineBufferCapacity, Allocator >::index_range(), Array< T, InlineBufferCapacity, Allocator >::is_empty(), MBC_BATCH_LEN, MBC_SURFACE, MBC_SURFACE_PER_MAT, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), blender::Span< T >::size(), blender::draw::MeshBatchCache::surface_per_mat, blender::draw::MeshBatchCache::uv_cage, and blender::draw::MeshBufferList::vbos.
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().
| BLI_INLINE float blender::draw::distort_remap | ( | float | fac, |
| float | min, | ||
| float | , | ||
| float | minmax_irange ) |
Definition at line 363 of file extract_mesh_vbo_mesh_analysis.cc.
References BLI_INLINE, CLAMP, and blender::math::min().
Referenced by statvis_calc_distort().
|
static |
Definition at line 207 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 1162 of file draw_cache_impl_subdivision.cc.
References BUFFER_NORMALS_ACCUMULATE, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), NORMALS_ACCUMULATE_FACE_ADJACENCY_LISTS_BUF_SLOT, NORMALS_ACCUMULATE_FACE_ADJACENCY_OFFSETS_BUF_SLOT, NORMALS_ACCUMULATE_NORMALS_BUF_SLOT, NORMALS_ACCUMULATE_POS_NOR_BUF_SLOT, NORMALS_ACCUMULATE_VERTEX_LOOP_MAP_BUF_SLOT, and blender::draw::DRWSubdivCache::num_subdiv_verts.
Referenced by extract_positions_subdiv().
| 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 1373 of file draw_cache_impl_subdivision.cc.
References BUFFER_EDGE_FAC, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), EDGE_FAC_EDGE_DRAW_FLAG_BUF_SLOT, EDGE_FAC_EDGE_FAC_BUF_SLOT, EDGE_FAC_POLY_OTHER_MAP_BUF_SLOT, EDGE_FAC_POS_NOR_BUF_SLOT, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), and blender::draw::DRWSubdivCache::num_subdiv_quads.
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 1450 of file draw_cache_impl_subdivision.cc.
References BUFFER_UV_STRETCH_ANGLE, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, STRETCH_ANGLE_POS_NOR_BUF_SLOT, STRETCH_ANGLE_UV_STRETCHES_BUF_SLOT, and STRETCH_ANGLE_UVS_BUF_SLOT.
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 1427 of file draw_cache_impl_subdivision.cc.
References BUFFER_UV_STRETCH_AREA, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, STRETCH_AREA_COARSE_STRETCH_AREA_BUF_SLOT, STRETCH_AREA_SUBDIV_STRETCH_AREA_BUF_SLOT, SUBDIV_FACE_OFFSET_BUF_SLOT, 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 1274 of file draw_cache_impl_subdivision.cc.
References blender::opensubdiv::EvalOutputAPI::create_patch_arrays_buf(), draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), OpenSubdiv_Evaluator::eval_output, blender::bke::subdiv::Subdiv::evaluator, blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::fdots_patch_coords, blender::opensubdiv::EvalOutputAPI::get_patch_index_buf(), blender::opensubdiv::EvalOutputAPI::get_patch_param_buf(), blender::opensubdiv::EvalOutputAPI::get_source_buf(), 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_storagebuf_bind(), GPU_storagebuf_free(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_coarse_faces, PATCH_EVALUATION_EXTRA_COARSE_FACE_DATA_BUF_SLOT, PATCH_EVALUATION_FACE_DOTS, PATCH_EVALUATION_FACE_DOTS_WITH_NORMALS, PATCH_EVALUATION_INPUT_PATCH_HANDLES_BUF_SLOT, PATCH_EVALUATION_INPUT_VERTEX_ORIG_INDEX_BUF_SLOT, PATCH_EVALUATION_OUTPUT_FDOTS_VERTEX_BUFFER_BUF_SLOT, PATCH_EVALUATION_OUTPUT_INDICES_BUF_SLOT, PATCH_EVALUATION_OUTPUT_NORMALS_BUF_SLOT, PATCH_EVALUATION_PATCH_ARRAY_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_COORDS_BUF_SLOT, PATCH_EVALUATION_PATCH_INDEX_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_PARAM_BUFFER_BUF_SLOT, PATCH_EVALUATION_QUAD_NODES_BUF_SLOT, PATCH_EVALUATION_SOURCE_VERTEX_BUFFER_BUF_SLOT, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, blender::draw::DRWSubdivCache::subdiv, UNUSED_VARS, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_face_dots_subdiv().
| void blender::draw::draw_subdiv_build_lines_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::IndexBuf * | lines_indices ) |
Definition at line 1333 of file draw_cache_impl_subdivision.cc.
References BUFFER_LINES, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::edges_draw_flag, blender::draw::DRWSubdivCache::extra_coarse_face_data, GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), LINES_EXTRA_COARSE_FACE_DATA_BUF_SLOT, LINES_INPUT_EDGE_DRAW_FLAG_BUF_SLOT, LINES_OUTPUT_LINES_BUF_SLOT, blender::draw::DRWSubdivCache::num_subdiv_quads, SUBDIV_FACE_OFFSET_BUF_SLOT, 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 1352 of file draw_cache_impl_subdivision.cc.
References BUFFER_LINES_LOOSE, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), LINES_LINES_LOOSE_FLAGS, and LINES_OUTPUT_LINES_BUF_SLOT.
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 1396 of file draw_cache_impl_subdivision.cc.
References BUFFER_LNOR, draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), LOOP_NORMALS_EXTRA_COARSE_FACE_DATA_BUF_SLOT, LOOP_NORMALS_INPUT_VERT_ORIG_INDEX_BUF_SLOT, LOOP_NORMALS_OUTPUT_LNOR_BUF_SLOT, LOOP_NORMALS_POS_NOR_BUF_SLOT, blender::draw::DRWSubdivCache::num_subdiv_quads, SUBDIV_FACE_OFFSET_BUF_SLOT, 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 163 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_origindex_buffer().
Referenced by 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 1138 of file draw_cache_impl_subdivision.cc.
References BUFFER_SCULPT_DATA, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, SCULPT_DATA_SCULPT_DATA_BUF_SLOT, SCULPT_DATA_SCULPT_FACE_SET_COLOR_BUF_SLOT, and SCULPT_DATA_SCULPT_MASK_BUF_SLOT.
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 1239 of file draw_cache_impl_subdivision.cc.
References BUFFER_TRIS, BUFFER_TRIS_MULTIPLE_MATERIALS, draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::face_mat_offset, GPU_BARRIER_ELEMENT_ARRAY, GPU_indexbuf_bind_as_ssbo(), GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, SUBDIV_FACE_OFFSET_BUF_SLOT, blender::draw::DRWSubdivCache::subdiv_face_offset_buffer, TRIS_EXTRA_COARSE_FACE_DATA_BUF_SLOT, TRIS_FACE_MAT_OFFSET, and TRIS_OUTPUT_TRIS_BUF_SLOT.
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 1509 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, i, blender::bke::AttributeAccessor::lookup_or_default(), blender::draw::DRWSubdivCache::mat_end, blender::draw::DRWSubdivCache::mat_start, MEM_calloc_arrayN(), MEM_callocN(), MEM_dupallocN(), MEM_freeN(), MEM_malloc_arrayN(), blender::draw::DRWSubdivCache::num_subdiv_loops, and blender::draw::DRWSubdivCache::subdiv_face_offset.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 313 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 353 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, faces, flag, i, 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 331 of file draw_cache_impl_subdivision.cc.
References blender::bke::Face, faces, flag, blender::draw::MeshRenderData::hide_poly, i, 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 243 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 mesh_batch_cache_free_subdiv_cache().
|
static |
Definition at line 228 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 223 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 378 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::bm, BMesh, 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, Mesh::faces_num, 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(), blender::draw::MeshRenderData::orig_index_face, and BMesh::totface.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 1585 of file draw_cache_impl_subdivision.cc.
References Geometry::attributes, BKE_object_get_editmesh_eval_final(), BKE_subsurf_modifier_subdiv_descriptor_ensure(), BLI_assert, blender::draw::DRWSubdivCache::bm, bm, blender::Span< T >::contains(), draw_subdiv_cache_ensure_mat_offsets(), draw_subdiv_cache_update_extra_coarse_face_data(), blender::draw::MeshRenderData::edit_bmesh, blender::bke::subdiv::eval_begin_from_mesh(), blender::bke::subdiv::Subdiv::evaluator, Mesh::faces_num, g_subdiv_eval_mutex, g_subdiv_evaluator_cache, g_subdiv_evaluator_users, SubsurfRuntimeData::has_gpu_subdiv, blender::draw::DRWSubdivCache::hide_unmapped_edges, blender::draw::DRWSubdivCache::is_edit_mode, blender::bke::subdiv::Settings::level, lock, blender::draw::MeshBatchCache::mat_len, blender::draw::DRWSubdivCache::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, openSubdiv_createEvaluatorCache(), OPENSUBDIV_EVALUATOR_GPU, blender::draw::DRWSubdivCache::optimal_display, Mesh::runtime, 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, 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().
| 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 978 of file draw_cache_impl_subdivision.cc.
References blender::opensubdiv::EvalOutputAPI::create_patch_arrays_buf(), draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), OpenSubdiv_Evaluator::eval_output, blender::bke::subdiv::Subdiv::evaluator, blender::opensubdiv::EvalOutputAPI::get_patch_index_buf(), blender::opensubdiv::EvalOutputAPI::get_patch_param_buf(), blender::opensubdiv::EvalOutputAPI::get_source_buf(), blender::opensubdiv::EvalOutputAPI::get_source_data_buf(), 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_storagebuf_bind(), GPU_storagebuf_free(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::DRWSubdivCache::patch_coords, PATCH_EVALUATION, PATCH_EVALUATION_FLAGS_BUFFER_BUF_SLOT, PATCH_EVALUATION_INPUT_PATCH_HANDLES_BUF_SLOT, PATCH_EVALUATION_INPUT_VERTEX_ORIG_INDEX_BUF_SLOT, PATCH_EVALUATION_ORCO, PATCH_EVALUATION_OUTPUT_ORCOS_BUF_SLOT, PATCH_EVALUATION_OUTPUT_VERTS_BUF_SLOT, PATCH_EVALUATION_PATCH_ARRAY_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_COORDS_BUF_SLOT, PATCH_EVALUATION_PATCH_INDEX_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_PARAM_BUFFER_BUF_SLOT, PATCH_EVALUATION_QUAD_NODES_BUF_SLOT, PATCH_EVALUATION_SOURCE_EXTRA_VERTEX_BUFFER_BUF_SLOT, PATCH_EVALUATION_SOURCE_VERTEX_BUFFER_BUF_SLOT, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, blender::draw::DRWSubdivCache::subdiv, UNUSED_VARS, and blender::draw::DRWSubdivCache::verts_orig_index.
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 1043 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::corner_patch_coords, blender::opensubdiv::EvalOutputAPI::create_face_varying_patch_array_buf(), draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), OpenSubdiv_Evaluator::eval_output, blender::bke::subdiv::Subdiv::evaluator, blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_index_buf(), blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_param_buf(), blender::opensubdiv::EvalOutputAPI::get_face_varying_source_buf(), blender::opensubdiv::EvalOutputAPI::get_face_varying_source_offset(), 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_storagebuf_bind(), GPU_storagebuf_free(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, PATCH_EVALUATION_FVAR, PATCH_EVALUATION_INPUT_PATCH_HANDLES_BUF_SLOT, PATCH_EVALUATION_INPUT_VERTEX_ORIG_INDEX_BUF_SLOT, PATCH_EVALUATION_OUTPUT_FVAR_BUF_SLOT, PATCH_EVALUATION_PATCH_ARRAY_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_COORDS_BUF_SLOT, PATCH_EVALUATION_PATCH_INDEX_BUFFER_BUF_SLOT, PATCH_EVALUATION_PATCH_PARAM_BUFFER_BUF_SLOT, PATCH_EVALUATION_QUAD_NODES_BUF_SLOT, PATCH_EVALUATION_SOURCE_VERTEX_BUFFER_BUF_SLOT, blender::draw::DRWPatchMap::patch_map_handles, blender::draw::DRWPatchMap::patch_map_quadtree, blender::draw::DRWSubdivCache::subdiv, UNUSED_VARS, and blender::draw::DRWSubdivCache::verts_orig_index.
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 1214 of file draw_cache_impl_subdivision.cc.
References BLI_assert, BUFFER_CUSTOM_NORMALS_FINALIZE, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), 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, and blender::draw::DRWSubdivCache::num_subdiv_quads.
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 1190 of file draw_cache_impl_subdivision.cc.
References BUFFER_NORMALS_FINALIZE, DRW_shader_subdiv_get(), drw_subdiv_compute_dispatch(), GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), NORMALS_FINALIZE_POS_NOR_BUF_SLOT, NORMALS_FINALIZE_VERTEX_LOOP_MAP_BUF_SLOT, NORMALS_FINALIZE_VERTEX_NORMALS_BUF_SLOT, and blender::draw::DRWSubdivCache::num_subdiv_quads.
Referenced by extract_positions_subdiv().
|
static |
Definition at line 235 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 125 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().
| gpu::VertBufPtr blender::draw::draw_subdiv_init_origindex_buffer | ( | int32_t * | vert_origindex, |
| uint | num_loops, | ||
| uint | loose_len ) |
Definition at line 151 of file draw_cache_impl_subdivision.cc.
References get_origindex_format(), GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), and GPU_vertbuf_data_alloc().
Referenced by draw_subdiv_build_origindex_buffer(), extract_edge_index_subdiv(), extract_face_index_subdiv(), and extract_vert_index_subdiv().
|
static |
Definition at line 871 of file draw_cache_impl_subdivision.cc.
References DRWSubdivUboStorage::coarse_face_active_mask, DRWSubdivUboStorage::coarse_face_count, DRWSubdivUboStorage::coarse_face_hidden_mask, DRWSubdivUboStorage::coarse_face_loopstart_mask, DRWSubdivUboStorage::coarse_face_select_mask, DRWSubdivUboStorage::coarse_face_smooth_mask, DRWSubdivUboStorage::dst_offset, DRWSubdivUboStorage::edge_loose_offset, blender::draw::DRWSubdivCache::gpu_patch_map, DRWSubdivUboStorage::has_sculpt_mask, blender::draw::DRWSubdivCache::is_edit_mode, DRWSubdivUboStorage::is_edit_mode, blender::draw::DRWPatchMap::max_depth, DRWSubdivUboStorage::max_depth, blender::draw::DRWPatchMap::max_patch_face, DRWSubdivUboStorage::max_patch_face, blender::draw::DRWPatchMap::min_patch_face, DRWSubdivUboStorage::min_patch_face, blender::draw::DRWSubdivCache::num_coarse_faces, blender::draw::DRWSubdivCache::num_subdiv_loops, DRWSubdivUboStorage::num_subdiv_loops, blender::draw::DRWPatchMap::patches_are_triangular, DRWSubdivUboStorage::patches_are_triangular, 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, DRWSubdivUboStorage::total_dispatch_size, blender::draw::DRWSubdivCache::use_hide, and 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, | ||
| GPUVertCompType | comp_type, | ||
| int | dimensions, | ||
| int | dst_offset ) |
Definition at line 1104 of file draw_cache_impl_subdivision.cc.
References blender::draw::DRWSubdivCache::corner_patch_coords, CUSTOM_DATA_DESTINATION_DATA_BUF_SLOT, CUSTOM_DATA_EXTRA_COARSE_FACE_DATA_BUF_SLOT, CUSTOM_DATA_FACE_PTEX_OFFSET_BUF_SLOT, CUSTOM_DATA_PATCH_COORDS_BUF_SLOT, CUSTOM_DATA_SOURCE_DATA_BUF_SLOT, draw_subdiv_cache_need_face_data(), DRW_shader_subdiv_custom_data_get(), drw_subdiv_compute_dispatch(), blender::draw::DRWSubdivCache::extra_coarse_face_data, blender::draw::DRWSubdivCache::face_ptex_offset_buffer, GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_VERTEX_ATTRIB_ARRAY, GPU_memory_barrier(), GPU_shader_bind(), GPU_shader_unbind(), GPU_vertbuf_bind_as_ssbo(), blender::draw::DRWSubdivCache::num_subdiv_quads, SUBDIV_FACE_OFFSET_BUF_SLOT, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_attribute_subdiv(), extract_positions_subdiv(), extract_sculpt_data_subdiv(), extract_tangents_subdiv(), and extract_weights_subdiv().
|
static |
Definition at line 899 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_ubo_storage(), GPU_uniformbuf_bind(), GPU_uniformbuf_create_ex(), GPU_uniformbuf_update(), SHADER_DATA_BUF_SLOT, and blender::draw::DRWSubdivCache::ubo.
Referenced by drw_subdiv_compute_dispatch().
| void blender::draw::drw_attributes_add_request | ( | VectorSet< std::string > * | attrs, |
| const StringRef | name ) |
Definition at line 35 of file draw_attributes.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_as(), GPU_MAX_ATTR, and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size().
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_merge | ( | VectorSet< std::string > * | dst, |
| const VectorSet< std::string > * | src, | ||
| Mutex & | render_mutex ) |
Definition at line 13 of file draw_attributes.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_multiple(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span(), blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), and lock.
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().
| bool blender::draw::drw_attributes_overlap | ( | const VectorSet< std::string > * | a, |
| const VectorSet< std::string > * | b ) |
Definition at line 24 of file draw_attributes.cc.
References b, and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains().
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().
| void blender::draw::DRW_batch_cache_free_old | ( | Object * | ob, |
| int | ctime ) |
Definition at line 553 of file draw_cache.cc.
References DRW_curves_batch_cache_free_old(), DRW_mesh_batch_cache_free_old(), DRW_object_get_data_for_drawing(), DRW_pointcloud_batch_cache_free_old(), OB_CURVES, OB_MESH, OB_POINTCLOUD, and Object::type.
Referenced by DRW_cache_free_old_batches().
Definition at line 475 of file draw_cache.cc.
References CTX_data_mode_enum_ex(), CTX_MODE_EDIT_MESH, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT, CTX_MODE_SCULPT, DRW_context_get(), DRW_curve_batch_cache_create_requested(), DRW_curves_batch_cache_create_requested(), DRW_mesh_batch_cache_create_requested(), DRW_object_get_data_for_drawing(), DRW_object_use_hide_faces(), DRW_pointcloud_batch_cache_create_requested(), ELEM, Object::mode, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_MODE_EDIT, OB_POINTCLOUD, OB_SURF, DRWContext::obact, DRWContext::object_edit, DRWContext::object_mode, DRWContext::scene, and Object::type.
Referenced by drw_engines_cache_populate(), DRW_render_object_iter(), and DupliCacheManager::extract_all().
| void blender::draw::drw_batch_cache_generate_requested_delayed | ( | Object * | ob | ) |
Definition at line 544 of file draw_cache.cc.
References BLI_gset_add(), BLI_gset_ptr_new(), DRWContext::delayed_extraction, and drw_get().
Referenced by drw_shgroup_bone_custom_mesh_wire(), drw_shgroup_bone_custom_solid_mesh(), and drw_shgroup_custom_bone_curve().
| void blender::draw::drw_batch_cache_generate_requested_evaluated_mesh_or_curve | ( | Object * | ob, |
| TaskGraph & | task_graph ) |
Definition at line 515 of file draw_cache.cc.
References BKE_object_get_evaluated_mesh_no_subsurf_unchecked(), CTX_data_mode_enum_ex(), CTX_MODE_EDIT_MESH, CTX_MODE_PAINT_TEXTURE, CTX_MODE_PAINT_VERTEX, CTX_MODE_PAINT_WEIGHT, CTX_MODE_SCULPT, DRW_context_get(), DRW_curve_batch_cache_create_requested(), DRW_mesh_batch_cache_create_requested(), DRW_object_use_hide_faces(), ELEM, Object::mode, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_MODE_EDIT, OB_SURF, DRWContext::obact, DRWContext::object_edit, DRWContext::object_mode, DRWContext::scene, and Object::type.
| void blender::draw::drw_batch_cache_validate | ( | Object * | ob | ) |
Definition at line 445 of file draw_cache.cc.
References DRW_curve_batch_cache_validate(), DRW_curves_batch_cache_validate(), DRW_grease_pencil_batch_cache_validate(), DRW_lattice_batch_cache_validate(), DRW_mesh_batch_cache_validate(), DRW_object_get_data_for_drawing(), DRW_pointcloud_batch_cache_validate(), DRW_volume_batch_cache_validate(), OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_GREASE_PENCIL, OB_LATTICE, OB_MESH, OB_POINTCLOUD, OB_SURF, OB_VOLUME, and Object::type.
Referenced by drw_engines_cache_populate(), DRW_render_object_iter(), and DupliCacheManager::try_add().
| gpu::Batch * blender::draw::DRW_cache_curve_edge_normal_get | ( | Object * | ob | ) |
Definition at line 281 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_normal_edge(), DRW_object_get_data_for_drawing(), OB_CURVES_LEGACY, and Object::type.
Referenced by blender::draw::overlay::Curves::edit_object_sync_legacy().
| gpu::Batch * blender::draw::DRW_cache_curve_edge_overlay_get | ( | Object * | ob | ) |
Definition at line 288 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_edit_edges(), DRW_object_get_data_for_drawing(), ELEM, OB_CURVES_LEGACY, OB_SURF, and Object::type.
Referenced by blender::draw::overlay::Curves::edit_object_sync_legacy().
| gpu::Batch * blender::draw::DRW_cache_curve_edge_wire_get | ( | Object * | ob | ) |
Definition at line 267 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_wire_edge(), DRW_object_get_data_for_drawing(), OB_CURVES_LEGACY, and Object::type.
Referenced by drw_shgroup_custom_bone_curve(), blender::draw::overlay::Curves::edit_object_sync_legacy(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_curve_edge_wire_viewer_attribute_get | ( | Object * | ob | ) |
Definition at line 274 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_wire_edge_viewer_attribute(), DRW_object_get_data_for_drawing(), OB_CURVES_LEGACY, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_curve_vert_overlay_get | ( | Object * | ob | ) |
Definition at line 296 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_edit_verts(), DRW_object_get_data_for_drawing(), ELEM, OB_CURVES_LEGACY, OB_SURF, and Object::type.
Referenced by blender::draw::overlay::Curves::edit_object_sync_legacy().
| void blender::draw::DRW_cache_free_old_subdiv | ( | ) |
Free garbage collected subdivision data.
Definition at line 1811 of file draw_cache_impl_subdivision.cc.
References BLI_linklist_pop(), DRW_cache_free_old_subdiv(), blender::bke::subdiv::Subdiv::evaluator, blender::bke::subdiv::free(), g_subdiv_eval_mutex, g_subdiv_evaluator_cache, g_subdiv_evaluator_users, gpu_subdiv_free_queue, gpu_subdiv_queue_mutex, lock, openSubdiv_deleteEvaluatorCache(), OPENSUBDIV_EVALUATOR_CPU, and OpenSubdiv_Evaluator::type.
Referenced by DRW_cache_free_old_subdiv(), DRW_render_to_image(), ED_view3d_draw_offscreen(), view3d_main_region_draw(), and WM_exit_ex().
| gpu::VertBuf * blender::draw::DRW_cache_grease_pencil_color_buffer_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1517 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_color_buffer_get(), DRW_object_get_data_for_drawing(), 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 1498 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_edit_lines_get(), DRW_object_get_data_for_drawing(), 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 1488 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_edit_points_get(), DRW_object_get_data_for_drawing(), 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 1546 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_face_wireframe_get(), DRW_object_get_data_for_drawing(), 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(), DRW_cache_object_face_wireframe_get(), and blender::draw::overlay::Wireframe::object_sync_ex().
Definition at line 1479 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_get(), DRW_object_get_data_for_drawing(), 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 1508 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_position_buffer_get(), DRW_object_get_data_for_drawing(), 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 1536 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_weight_lines_get(), DRW_object_get_data_for_drawing(), 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 1526 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_weight_points_get(), DRW_object_get_data_for_drawing(), 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().
| gpu::Batch * blender::draw::DRW_cache_lattice_vert_overlay_get | ( | Object * | ob | ) |
Definition at line 360 of file draw_cache.cc.
References BLI_assert, DRW_lattice_batch_cache_get_edit_verts(), DRW_object_get_data_for_drawing(), OB_LATTICE, and Object::type.
Referenced by blender::draw::overlay::Lattices::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_lattice_verts_get | ( | Object * | ob | ) |
Definition at line 336 of file draw_cache.cc.
References BLI_assert, DRW_lattice_batch_cache_get_all_verts(), DRW_object_get_data_for_drawing(), OB_LATTICE, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_lattice_wire_get | ( | Object * | ob, |
| bool | use_weight ) |
Definition at line 344 of file draw_cache.cc.
References BLI_assert, BLI_listbase_is_empty(), DRW_lattice_batch_cache_get_all_edges(), DRW_object_get_data_for_drawing(), Lattice::dvert, Lattice::editlatt, EditLatt::latt, OB_LATTICE, Object::type, Lattice::vertex_group_active_index, and Lattice::vertex_group_names.
Referenced by blender::draw::overlay::Lattices::edit_object_sync(), and blender::draw::overlay::Lattices::object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_all_edges_get | ( | Object * | ob | ) |
Definition at line 170 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_all_edges(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_all_edges_get(), and blender::draw::overlay::Prepass::object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_all_verts_get | ( | Object * | ob | ) |
Definition at line 164 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_all_verts(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::draw::overlay::Paints::object_sync(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_mesh_edge_detection_get | ( | Object * | ob, |
| bool * | r_is_manifold ) |
Definition at line 182 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_edge_detection(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_edge_detection_get(), and blender::draw::overlay::Outline::object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_face_wireframe_get | ( | Object * | ob | ) |
Definition at line 242 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_wireframes_face(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_face_wireframe_get(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_mesh_loose_edges_get | ( | Object * | ob | ) |
Definition at line 176 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_loose_edges(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_loose_edges_get(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_edges_get | ( | Object * | ob | ) |
Definition at line 195 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_edges(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::draw::overlay::Paints::object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_get | ( | Object * | ob | ) |
Definition at line 189 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_surface_get(), blender::draw::overlay::Meshes::edit_object_sync(), blender::draw::external::Prepass::object_sync(), blender::draw::overlay::Outline::object_sync(), blender::draw::overlay::Paints::object_sync(), blender::draw::overlay::Prepass::object_sync(), and blender::eevee::VelocityModule::step_object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_mesh_analysis_get | ( | Object * | ob | ) |
Definition at line 248 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_edit_mesh_analysis(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_sculptcolors_get | ( | Object * | ob | ) |
Definition at line 230 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_sculpt(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync().
| Span< gpu::Batch * > blender::draw::DRW_cache_mesh_surface_shaded_get | ( | Object * | ob, |
| const Span< const GPUMaterial * > | materials ) |
Definition at line 201 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_shaded(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by DRW_cache_object_surface_material_get(), and blender::draw::overlay::Prepass::object_sync().
| Span< gpu::Batch * > blender::draw::DRW_cache_mesh_surface_shaded_get | ( | Object * | ob, |
| Span< const GPUMaterial * > | materials ) |
Return list of batches with length equal to max(1, totcol).
Return list of batches with length equal to max(1, totcol).
Definition at line 209 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_texpaint(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_texpaint_single_get | ( | Object * | ob | ) |
Definition at line 216 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_texpaint_single(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync(), and blender::draw::overlay::Paints::object_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_vertpaint_get | ( | Object * | ob | ) |
Definition at line 223 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_vertpaint(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync().
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_viewer_attribute_get | ( | Object * | ob | ) |
Definition at line 254 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_viewer_attribute(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_mesh_surface_weights_get | ( | Object * | ob | ) |
Definition at line 236 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_surface_weights(), DRW_object_get_data_for_drawing(), OB_MESH, and Object::type.
Referenced by blender::draw::overlay::Meshes::edit_object_sync(), and blender::draw::overlay::Paints::object_sync().
| gpu::Batch * blender::draw::DRW_cache_object_all_edges_get | ( | Object * | ob | ) |
Definition at line 90 of file draw_cache.cc.
References DRW_cache_mesh_all_edges_get(), OB_MESH, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_object_edge_detection_get | ( | Object * | ob, |
| bool * | r_is_manifold ) |
Definition at line 101 of file draw_cache.cc.
References DRW_cache_mesh_edge_detection_get(), OB_MESH, and Object::type.
Referenced by blender::workbench::ShadowPass::object_sync().
| gpu::Batch * blender::draw::DRW_cache_object_face_wireframe_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 111 of file draw_cache.cc.
References DRW_cache_grease_pencil_face_wireframe_get(), DRW_cache_mesh_face_wireframe_get(), DRW_cache_volume_face_wireframe_get(), DRW_pointcloud_batch_cache_get_dots(), OB_GREASE_PENCIL, OB_MESH, OB_POINTCLOUD, OB_VOLUME, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_object_loose_edges_get | ( | Object * | ob | ) |
Definition at line 127 of file draw_cache.cc.
References DRW_cache_mesh_loose_edges_get(), OB_MESH, and Object::type.
| gpu::Batch * blender::draw::DRW_cache_object_surface_get | ( | Object * | ob | ) |
Definition at line 137 of file draw_cache.cc.
References DRW_cache_mesh_surface_get(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync(), blender::draw::overlay::Facing::object_sync(), blender::draw::overlay::Fade::object_sync(), blender::draw::overlay::ModeTransfer::object_sync(), and blender::workbench::ShadowPass::object_sync().
| Span< gpu::Batch * > blender::draw::DRW_cache_object_surface_material_get | ( | Object * | ob, |
| const Span< const GPUMaterial * > | materials ) |
Definition at line 147 of file draw_cache.cc.
References DRW_cache_mesh_surface_shaded_get(), OB_MESH, and Object::type.
Referenced by blender::workbench::Instance::mesh_sync(), and blender::eevee::SyncModule::sync_mesh().
| Span< gpu::Batch * > blender::draw::DRW_cache_object_surface_material_get | ( | Object * | ob, |
| Span< const GPUMaterial * > | materials ) |
| gpu::Batch * blender::draw::DRW_cache_particles_get_dots | ( | Object * | object, |
| ParticleSystem * | psys ) |
Definition at line 412 of file draw_cache.cc.
References DRW_particles_batch_cache_get_dots().
Referenced by blender::draw::overlay::Particles::object_sync().
| gpu::Batch * blender::draw::DRW_cache_particles_get_edit_inner_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 425 of file draw_cache.cc.
References DRW_particles_batch_cache_get_edit_inner_points().
Referenced by blender::draw::overlay::Particles::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_particles_get_edit_strands | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit, | ||
| bool | use_weight ) |
Definition at line 417 of file draw_cache.cc.
References DRW_particles_batch_cache_get_edit_strands().
Referenced by blender::draw::overlay::Particles::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_particles_get_edit_tip_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 432 of file draw_cache.cc.
References DRW_particles_batch_cache_get_edit_tip_points().
Referenced by blender::draw::overlay::Particles::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_particles_get_hair | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| ModifierData * | md ) |
Definition at line 407 of file draw_cache.cc.
References DRW_particles_batch_cache_get_hair().
Referenced by blender::draw::overlay::Particles::object_sync(), blender::draw::external::Prepass::particle_sync(), and blender::draw::overlay::Prepass::particle_sync().
| gpu::Batch * blender::draw::DRW_cache_pointcloud_vert_overlay_get | ( | Object * | ob | ) |
Definition at line 374 of file draw_cache.cc.
References BLI_assert, DRW_object_get_data_for_drawing(), DRW_pointcloud_batch_cache_get_edit_dots(), OB_POINTCLOUD, and Object::type.
Referenced by blender::draw::overlay::PointClouds::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_surf_edge_wire_get | ( | Object * | ob | ) |
Definition at line 323 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_wire_edge(), DRW_object_get_data_for_drawing(), OB_SURF, and Object::type.
Referenced by blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_text_edge_wire_get | ( | Object * | ob | ) |
Definition at line 310 of file draw_cache.cc.
References BLI_assert, DRW_curve_batch_cache_get_wire_edge(), DRW_object_get_data_for_drawing(), OB_FONT, and Object::type.
Referenced by drw_shgroup_custom_bone_curve(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_volume_face_wireframe_get | ( | Object * | ob | ) |
Definition at line 388 of file draw_cache.cc.
References BLI_assert, DRW_object_get_data_for_drawing(), DRW_volume_batch_cache_get_wireframes_face(), OB_VOLUME, and Object::type.
Referenced by DRW_cache_object_face_wireframe_get(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_volume_selection_surface_get | ( | Object * | ob | ) |
Definition at line 394 of file draw_cache.cc.
References BLI_assert, DRW_object_get_data_for_drawing(), 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_cdlayer_attr_aliases_add | ( | GPUVertFormat * | format, |
| const char * | base_name, | ||
| int | data_type, | ||
| blender::StringRef | layer_name, | ||
| bool | is_active_render, | ||
| bool | is_active_layer ) |
Definition at line 573 of file draw_cache.cc.
References CD_PROP_FLOAT2, GPU_MAX_SAFE_ATTR_NAME, GPU_vertformat_alias_add(), GPU_vertformat_safe_attr_name(), and SNPRINTF.
Referenced by blender::draw::pbvh::attribute_format().
| void blender::draw::DRW_create_subdivision | ( | Object & | ob, |
| Mesh & | mesh, | ||
| MeshBatchCache & | batch_cache, | ||
| MeshBufferCache & | mbc, | ||
| const Span< IBOType > | ibo_requests, | ||
| const Span< VBOType > | vbo_requests, | ||
| const bool | is_editmode, | ||
| const bool | is_paint_mode, | ||
| const bool | do_final, | ||
| const bool | do_uvedit, | ||
| const bool | do_cage, | ||
| const ToolSettings * | ts, | ||
| const bool | use_hide ) |
Definition at line 1759 of file draw_cache_impl_subdivision.cc.
References BLI_time_now_seconds(), draw_subdiv_create_requested_buffers(), and DRW_create_subdivision().
Referenced by DRW_create_subdivision(), and DRW_mesh_batch_cache_create_requested().
Definition at line 845 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, i, 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.
Referenced by drw_batch_cache_generate_requested(), and drw_batch_cache_generate_requested_evaluated_mesh_or_curve().
| void blender::draw::DRW_curve_batch_cache_dirty_tag | ( | Curve * | cu, |
| int | mode ) |
Definition at line 398 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.
Referenced by DRW_module_init().
| void blender::draw::DRW_curve_batch_cache_free | ( | Curve * | cu | ) |
Definition at line 444 of file draw_cache_impl_curve.cc.
References Curve::batch_cache, curve_batch_cache_clear(), and MEM_SAFE_FREE.
Referenced by DRW_module_init().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_edges | ( | Curve * | cu | ) |
Definition at line 827 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.
Referenced by DRW_cache_curve_edge_overlay_get().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_edit_verts | ( | Curve * | cu | ) |
Definition at line 833 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.
Referenced by DRW_cache_curve_vert_overlay_get().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_normal_edge | ( | Curve * | cu | ) |
Definition at line 821 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.
Referenced by DRW_cache_curve_edge_normal_get().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge | ( | Curve * | cu | ) |
Definition at line 809 of file draw_cache_impl_curve.cc.
References blender::draw::CurveBatchCache::batch, curve_batch_cache_get(), blender::draw::CurveBatchCache::curves, and DRW_batch_request().
Referenced by DRW_cache_curve_edge_wire_get(), DRW_cache_surf_edge_wire_get(), and DRW_cache_text_edge_wire_get().
| gpu::Batch * blender::draw::DRW_curve_batch_cache_get_wire_edge_viewer_attribute | ( | Curve * | cu | ) |
Definition at line 815 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().
Referenced by DRW_cache_curve_edge_wire_viewer_attribute_get().
| void blender::draw::DRW_curve_batch_cache_validate | ( | Curve * | cu | ) |
Definition at line 385 of file draw_cache_impl_curve.cc.
References curve_batch_cache_clear(), curve_batch_cache_init(), and curve_batch_cache_valid().
Referenced by drw_batch_cache_validate(), and drw_shgroup_custom_bone_curve().
| void blender::draw::DRW_curves_batch_cache_create_requested | ( | Object * | ob | ) |
Definition at line 1078 of file draw_cache_impl_curves.cc.
References blender::bke::CurvesGeometry::attributes(), calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), create_edit_points_position_vbo(), create_edit_points_selection(), create_lines_ibo_no_cyclic(), create_lines_ibo_with_cyclic(), CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, blender::bke::CurvesGeometry::curve_type_counts(), CURVE_TYPE_NURBS, CURVE_TYPE_POLY, blender::bke::CurvesGeometry::curve_types(), blender::bke::CurvesGeometry::curves_range(), blender::bke::CurvesGeometry::cyclic(), DEG_get_original(), DRW_batch_requested(), DRW_curves_batch_cache_create_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_object_get_data_for_drawing(), 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, blender::bke::CurvesGeometry::evaluated_points_by_curve(), blender::offset_indices::gather_selected_offsets(), Curves::geometry, get_batch_cache(), blender::bke::crazyspace::get_evaluated_curves_deformation(), GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_PRIM_POINTS, blender::bke::curves::indices_for_type(), 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_batch_cache_generate_requested(), and DRW_curves_batch_cache_create_requested().
| void blender::draw::DRW_curves_batch_cache_dirty_tag | ( | Curves * | curves, |
| int | mode ) |
Definition at line 954 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, 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(), and DRW_module_init().
| void blender::draw::DRW_curves_batch_cache_free | ( | Curves * | curves | ) |
Definition at line 977 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, clear_batch_cache(), and DRW_curves_batch_cache_free().
Referenced by DRW_curves_batch_cache_free(), and DRW_module_init().
| void blender::draw::DRW_curves_batch_cache_free_old | ( | Curves * | curves, |
| int | ctime ) |
Definition at line 985 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attr_used_over_time, Curves::batch_cache, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), discard_attributes(), drw_attributes_overlap(), DRW_curves_batch_cache_free_old(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, blender::draw::CurvesEvalFinalCache::last_attr_matching_time, and U.
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 1023 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 1029 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 1011 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 1017 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 969 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_batch_cache_validate(), DRW_curves_batch_cache_validate(), and get_batch_cache().
| void blender::draw::DRW_curves_begin_sync | ( | DRWData * | drw_data | ) |
Definition at line 81 of file draw_curves.cc.
References DRWData::curves_module, and blender::draw::CurvesModule::init().
Referenced by DRWData::modules_begin_sync().
|
static |
Definition at line 139 of file draw_curves.cc.
References curves_ensure_procedural_data(), drw_curves_cache_update_compute(), and update().
Referenced by curves_sub_pass_setup_implementation(), and DRW_curves_pos_buffer_get().
|
static |
Definition at line 119 of file draw_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, blender::draw::CurvesEvalCache::curves_num, drw_curves_cache_update_compute(), blender::draw::CurvesEvalCache::final, i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalCache::proc_attributes_point_domain, blender::draw::CurvesEvalFinalCache::proc_buf, blender::draw::CurvesEvalCache::proc_point_buf, and blender::draw::CurvesEvalFinalCache::resolution.
|
static |
Definition at line 91 of file draw_curves.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), BLI_assert, CURVES_EVAL_CATMULL_ROM, DRWData::curves_module, DRWContext::data, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), drw_get(), DRW_shader_curves_refine_get(), blender::draw::CurvesEvalCache::final, GPU_max_work_group_count(), blender::draw::CurvesEvalCache::proc_strand_buf, blender::draw::CurvesEvalCache::proc_strand_seg_buf, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::CurvesModule::refine, blender::draw::CurvesEvalFinalCache::resolution, and blender::draw::detail::PassBase< DrawCommandBufType >::shader_set().
Referenced by drw_curves_cache_get(), and drw_curves_cache_update_compute().
| void blender::draw::drw_curves_get_attribute_sampler_name | ( | const StringRef | layer_name, |
| char | r_sampler_name[32] ) |
Definition at line 893 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(), ensure_final_attribute(), and pointcloud_sub_pass_setup_implementation().
Definition at line 71 of file draw_curves.cc.
References DRWData::curves_module, DRWContext::data, and drw_get().
Referenced by DRWData::modules_init().
| void blender::draw::DRW_curves_module_free | ( | draw::CurvesModule * | module | ) |
Definition at line 86 of file draw_curves.cc.
Referenced by DRW_viewport_data_free().
| gpu::VertBuf * blender::draw::DRW_curves_pos_buffer_get | ( | Object * | object | ) |
Definition at line 154 of file draw_curves.cc.
References DRW_context_get(), drw_curves_cache_get(), DRW_object_get_data_for_drawing(), blender::draw::CurvesEvalCache::final, RenderData::hair_subdiv, RenderData::hair_type, blender::draw::CurvesEvalFinalCache::proc_buf, Scene::r, SCE_HAIR_SHAPE_STRAND, and DRWContext::scene.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| gpu::VertBuf ** blender::draw::DRW_curves_texture_for_evaluated_attribute | ( | Curves * | curves, |
| StringRef | name, | ||
| bool * | r_is_point_domain ) |
Provide GPU access to a specific evaluated attribute on curves.
Definition at line 1035 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::draw::CurvesEvalFinalCache::attributes_buf, DRW_curves_texture_for_evaluated_attribute(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, get_batch_cache(), i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalCache::proc_attributes_point_domain, and request_attribute().
Referenced by blender::draw::overlay::Sculpts::curves_sync(), and DRW_curves_texture_for_evaluated_attribute().
| void blender::draw::DRW_curves_update | ( | draw::Manager & | manager | ) |
Definition at line 188 of file draw_curves.cc.
References DRWData::curves_module, DRWContext::data, drw_get(), DRW_submission_end(), DRW_submission_start(), GPU_BARRIER_SHADER_STORAGE, GPU_memory_barrier(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::CurvesModule::refine, and blender::draw::Manager::submit().
Referenced by DRWContext::sync().
| bool blender::draw::drw_custom_data_match_attribute | ( | const CustomData & | custom_data, |
| const StringRef | name, | ||
| int * | r_layer_index, | ||
| eCustomDataType * | r_type ) |
Definition at line 43 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_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CustomData_get_named_layer(), and i.
Referenced by ensure_attributes(), mesh_cd_calc_used_gpu_layers(), and request_active_and_default_color_attributes().
| void blender::draw::drw_debug_bbox | ( | const BoundBox & | bbox, |
| const float4 | color, | ||
| const uint | lifetime ) |
Definition at line 108 of file draw_debug.cc.
References col, debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), and BoundBox::vec.
Referenced by drw_debug_matrix_as_bbox().
| void blender::draw::drw_debug_clear | ( | ) |
Clear all debug visuals (regardless of visual's lifetime).
Usually called before populating persistent data to override previous visuals. Needs an active GPUContext.
Definition at line 78 of file draw_debug.cc.
References blender::draw::DebugDraw::get(), and blender::draw::DebugDraw::reset().
| void blender::draw::drw_debug_line | ( | float3float3 | v1, |
| float3float3 | v2, | ||
| float4 | color = {1, 0, 0, 1}, | ||
| uint | lifetime = 1 ) |
Drawing functions that will draw wire-frames with the given color.
IMPORTANT: lifetime is in unit of display and not in unit of time. One display is defined as one call to DebugDraw::display_to_view which happens once per 3D viewport if overlays are not turned off.
All added debug drawing will be shared across viewports. If lifetime is greater than 1 or if a viewport doesn't display the visuals it produced, the visuals will be displayed onto other viewport(s).
These functions are threadsafe and can be called concurrently at anytime, even outside the UI redraw loop.
Definition at line 89 of file draw_debug.cc.
References debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), and v2.
Draw a matrix transform as 3 colored axes.
Definition at line 170 of file draw_debug.cc.
References debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), blender::math::transform_point(), and v2.
| void blender::draw::drw_debug_matrix_as_bbox | ( | const float4x4 & | mat, |
| float4 | color = {1, 0, 0, 1}, | ||
| uint | lifetime = 1 ) |
Draw a matrix as a 2 units length bounding box, centered on origin.
Definition at line 183 of file draw_debug.cc.
References BKE_boundbox_init_from_minmax(), drw_debug_bbox(), i, blender::math::max(), blender::math::min(), mul_project_m4_v3(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), and BoundBox::vec.
Referenced by blender::draw::View::compute_visibility(), and blender::eevee::ShadowTileMap::debug_draw().
| void blender::draw::drw_debug_point | ( | float3float3 | pos, |
| float | rad = 0.01f, | ||
| float4 | col = {1, 0, 0, 1}, | ||
| uint | lifetime = 1 ) |
Same as drw_debug_sphere but with small default radius.
Definition at line 157 of file draw_debug.cc.
References col, debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), i, pos, precompute_sphere_points(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
| void blender::draw::drw_debug_polygon | ( | Span< float3float3 > | face_verts, |
| const float4 | color, | ||
| const uint | lifetime ) |
Definition at line 95 of file draw_debug.cc.
References BLI_assert, col, debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), blender::Span< T >::is_empty(), and blender::Span< T >::last().
| void blender::draw::drw_debug_sphere | ( | const float3float3 | center, |
| float | radius, | ||
| const float4 | color, | ||
| const uint | lifetime ) |
Precomputed shapes verts.
Definition at line 143 of file draw_debug.cc.
References col, debug_color_pack(), blender::draw::DebugDraw::draw_line(), blender::draw::DebugDraw::get(), i, precompute_sphere_points(), and blender::Vector< T, InlineBufferCapacity, Allocator >::size().
Referenced by blender::eevee::Light::debug_draw().
| void blender::draw::DRW_grease_pencil_batch_cache_dirty_tag | ( | GreasePencil * | grease_pencil, |
| int | mode ) |
Definition at line 1446 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(), and DRW_module_init().
| void blender::draw::DRW_grease_pencil_batch_cache_free | ( | GreasePencil * | grease_pencil | ) |
Definition at line 1472 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(), and DRW_module_init().
| void blender::draw::DRW_grease_pencil_batch_cache_validate | ( | GreasePencil * | grease_pencil | ) |
Definition at line 1463 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_batch_cache_validate(), and DRW_grease_pencil_batch_cache_validate().
| void blender::draw::DRW_lattice_batch_cache_dirty_tag | ( | Lattice * | lt, |
| int | mode ) |
Definition at line 278 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.
Referenced by DRW_module_init().
| void blender::draw::DRW_lattice_batch_cache_free | ( | Lattice * | lt | ) |
Definition at line 312 of file draw_cache_impl_lattice.cc.
References Lattice::batch_cache, lattice_batch_cache_clear(), and MEM_SAFE_FREE.
Referenced by DRW_module_init().
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_edges | ( | Lattice * | lt, |
| bool | use_weight, | ||
| int | actdef ) |
Definition at line 454 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.
Referenced by DRW_cache_lattice_wire_get().
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_all_verts | ( | Lattice * | lt | ) |
Definition at line 473 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.
Referenced by DRW_cache_lattice_verts_get().
| gpu::Batch * blender::draw::DRW_lattice_batch_cache_get_edit_verts | ( | Lattice * | lt | ) |
Definition at line 489 of file draw_cache_impl_lattice.cc.
References lattice_batch_cache_create_overlay_batches(), lattice_batch_cache_get(), and blender::draw::LatticeBatchCache::overlay_verts.
Referenced by DRW_cache_lattice_vert_overlay_get().
| void blender::draw::DRW_lattice_batch_cache_validate | ( | Lattice * | lt | ) |
Definition at line 265 of file draw_cache_impl_lattice.cc.
References lattice_batch_cache_clear(), lattice_batch_cache_init(), and lattice_batch_cache_valid().
Referenced by drw_batch_cache_validate().
| 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.
Definition at line 1124 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_edges, blender::draw::MeshBatchList::all_verts, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Attr0, blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::attr_used, blender::draw::MeshBatchCache::attr_used_over_time, AttrViewer, batch, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBatchCache::batch_requested, BKE_editmesh_eval_orig_map_available(), BKE_object_get_editmesh_eval_final(), BKE_object_get_pre_modified_mesh(), BKE_subsurf_modifier_has_gpu_subdiv(), BLI_assert, blender::draw::MeshBufferCache::buff, buffers, blender::draw::MeshBatchCache::cage, blender::draw::MeshBatchCache::cd_needed, CD_ORCO, blender::draw::MeshBatchCache::cd_used, blender::draw::MeshBatchCache::cd_used_over_time, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), CornerNormal, create_material_subranges(), CustomData_get_layer(), drw_attributes_merge(), drw_attributes_overlap(), DRW_create_subdivision(), drw_mesh_weight_state_clear(), drw_mesh_weight_state_copy(), drw_mesh_weight_state_extract(), DRW_object_get_editmesh_cage_for_drawing(), blender::draw::MeshBatchList::edge_detection, EdgeFactor, 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, EditData, 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::MeshBatchList::edituv_verts, EditUVData, EditUVFaceDots, EditUVLines, EditUVPoints, EditUVStretchAngle, EditUVStretchArea, EditUVTris, blender::draw::MeshBufferCache::face_sorted, FaceDotEditUVData, FaceDotNormal, FaceDotPosition, FaceDots, FaceDotUV, blender::draw::MeshBatchCache::final, FOREACH_MESH_BUFFER_CACHE, GPU_BATCH_CLEAR_SAFE, GPU_batch_init, GPU_batch_vertbuf_add(), GPU_MAX_ATTR, GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_POINTS, GPU_PRIM_TRIS, i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), IndexEdge, IndexFace, IndexFaceDot, IndexVert, init_empty_dummy_batch(), blender::draw::MeshBatchCache::is_uvsyncsel, Lines, LinesAdjacency, LinesLoose, LinesPaintMask, 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_UV_FACES, MBC_VIEWER_ATTRIBUTE_OVERLAY, MBC_WIRE_EDGES, MBC_WIRE_LOOPS, MBC_WIRE_LOOPS_EDITUVS, MBC_WIRE_LOOPS_UVS, ME_WRAPPER_TYPE_BMESH, 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(), MeshAnalysis, Object::mode, OB_MESH, OB_MODE_EDIT, Orco, blender::draw::DRW_MeshCDMask::orco, blender::bke::object::pbvh_get(), Points, Position, Mesh::runtime, blender::draw::DRW_MeshCDMask::sculpt_overlays, blender::draw::MeshBatchList::sculpt_overlays, SculptData, SkinRoots, 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::DRW_MeshCDMask::tan_orco, Tangents, Scene::toolsettings, Tris, blender::draw::MeshBatchCache::tris_per_mat, Object::type, blender::bke::pbvh::update_normals_from_eval(), blender::draw::DRW_MeshCDMask::uv, blender::draw::MeshBatchCache::uv_cage, blender::draw::MeshBatchList::uv_faces, ToolSettings::uv_flag, UV_SYNC_SELECTION, UVLines, UVs, blender::draw::MeshBufferList::vbos, Mesh::vert_data, VertexGroupWeight, VertexNormal, blender::draw::MeshBatchCache::weight_state, blender::draw::MeshBatchList::wire_edges, blender::draw::MeshBatchList::wire_loops, blender::draw::MeshBatchList::wire_loops_edituvs, and blender::draw::MeshBatchList::wire_loops_uvs.
Referenced by drw_batch_cache_generate_requested(), and drw_batch_cache_generate_requested_evaluated_mesh_or_curve().
| void blender::draw::DRW_mesh_batch_cache_dirty_tag | ( | Mesh * | mesh, |
| eMeshBatchDirtyMode | mode ) |
Definition at line 589 of file draw_cache_impl_mesh.cc.
References 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, CornerNormal, discard_buffers(), EditData, EditUVData, FaceDotEditUVData, FaceDotNormal, blender::draw::MeshBatchCache::is_dirty, LinesPaintMask, mesh_batch_cache_discard_shaded_tri(), mesh_batch_cache_discard_uvedit(), mesh_batch_cache_discard_uvedit_select(), and Mesh::runtime.
Referenced by DRW_module_init().
| void blender::draw::DRW_mesh_batch_cache_free | ( | void * | batch_cache | ) |
Definition at line 670 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_clear().
Referenced by DRW_module_init().
| void blender::draw::DRW_mesh_batch_cache_free_old | ( | Mesh * | mesh, |
| int | ctime ) |
Thread safety need to be assured by caller. Don't call this during drawing.
Definition at line 1086 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, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), drw_attributes_overlap(), blender::draw::MeshBatchCache::lastmatch, mesh_batch_cache_discard_shaded_tri(), mesh_cd_layers_type_clear(), mesh_cd_layers_type_equal(), Mesh::runtime, and U.
Referenced by DRW_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_edges | ( | Mesh & | mesh | ) |
Definition at line 728 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().
Referenced by DRW_cache_mesh_all_edges_get(), and drw_shgroup_bone_custom_mesh_wire().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_all_verts | ( | Mesh & | mesh | ) |
Definition at line 721 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().
Referenced by DRW_cache_mesh_all_verts_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edge_detection | ( | Mesh & | mesh, |
| bool * | r_is_manifold ) |
Definition at line 760 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::edge_detection, blender::draw::MeshBatchCache::is_manifold, MBC_EDGE_DETECTION, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by DRW_cache_mesh_edge_detection_get(), and drw_shgroup_bone_custom_solid_mesh().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edges_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 957 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().
Referenced by blender::draw::edit_select::Instance::edit_mesh_sync(), and blender::draw::edit_select::Instance::mesh_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_edges | ( | Mesh & | mesh | ) |
Definition at line 895 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 923 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 916 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 779 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().
Referenced by DRW_cache_mesh_surface_mesh_analysis_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edit_skin_roots | ( | Mesh & | mesh | ) |
Definition at line 930 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 888 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 909 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 902 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 1025 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 1041 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 1017 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 1009 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 ) |
Definition at line 991 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 1033 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_edituv_wireframe | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1065 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_EDITUVS, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::wire_loops_edituvs.
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 950 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().
Referenced by blender::draw::edit_select::Instance::edit_mesh_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_loose_edges | ( | Mesh & | mesh | ) |
Definition at line 743 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), blender::draw::MeshBatchList::loose_edges, MBC_LOOSE_EDGES, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchCache::no_loose_wire.
Referenced by DRW_cache_mesh_loose_edges_get(), and drw_shgroup_bone_custom_solid_mesh().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_sculpt_overlays | ( | Mesh & | mesh | ) |
Definition at line 861 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 735 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.
Referenced by DRW_cache_mesh_surface_get(), drw_shgroup_bone_custom_solid_mesh(), blender::draw::edit_select::Instance::edit_mesh_sync(), and blender::draw::edit_select::Instance::object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_edges | ( | Mesh & | mesh | ) |
Definition at line 1073 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(), and blender::draw::MeshBatchList::wire_loops.
Referenced by DRW_cache_mesh_surface_edges_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_sculpt | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 848 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(), Mesh::runtime, and blender::draw::MeshBatchList::surface.
Referenced by DRW_cache_mesh_surface_sculptcolors_get().
| Span< gpu::Batch * > blender::draw::DRW_mesh_batch_cache_get_surface_shaded | ( | Object & | object, |
| Mesh & | mesh, | ||
| const Span< const GPUMaterial * > | materials ) |
Definition at line 804 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, BLI_assert, blender::draw::MeshBatchCache::cd_needed, 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(), Mesh::runtime, blender::Span< T >::size(), and blender::draw::MeshBatchCache::surface_per_mat.
| Span< gpu::Batch * > blender::draw::DRW_mesh_batch_cache_get_surface_shaded | ( | Object & | object, |
| Mesh & | mesh, | ||
| Span< const GPUMaterial * > | materials ) |
Referenced by DRW_cache_mesh_surface_shaded_get().
| Span< gpu::Batch * > blender::draw::DRW_mesh_batch_cache_get_surface_texpaint | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 819 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), blender::draw::MeshBatchCache::surface_per_mat, and texpaint_request_active_uv().
Referenced by DRW_cache_mesh_surface_texpaint_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_texpaint_single | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 827 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().
Referenced by DRW_cache_mesh_surface_texpaint_single_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_vertpaint | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 835 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(), Mesh::runtime, and blender::draw::MeshBatchList::surface.
Referenced by DRW_cache_mesh_surface_vertpaint_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_viewer_attribute | ( | Mesh & | mesh | ) |
Definition at line 872 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.
Referenced by DRW_cache_mesh_surface_viewer_attribute_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_surface_weights | ( | Mesh & | mesh | ) |
Definition at line 753 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.
Referenced by DRW_cache_mesh_surface_weights_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_triangles_with_select_id | ( | 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_selection_faces, MBC_EDIT_SELECTION_FACES, mesh_batch_cache_add_request(), and mesh_batch_cache_get().
Referenced by blender::draw::edit_select::Instance::edit_mesh_sync(), and blender::draw::edit_select::Instance::mesh_sync().
Definition at line 1049 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), edituv_request_active_uv(), MBC_UV_FACES, mesh_batch_cache_add_request(), mesh_batch_cache_get(), and blender::draw::MeshBatchList::uv_faces.
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync(), and blender::draw::overlay::MeshUVs::object_sync().
Definition at line 1057 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(), and blender::draw::overlay::MeshUVs::object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_verts_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 964 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().
Referenced by blender::draw::edit_select::Instance::edit_mesh_sync(), and blender::draw::edit_select::Instance::mesh_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_wireframes_face | ( | Mesh & | mesh | ) |
Definition at line 772 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.
Referenced by DRW_cache_mesh_face_wireframe_get().
| void blender::draw::DRW_mesh_batch_cache_validate | ( | Mesh & | mesh | ) |
Definition at line 505 of file draw_cache_impl_mesh.cc.
References mesh_batch_cache_clear(), mesh_batch_cache_init(), mesh_batch_cache_valid(), and Mesh::runtime.
Referenced by drw_batch_cache_validate(), drw_shgroup_bone_custom_mesh_wire(), and drw_shgroup_bone_custom_solid_mesh().
|
static |
Definition at line 354 of file draw_cache_impl_mesh.cc.
References size().
Referenced by drw_mesh_weight_state_compare().
| void blender::draw::DRW_mesh_get_attributes | ( | const Object & | object, |
| const Mesh & | mesh, | ||
| const Span< const GPUMaterial * > | materials, | ||
| VectorSet< std::string > * | r_attrs, | ||
| DRW_MeshCDMask * | r_cd_needed ) |
Definition at line 786 of file draw_cache_impl_mesh.cc.
References mesh_cd_calc_used_gpu_layers().
Referenced by sculpt_batches_per_material_get().
| void blender::draw::DRW_mesh_get_attributes | ( | const Object & | object, |
| const Mesh & | mesh, | ||
| Span< const GPUMaterial * > | materials, | ||
| VectorSet< std::string > * | r_attrs, | ||
| DRW_MeshCDMask * | r_cd_needed ) |
|
static |
Reset the selection structure, deallocating heap memory as appropriate.
Definition at line 321 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 361 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshWeightState::alert_mode, b, 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_flags_equal(), and blender::draw::DRW_MeshWeightState::flags.
Referenced by mesh_batch_cache_check_vertex_group().
|
static |
Copy selection data from one structure to another, including heap memory.
Definition at line 333 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 372 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, Mesh::vertex_group_active_index, Mesh::vertex_group_names, 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 154 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, BKE_PARTICLE_BATCH_DIRTY_ALL, BLI_assert, and blender::draw::ParticleBatchCache::is_dirty.
Referenced by DRW_module_init().
| void blender::draw::DRW_particle_batch_cache_free | ( | ParticleSystem * | psys | ) |
Definition at line 230 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, MEM_SAFE_FREE, and particle_batch_cache_clear().
Referenced by DRW_module_init().
|
static |
Definition at line 1488 of file draw_cache_impl_particles.cc.
References DEG_get_original(), DRWContext::depsgraph, DRW_context_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 1467 of file draw_cache_impl_particles.cc.
References DEG_get_original(), DRWContext::depsgraph, DRW_context_get(), drw_particle_update_ptcache_edit(), Object::mode, OB_MODE_PARTICLE_EDIT, PE_create_current(), and DRWContext::scene.
Referenced by DRW_particles_batch_cache_get_hair(), and particles_ensure_procedural_data().
|
static |
Definition at line 1439 of file draw_cache_impl_particles.cc.
References DAG_EVAL_RENDER, DEG_get_ctime(), DEG_get_mode(), DEG_get_original(), depsgraph, DRWContext::depsgraph, DRW_context_get(), ParticleSystem::flag, PTCacheEdit::pathcache, PE_update_object(), PTCacheEdit::psys, psys_cache_edit_paths(), PSYS_HAIR_UPDATED, and DRWContext::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 ) |
Definition at line 1522 of file draw_cache_impl_particles.cc.
References GPU_batch_create, GPU_PRIM_POINTS, particle_batch_cache_ensure_pos(), particle_batch_cache_get(), blender::draw::ParticleBatchCache::point, blender::draw::ParticlePointCache::points, and blender::draw::ParticlePointCache::pos.
Referenced by DRW_cache_particles_get_dots().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_inner_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 1634 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().
Referenced by DRW_cache_particles_get_edit_inner_points().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_strands | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit, | ||
| bool | use_weight ) |
Definition at line 1567 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.
Referenced by DRW_cache_particles_get_edit_strands().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_edit_tip_points | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| PTCacheEdit * | edit ) |
Definition at line 1691 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().
Referenced by DRW_cache_particles_get_edit_tip_points().
| gpu::Batch * blender::draw::DRW_particles_batch_cache_get_hair | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| ModifierData * | md ) |
Definition at line 1505 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.
Referenced by DRW_cache_particles_get_hair().
Definition at line 1706 of file draw_cache_impl_particles.cc.
References blender::draw::ObjectRef::dupli_object, blender::draw::ObjectRef::dupli_parent, blender::MatBase< float, 4, 4 >::identity(), Object::instance_collection, Collection::instance_offset, blender::math::invert(), DupliObject::ob, OB_DUPLICOLLECTION, blender::draw::ObjectRef::object, and DupliObject::type.
Referenced by blender::draw::overlay::Particles::edit_object_sync(), blender::draw::overlay::Particles::object_sync(), blender::draw::external::Prepass::particle_sync(), and blender::draw::overlay::Prepass::particle_sync().
| void blender::draw::DRW_pointcloud_batch_cache_create_requested | ( | Object * | ob | ) |
Definition at line 452 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attributes_buf, build_edit_selection_indices(), blender::draw::PointCloudEvalCache::dots, DRW_batch_requested(), DRW_ibo_request(), DRW_ibo_requested(), DRW_object_get_data_for_drawing(), DRW_pointcloud_batch_cache_create_requested(), DRW_vbo_request(), DRW_vbo_requested(), blender::draw::PointCloudBatchCache::edit_selection, blender::draw::PointCloudBatchCache::edit_selection_indices, blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::geom_indices, GPU_PRIM_POINTS, GPU_PRIM_TRIS, i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::draw::PointCloudEvalCache::mat_len, pointcloud_batch_cache_get(), pointcloud_extract_attribute(), pointcloud_extract_indices(), pointcloud_extract_position_and_radius(), blender::draw::PointCloudEvalCache::pos_rad, blender::draw::PointCloudEvalCache::surface, and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by drw_batch_cache_generate_requested(), and DRW_pointcloud_batch_cache_create_requested().
| void blender::draw::DRW_pointcloud_batch_cache_dirty_tag | ( | PointCloud * | pointcloud, |
| int | mode ) |
Definition at line 135 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().
Referenced by DRW_module_init().
| void blender::draw::DRW_pointcloud_batch_cache_free | ( | PointCloud * | pointcloud | ) |
Definition at line 193 of file draw_cache_impl_pointcloud.cc.
References PointCloud::batch_cache, and pointcloud_batch_cache_clear().
Referenced by DRW_module_init().
| void blender::draw::DRW_pointcloud_batch_cache_free_old | ( | PointCloud * | pointcloud, |
| int | ctime ) |
Definition at line 200 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attr_used_over_time, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), drw_attributes_overlap(), blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::last_attr_matching_time, pointcloud_batch_cache_get(), pointcloud_discard_attributes(), and U.
Referenced by DRW_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_dots | ( | Object * | ob | ) |
Definition at line 390 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::dots, DRW_batch_request(), DRW_object_get_data_for_drawing(), DRW_pointcloud_batch_cache_get_dots(), blender::draw::PointCloudBatchCache::eval_cache, and pointcloud_batch_cache_get().
Referenced by DRW_cache_object_face_wireframe_get(), DRW_pointcloud_batch_cache_get_dots(), and blender::draw::overlay::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_pointcloud_batch_cache_get_edit_dots | ( | PointCloud * | pointcloud | ) |
Definition at line 497 of file draw_cache_impl_pointcloud.cc.
References DRW_batch_request(), DRW_pointcloud_batch_cache_get_edit_dots(), blender::draw::PointCloudBatchCache::edit_selection, and pointcloud_batch_cache_get().
Referenced by DRW_cache_pointcloud_vert_overlay_get(), and DRW_pointcloud_batch_cache_get_edit_dots().
| void blender::draw::DRW_pointcloud_batch_cache_validate | ( | PointCloud * | pointcloud | ) |
Definition at line 185 of file draw_cache_impl_pointcloud.cc.
References pointcloud_batch_cache_clear(), pointcloud_batch_cache_init(), and pointcloud_batch_cache_valid().
Referenced by drw_batch_cache_validate().
| gpu::VertBuf ** blender::draw::DRW_pointcloud_evaluated_attribute | ( | PointCloud * | pointcloud, |
| StringRef | name ) |
Definition at line 403 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, Geometry::attributes, blender::draw::PointCloudEvalCache::attributes_buf, blender::bke::AttributeAccessor::contains(), drw_attributes_add_request(), drw_attributes_merge(), DRW_pointcloud_evaluated_attribute(), blender::draw::PointCloudBatchCache::eval_cache, i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), pointcloud_batch_cache_get(), and blender::draw::PointCloudBatchCache::render_mutex.
Referenced by DRW_pointcloud_evaluated_attribute(), and pointcloud_sub_pass_setup_implementation().
Definition at line 53 of file draw_pointcloud.cc.
References DRWContext::data, drw_get(), and DRWData::pointcloud_module.
Referenced by DRWData::modules_init().
| void blender::draw::DRW_pointcloud_module_free | ( | draw::PointCloudModule * | module | ) |
Definition at line 63 of file draw_pointcloud.cc.
Referenced by DRW_viewport_data_free().
| gpu::VertBuf * blender::draw::DRW_pointcloud_position_and_radius_buffer_get | ( | Object * | ob | ) |
Definition at line 397 of file draw_cache_impl_pointcloud.cc.
References DRW_object_get_data_for_drawing(), 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().
| void blender::draw::DRW_subdiv_cache_free | ( | bke::subdiv::Subdiv * | subdiv | ) |
Definition at line 1805 of file draw_cache_impl_subdivision.cc.
References BLI_linklist_prepend(), DRW_subdiv_cache_free(), gpu_subdiv_free_queue, gpu_subdiv_queue_mutex, and lock.
Referenced by DRW_module_init(), and 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 939 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_subdivide_loose_geom | ( | DRWSubdivCache & | subdiv_cache, |
| const MeshBufferCache & | cache ) |
Definition at line 1703 of file draw_cache_impl_subdivision.cc.
References blender::bke::mesh::build_vert_to_edge_map(), blender::draw::MeshExtractLooseGeom::edges, blender::Span< T >::index_range(), 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::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 | ( | gpu::VertBuf * | vbo, |
| const int | vert_len ) |
Definition at line 71 of file draw_cache.cc.
References blender::gpu::VertBuf::data(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, and GPU_vertformat_from_attribute().
Referenced by drw_volume_wireframe_cb().
| void blender::draw::DRW_volume_batch_cache_dirty_tag | ( | Volume * | volume, |
| int | mode ) |
Definition at line 98 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, BKE_VOLUME_BATCH_DIRTY_ALL, BLI_assert, and blender::draw::VolumeBatchCache::is_dirty.
Referenced by DRW_module_init().
| void blender::draw::DRW_volume_batch_cache_free | ( | Volume * | volume | ) |
Definition at line 131 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, MEM_SAFE_FREE, and volume_batch_cache_clear().
Referenced by DRW_module_init().
| DRWVolumeGrid * blender::draw::DRW_volume_batch_cache_get_grid | ( | Volume * | volume, |
| const bke::VolumeGridData * | volume_grid ) |
Definition at line 342 of file draw_cache_impl_volume.cc.
References blender::draw::DRWVolumeGrid::texture, volume_batch_cache_get(), and volume_grid_cache_get().
Referenced by 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 271 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 216 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::batch, BKE_volume_grid_active_get_for_read(), BKE_volume_grid_wireframe(), Volume::display, DRW_context_get(), drw_volume_wireframe_cb(), blender::draw::VolumeBatchCache::face_wire, blender::draw::VolumeWireframeUserData::scene, DRWContext::scene, blender::draw::VolumeWireframeUserData::volume, volume_batch_cache_get(), VOLUME_WIREFRAME_NONE, and VolumeDisplay::wireframe_type.
Referenced by DRW_cache_volume_face_wireframe_get().
| void blender::draw::DRW_volume_batch_cache_validate | ( | Volume * | volume | ) |
Definition at line 84 of file draw_cache_impl_volume.cc.
References volume_batch_cache_clear(), volume_batch_cache_init(), and volume_batch_cache_valid().
Referenced by drw_batch_cache_validate(), and volume_batch_cache_get().
Definition at line 92 of file draw_volume.cc.
References DRWContext::data, drw_get(), and DRWData::volume_module.
Referenced by DRWData::modules_init().
| void blender::draw::DRW_volume_module_free | ( | draw::VolumeModule * | module | ) |
Definition at line 103 of file draw_volume.cc.
References module.
Referenced by DRW_viewport_data_free().
| PassType * blender::draw::drw_volume_object_mesh_init | ( | PassType & | ps, |
| Scene * | scene, | ||
| Object * | ob, | ||
| ListBaseWrapper< GPUMaterialAttribute > & | attrs ) |
Definition at line 177 of file draw_volume.cc.
References FluidDomainSettings::active_color, FluidDomainSettings::active_fields, BKE_mesh_texspace_get(), BKE_modifier_is_enabled(), BKE_modifiers_findby_type(), VolumeInfos::color_mul, DRWContext::data, VolumeInfos::density_scale, FluidModifierData::domain, drw_get(), DRW_object_get_data_for_drawing(), DRW_smoke_ensure(), 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(), VolumeInfos::grids_xform, blender::MatBase< float, 4, 4 >::identity(), blender::MatBase< T, NumCol, NumRow, Alignment >::location(), module, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::math::safe_rcp(), blender::math::scale(), STR_ELEM, STREQ, VolumeInfos::temperature_bias, VolumeInfos::temperature_mul, FluidDomainSettings::tex_color, FluidDomainSettings::tex_density, FluidDomainSettings::tex_flame, FluidDomainSettings::type, UNPACK3, and DRWData::volume_module.
Referenced by volume_sub_pass_implementation().
|
static |
Definition at line 241 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, 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(), i, blender::draw::VolumeBatchCache::selection_surface, UNPACK3, and verts.
Referenced by DRW_volume_batch_cache_get_selection_surface().
|
static |
Definition at line 141 of file draw_cache_impl_volume.cc.
References attr_id, blender::draw::VolumeBatchCache::batch, Volume::batch_cache, blender::gpu::convert_normal(), data, Volume::display, 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_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(), i, RenderData::perf_flag, blender::draw::VolumeBatchCache::pos_nor_in_order, Scene::r, SCE_PERF_HQ_NORMALS, verts, VOLUME_WIREFRAME_POINTS, and VolumeDisplay::wireframe_type.
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 subdiv_vbo_edge_fac_comp.glsl.
Definition at line 32 of file extract_mesh_vbo_edge_fac.cc.
References b, CLAMP, and blender::math::dot().
Referenced by extract_edge_factor_mesh().
|
inline |
Definition at line 231 of file extract_mesh.hh.
References blender::bke::mesh::face_corner_next().
Referenced by extract_edituv_lines_mesh(), extract_edituv_lines_subdiv_bm(), and extract_edituv_lines_subdiv_mesh().
|
static |
Definition at line 43 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 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 361 of file draw_cache_extract_mesh_render_data.cc.
References BKE_object_get_editmesh_eval_final(), editmesh_final_or_this(), and Mesh::runtime.
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 57 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::UVStretchAngle::angle, angle_normalized_v2v2(), angle_normalized_v3v3(), fabsf, 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 977 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(), DRW_mesh_batch_cache_get_edituv_wireframe(), DRW_mesh_batch_cache_get_uv_faces(), and DRW_mesh_batch_cache_get_uv_wireframe().
|
static |
Definition at line 734 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_INT16_2D, CD_PROP_INT32, CD_PROP_INT32_2D, CD_PROP_INT8, CD_PROP_QUATERNION, CD_TANGENT, blender::bke::Curve, CurvesGeometry::curve_data, CustomData_get_layer_name(), CustomData_get_named_layer(), CustomData_get_render_layer(), drw_attributes_add_request(), 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, Curves::geometry, GPU_material_attributes(), GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), blender::StringRefBase::is_empty(), LISTBASE_FOREACH, blender::bke::Point, CurvesGeometry::point_data, blender::draw::CurvesEvalCache::proc_attributes_buf, blender::draw::CurvesEvalCache::proc_attributes_point_domain, and blender::draw::CurvesBatchCache::render_mutex.
Referenced by curves_ensure_procedural_data(), and ensure_attributes().
|
static |
Definition at line 582 of file draw_cache_impl_curves.cc.
References blender::bke::CurvesGeometry::attributes(), blender::bke::CurvesGeometry::curves_num(), blender::bke::AttributeReader< T >::domain, ensure_control_point_attribute(), Curves::geometry, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), blender::bke::AttributeAccessor::lookup(), blender::bke::Point, blender::bke::CurvesGeometry::points_num(), and blender::bke::AttributeReader< T >::varray.
Referenced by ensure_control_point_attribute(), and ensure_final_attribute().
|
static |
Definition at line 35 of file draw_cache_extract_mesh.cc.
References blender::Span< T >::contains(), blender::bke::Corner, CornerNormal, EdgeFactor, EditData, FaceDotNormal, IndexEdge, IndexVert, Lines, LinesLoose, mesh_render_data_update_corner_normals(), mesh_render_data_update_face_normals(), mesh_render_data_update_loose_geom(), MeshAnalysis, blender::draw::MeshRenderData::normals_domain, Points, Position, Tangents, blender::draw::MeshRenderData::use_simplify_normals, and VertexNormal.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Definition at line 1589 of file draw_cache_impl_particles.cc.
References BLI_assert, blender::draw::ParticleBatchCache::edit_inner_point_len, blender::draw::ParticleBatchCache::edit_inner_pos, PTCacheEditPoint::flag, PEP_HIDE, PTCacheEdit::points, PTCacheEditPoint::totkey, and PTCacheEdit::totpoint.
Referenced by DRW_particles_batch_cache_get_edit_inner_points().
|
static |
Definition at line 1649 of file draw_cache_impl_particles.cc.
References blender::draw::ParticleBatchCache::edit_tip_point_len, blender::draw::ParticleBatchCache::edit_tip_pos, PTCacheEditPoint::flag, PEP_HIDE, PTCacheEdit::points, and PTCacheEdit::totpoint.
Referenced by DRW_particles_batch_cache_get_edit_tip_points().
|
static |
Definition at line 612 of file draw_cache_impl_curves.cc.
References alloc_final_attribute_vbo(), blender::draw::CurvesEvalFinalCache::attributes_buf, 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, GPU_vertformat_attr_add(), blender::draw::CurvesEvalCache::proc_attributes_buf, and blender::draw::CurvesEvalCache::proc_attributes_point_domain.
Referenced by ensure_attributes(), and ensure_final_attribute().
|
static |
Definition at line 250 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 | ) |
References MBC_SURFACE_PER_MAT.
| blender::draw::ENUM_OPERATORS | ( | SculptBatchFeature | , |
| SCULPT_BATCH_UV | ) |
References SCULPT_BATCH_UV.
|
static |
Definition at line 20 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, input, blender::math::is_normalized(), OB_DRAW_GROUPUSER_ACTIVE, and OB_DRAW_GROUPUSER_ALL.
| gpu::VertBufPtr blender::draw::extract_attr_viewer | ( | const MeshRenderData & | mr | ) |
Definition at line 347 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::bke::Corner, blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_attr_viewer(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::bke::AttributeAccessor::lookup_or_default(), blender::draw::MeshRenderData::mesh, and blender::bke::AttributeReader< T >::varray.
Referenced by extract_attr_viewer().
| gpu::VertBufPtr blender::draw::extract_attribute | ( | const MeshRenderData & | mr, |
| StringRef | name ) |
Definition at line 262 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::draw::MeshRenderData::bm, BMesh, blender::draw::MeshRenderData::corners_num, blender::bke::cpp_type_to_custom_data_type(), extract_attribute(), extract_attribute_data(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_calloc(), init_vbo_for_attribute(), blender::bke::AttributeAccessor::lookup(), lookup_bmesh_attribute(), blender::draw::MeshRenderData::mesh, blender::draw::BMeshAttributeLookup::type, blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by extract_attribute().
|
static |
Definition at line 235 of file extract_mesh_vbo_attributes.cc.
References blender::bke::attribute_math::convert_to_static_type(), extract_attribute_data(), blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
|
static |
Definition at line 208 of file extract_mesh_vbo_attributes.cc.
References blender::bke::attribute_math::convert_to_static_type(), extract_attribute_data(), and blender::draw::BMeshAttributeLookup::type.
Referenced by extract_attribute(), extract_attribute_data(), extract_attribute_data(), and extract_attribute_subdiv().
| gpu::VertBufPtr blender::draw::extract_attribute_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| StringRef | name ) |
Definition at line 296 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::draw::MeshRenderData::bm, BMesh, blender::bke::attribute_math::convert_to_static_type(), Mesh::corners_num, blender::bke::cpp_type_to_custom_data_type(), draw_subdiv_interp_custom_data(), extract_attribute_data(), extract_attribute_subdiv(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_calloc(), GPU_vertbuf_tag_dirty(), init_coarse_data(), init_vbo_for_attribute(), blender::bke::AttributeAccessor::lookup(), lookup_bmesh_attribute(), blender::draw::DRWSubdivCache::mesh, blender::draw::MeshRenderData::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, T, blender::draw::BMeshAttributeLookup::type, blender::GVArrayCommon::type(), and blender::bke::GAttributeReader::varray.
Referenced by extract_attribute_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 484 of file draw_cache_impl_curves.cc.
References extract_curve_lines(), blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), i, blender::IndexRange::last(), blender::MutableSpan< T >::last(), blender::IndexRange::size(), blender::MutableSpan< T >::slice(), and blender::IndexRange::start().
Referenced by calc_edit_handles_ibo(), and extract_curve_lines().
|
static |
Definition at line 118 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, i, BMFace::len, BMLoop::next, POINTER_OFFSET, and T.
Referenced by extract_data_bmesh_edge().
|
static |
Definition at line 138 of file extract_mesh_vbo_attributes.cc.
References bm, BM_FACES_OF_MESH, BM_ITER_MESH, blender::gpu::VertBuf::data(), BMHeader::data, data, extract_data_bmesh_face(), BMFace::head, BMFace::len, POINTER_OFFSET, and T.
Referenced by extract_data_bmesh_face().
|
static |
Definition at line 154 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, i, BMFace::len, BMLoop::next, POINTER_OFFSET, and T.
Referenced by extract_data_bmesh_loop().
|
static |
Definition at line 98 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, i, BMFace::len, BMLoop::next, POINTER_OFFSET, T, and BMLoop::v.
Referenced by extract_data_bmesh_vert().
|
static |
Definition at line 82 of file extract_mesh_vbo_attributes.cc.
References blender::gpu::VertBuf::data(), data, extract_data_mesh_face(), faces, and blender::threading::parallel_for().
Referenced by extract_data_mesh_face().
|
static |
Definition at line 61 of file extract_mesh_vbo_attributes.cc.
References blender::gpu::VertBuf::data(), data, blender::array_utils::gather(), indices, and blender::threading::parallel_for().
| gpu::VertBufPtr blender::draw::extract_edge_factor | ( | const MeshRenderData & | mr | ) |
Definition at line 119 of file extract_mesh_vbo_edge_fac.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::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_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::draw::MeshRenderData::loose_indices_num, Mesh, and blender::MutableSpan< T >::take_back().
Referenced by extract_edge_factor().
|
static |
Definition at line 96 of file extract_mesh_vbo_edge_fac.cc.
References blender::draw::MeshRenderData::bm, bm, and blender::threading::parallel_for().
Referenced by extract_edge_factor().
|
static |
Definition at line 44 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, faces, blender::bits::BitSpan::is_empty(), blender::draw::MeshRenderData::mesh, and Mesh::runtime.
Referenced by extract_edge_factor().
| gpu::VertBufPtr blender::draw::extract_edge_factor_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBuf & | pos_nor ) |
Definition at line 179 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, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_on_device(), GPU_vertbuf_discard(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), GPU_vertformat_from_attribute(), i, 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 261 of file extract_mesh_vbo_select_idx.cc.
References data, extract_edge_idx_loose_geom_subdiv(), i, 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().
| gpu::VertBufPtr blender::draw::extract_edge_index | ( | const MeshRenderData & | mr | ) |
Definition at line 153 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, create_vbo(), extract_edge_index(), extract_edge_index_bm(), extract_edge_index_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::loose_edges, Mesh, and Span< T >::size().
Referenced by extract_edge_index().
|
static |
Definition at line 126 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::threading::parallel_for(), Span< T >::size(), blender::MutableSpan< T >::slice(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edge_index(), and extract_edge_index_bm().
|
static |
Definition at line 99 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::array_utils::gather(), blender::Span< T >::index_range(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::orig_index_edge, blender::threading::parallel_for(), Span< T >::size(), blender::MutableSpan< T >::slice(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edge_index(), and extract_edge_index_mesh().
| gpu::VertBufPtr blender::draw::extract_edge_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr ) |
Definition at line 280 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().
| gpu::VertBufPtr blender::draw::extract_edit_data | ( | const MeshRenderData & | mr | ) |
Definition at line 225 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_edit_data(), extract_edit_data_bm(), extract_edit_data_mesh(), blender::draw::MeshRenderData::extract_type, get_edit_data_format(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), blender::draw::MeshRenderData::loose_indices_num, Mesh, and size().
|
static |
Definition at line 282 of file draw_cache_impl_curves.cc.
References blender::array_utils::count_booleans(), data, EDIT_CURVES_ACTIVE_HANDLE, extract_edit_data(), and blender::index_mask::IndexMask::foreach_index().
Referenced by create_edit_points_data(), extract_edit_data(), and extract_edit_data().
|
static |
Definition at line 177 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::threading::parallel_for(), Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edit_data(), and extract_edit_data_bm().
|
static |
Definition at line 115 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, faces, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::parallel_for(), Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_edit_data().
| gpu::VertBufPtr blender::draw::extract_edit_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 382 of file extract_mesh_vbo_edit_data.cc.
References blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), Mesh, size(), and subdiv_full_vbo_size().
Referenced by extract_edit_data_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 226 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::bm, bm, extract_edit_flags_bm(), normals, and blender::threading::parallel_for().
Referenced by extract_edit_flags_bm(), and extract_normals().
|
static |
Definition at line 318 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::threading::parallel_for(), 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 240 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::threading::parallel_for(), 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().
| gpu::VertBufPtr blender::draw::extract_edituv_data | ( | const MeshRenderData & | mr | ) |
Definition at line 100 of file extract_mesh_vbo_edituv_data.cc.
References BMesh, blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), edituv_data_format(), extract_edituv_data(), extract_edituv_data_bm(), extract_edituv_data_mesh(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_create_with_format, and GPU_vertbuf_data_alloc().
Referenced by extract_edituv_data().
|
static |
Definition at line 35 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_offsets_get(), and blender::threading::parallel_for().
Referenced by extract_edituv_data().
|
static |
Definition at line 115 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(), i, 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 56 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_offsets_get(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corner_verts, extract_edituv_data_mesh(), blender::draw::MeshRenderData::faces, faces, and blender::threading::parallel_for().
Referenced by extract_edituv_data(), and extract_edituv_data_mesh().
| gpu::VertBufPtr blender::draw::extract_edituv_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 209 of file extract_mesh_vbo_edituv_data.cc.
References BMesh, blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), blender::draw::DRWSubdivCache::num_subdiv_loops, and size().
Referenced by extract_edituv_data_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| gpu::IndexBufPtr blender::draw::extract_edituv_face_dots | ( | const MeshRenderData & | mr | ) |
Definition at line 541 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_face_dots_bm(), extract_edituv_face_dots_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 492 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), cast, blender::IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, i, blender::index_mask::IndexMask::size(), skip_bm_face(), and blender::index_mask::IndexMask::to_indices().
Referenced by extract_edituv_face_dots().
|
static |
Definition at line 508 of file extract_mesh_ibo_edituv.cc.
References blender::Span< T >::begin(), bm_original_face_get(), cast, blender::draw::MeshRenderData::corner_verts, blender::Span< T >::end(), blender::draw::MeshRenderData::faces, faces, blender::IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, i, 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().
| gpu::IndexBufPtr blender::draw::extract_edituv_lines | ( | const MeshRenderData & | mr, |
| bool | edit_uvs ) |
Definition at line 242 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_lines_bm(), extract_edituv_lines_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 154 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, BM_elem_index_get, BM_FACE_FIRST_LOOP, BM_FACES_OF_MESH, BM_ITER_MESH, blender::draw::MeshRenderData::corners_num, data, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, i, BMFace::len, BMLoop::next, and skip_bm_face().
Referenced by extract_edituv_lines().
|
static |
Definition at line 180 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm_original_face_get(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, data, edge_from_corners(), blender::draw::MeshRenderData::edges_num, blender::draw::MeshRenderData::faces, faces, blender::index_mask::IndexMask::foreach_index(), blender::IndexMask::from_bools(), blender::IndexMask::from_bools_inverse(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), 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().
| gpu::IndexBufPtr blender::draw::extract_edituv_lines_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| bool | edit_uvs ) |
Definition at line 336 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_lines_subdiv_bm(), extract_edituv_lines_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
Referenced by mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 252 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), data, edge_from_corners(), blender::draw::DRWSubdivCache::edges_orig_index, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, 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 287 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), data, edge_from_corners(), blender::draw::DRWSubdivCache::edges_orig_index, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_poly, Span< T >::is_empty(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::MeshRenderData::orig_index_face, blender::draw::MeshRenderData::select_poly, skip_bm_face(), and blender::draw::DRWSubdivCache::subdiv_loop_face_index.
Referenced by extract_edituv_lines_subdiv().
| gpu::IndexBufPtr blender::draw::extract_edituv_points | ( | const MeshRenderData & | mr | ) |
Definition at line 400 of file extract_mesh_ibo_edituv.cc.
References BMesh, blender::draw::MeshRenderData::corners_num, extract_edituv_points_bm(), extract_edituv_points_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
static |
Definition at line 354 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(), i, BMFace::len, BMLoop::next, and skip_bm_face().
Referenced by extract_edituv_points().
|
static |
Definition at line 373 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::faces, 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().
| gpu::IndexBufPtr blender::draw::extract_edituv_points_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 469 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_points_subdiv_bm(), extract_edituv_points_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_POINTS, 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 415 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 441 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().
| gpu::VertBufPtr blender::draw::extract_edituv_stretch_angle | ( | const MeshRenderData & | mr | ) |
Definition at line 188 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References BMesh, blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), blender::draw::MeshRenderData::extract_type, extract_uv_stretch_angle_bm(), extract_uv_stretch_angle_mesh(), GPU_COMP_F32, GPU_COMP_I16, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), and GPU_vertformat_attr_add().
| gpu::VertBufPtr blender::draw::extract_edituv_stretch_angle_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache ) |
Definition at line 223 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References blender::draw::MeshRenderData::bm, BMesh, 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_create_on_device(), GPU_vertbuf_init_build_on_device(), i, BMesh::ldata, MAX_MTFACE, Mesh, blender::draw::MeshRenderData::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, Position, subdiv_full_vbo_size(), blender::draw::DRW_MeshCDMask::uv, UVs, and blender::draw::MeshBufferList::vbos.
Referenced by mesh_buffer_cache_create_requested_subdiv().
| gpu::VertBufPtr blender::draw::extract_edituv_stretch_area | ( | const MeshRenderData & | mr, |
| float & | tot_area, | ||
| float & | tot_uv_area ) |
Definition at line 93 of file extract_mesh_vbo_edituv_stretch_area.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), BLI_assert, blender::draw::MeshRenderData::bm, bm, BMesh, compute_area_ratio(), blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_edituv_stretch_area(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces, faces, blender::draw::MeshRenderData::faces_num, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::threading::memory_bandwidth_bound_task(), Mesh, blender::threading::parallel_for(), blender::MutableSpan< T >::size_in_bytes(), blender::draw::AreaInfo::tot_area, and blender::draw::AreaInfo::tot_uv_area.
Referenced by extract_edituv_stretch_area().
| gpu::VertBufPtr blender::draw::extract_edituv_stretch_area_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| float & | tot_area, | ||
| float & | tot_uv_area ) |
Definition at line 133 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_create_on_device(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), 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 159 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, BM_uv_map_offsets_get(), 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::threading::parallel_for(), 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 184 of file extract_mesh_vbo_edituv_data.cc.
References blender::draw::MeshRenderData::bm, BM_uv_map_offsets_get(), 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::threading::parallel_for(), 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().
| gpu::IndexBufPtr blender::draw::extract_edituv_tris | ( | const MeshRenderData & | mr | ) |
Definition at line 72 of file extract_mesh_ibo_edituv.cc.
References BMesh, 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(), GPU_indexbuf_init(), GPU_PRIM_TRIS, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_SYNC_SELECTION.
|
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(), i, 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, faces, GPU_indexbuf_add_tri_verts(), blender::draw::MeshRenderData::mesh, skip_bm_face(), and blender::Span< T >::slice().
Referenced by extract_edituv_tris().
| gpu::IndexBufPtr blender::draw::extract_edituv_tris_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 130 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_tris_subdiv_bm(), extract_edituv_tris_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_TRIS, 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().
| gpu::VertBufPtr blender::draw::extract_face_dot_index | ( | const MeshRenderData & | mr | ) |
Definition at line 311 of file extract_mesh_vbo_select_idx.cc.
References blender::array_utils::copy(), create_vbo(), blender::Span< T >::data(), extract_face_dot_index(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, blender::array_utils::fill_index_range(), Mesh, and blender::draw::MeshRenderData::orig_index_face.
Referenced by extract_face_dot_index().
| gpu::VertBufPtr blender::draw::extract_face_dot_normals | ( | const MeshRenderData & | mr, |
| bool | use_hq ) |
Definition at line 60 of file extract_mesh_vbo_fdots_nor.cc.
References blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), and Mesh.
Referenced by extract_face_dot_normals().
| void blender::draw::extract_face_dot_normals_bm | ( | const MeshRenderData & | mr, |
| MutableSpan< GPUType > | normals ) |
Definition at line 40 of file extract_mesh_vbo_fdots_nor.cc.
References blender::gpu::convert_normal(), extract_face_dot_normals_bm(), blender::draw::MeshRenderData::faces_num, normals, and blender::threading::parallel_for().
Referenced by extract_face_dot_normals(), and extract_face_dot_normals_bm().
|
static |
Definition at line 21 of file extract_mesh_vbo_fdots_nor.cc.
References blender::gpu::convert_normal(), blender::gpu::convert_normals(), blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces_num, normals, and blender::threading::parallel_for().
Referenced by extract_face_dot_normals().
|
static |
Definition at line 62 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::bm, bm, extract_face_dot_positions_bm(), and blender::threading::parallel_for().
Referenced by extract_face_dot_positions_bm(), and extract_face_dots_position().
|
static |
Definition at line 31 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::faces, 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().
| gpu::IndexBufPtr blender::draw::extract_face_dots | ( | const MeshRenderData & | mr | ) |
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 Mesh.
|
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::IndexMask::from_predicate(), i, and index_mask_to_ibo().
Referenced by extract_face_dots().
| gpu::VertBufPtr blender::draw::extract_face_dots_edituv_data | ( | const MeshRenderData & | mr | ) |
Definition at line 15 of file extract_mesh_vbo_fdots_edituv_data.cc.
References blender::draw::MeshRenderData::bm, bm, BM_uv_map_offsets_get(), BMesh, blender::MutableSpan< T >::data(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces_num, GPU_COMP_U8, GPU_FETCH_INT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), and blender::threading::parallel_for().
|
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().
| gpu::VertBufPtr blender::draw::extract_face_dots_position | ( | const MeshRenderData & | mr | ) |
Definition at line 78 of file extract_mesh_vbo_fdots_pos.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), blender::draw::MeshRenderData::loose_indices_num, and Mesh.
Referenced by extract_face_dots_position().
| void blender::draw::extract_face_dots_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| gpu::VertBufPtr & | fdots_pos, | ||
| gpu::VertBufPtr * | fdots_nor, | ||
| gpu::IndexBufPtr & | fdots ) |
Definition at line 92 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_build_on_device(), GPU_vertbuf_create_on_device(), and blender::draw::DRWSubdivCache::num_coarse_faces.
Referenced by extract_face_dots_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| gpu::VertBufPtr blender::draw::extract_face_dots_uv | ( | const MeshRenderData & | mr | ) |
Definition at line 66 of file extract_mesh_vbo_fdots_uv.cc.
References blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), and Mesh.
Referenced by extract_face_dots_uv().
|
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(), and blender::threading::parallel_for().
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 Geometry::attributes, CD_PROP_FLOAT2, blender::bke::Corner, Mesh::corner_data, blender::draw::MeshRenderData::corner_verts, CustomData_get_active_layer_name(), blender::draw::MeshRenderData::faces, faces, blender::bke::AttributeAccessor::lookup(), blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), Mesh::runtime, and blender::draw::MeshRenderData::use_subsurf_fdots.
Referenced by extract_face_dots_uv().
| gpu::VertBufPtr blender::draw::extract_face_index | ( | const MeshRenderData & | mr | ) |
Definition at line 193 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, create_vbo(), extract_face_index(), extract_face_index_bm(), extract_face_index_mesh(), blender::draw::MeshRenderData::extract_type, and Mesh.
Referenced by extract_face_index().
|
static |
Definition at line 181 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::bm, bm, extract_face_index_bm(), and blender::threading::parallel_for().
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, faces, blender::draw::MeshRenderData::orig_index_face, and blender::threading::parallel_for().
Referenced by extract_face_index(), and extract_face_index_mesh().
| gpu::VertBufPtr blender::draw::extract_face_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr ) |
Definition at line 291 of file extract_mesh_vbo_select_idx.cc.
References blender::MutableSpan< T >::data(), draw_subdiv_init_origindex_buffer(), extract_face_index_subdiv(), i, 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 30 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, faces, normals, and blender::threading::parallel_for().
Referenced by extract_normals_mesh().
|
static |
Definition at line 190 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::bm_free_normal_offset_face, extract_face_normals_bm(), normals, and blender::threading::parallel_for().
Referenced by extract_face_normals_bm(), and extract_normals_bm().
| void blender::draw::extract_lines | ( | const MeshRenderData & | mr, |
| gpu::IndexBufPtr * | lines, | ||
| gpu::IndexBufPtr * | lines_loose, | ||
| bool & | no_loose_wire ) |
Definition at line 229 of file extract_mesh_ibo_lines.cc.
References extract_lines(), extract_lines_bm(), extract_lines_mesh(), blender::draw::MeshRenderData::extract_type, and Mesh.
Referenced by extract_lines(), and mesh_buffer_cache_create_requested().
| gpu::IndexBufPtr blender::draw::extract_lines_adjacency | ( | const MeshRenderData & | mr, |
| bool & | r_is_manifold ) |
Definition at line 164 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(), GPU_indexbuf_init(), GPU_PRIM_LINES_ADJ, Mesh, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::reserve(), and blender::draw::MeshRenderData::verts_num.
| gpu::IndexBufPtr blender::draw::extract_lines_adjacency_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| bool & | r_is_manifold ) |
Definition at line 192 of file extract_mesh_ibo_lines_adjacency.cc.
References create_lines_for_remaining_edges(), GPU_indexbuf_build(), 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 171 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::index_mask::IndexMask::complement(), blender::draw::MeshRenderData::corners_num, data, extract_lines_bm(), fill_loose_lines_ibo(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_indices(), IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_create_subrange(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, i, blender::Span< T >::index_range(), blender::index_mask::IndexMask::is_empty(), BMEdge::l, blender::draw::MeshRenderData::loose_edges, BMLoop::next, pos, blender::index_mask::IndexMask::size(), and blender::Span< T >::size().
Referenced by extract_lines(), and extract_lines_bm().
|
static |
Definition at line 242 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(), BMesh, 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_from_attribute(), blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_unmapped_edges, i, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, 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 80 of file extract_mesh_ibo_lines.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), calc_mesh_edge_visibility(), calc_visible_loose_edge_indices(), blender::index_mask::IndexMask::complement(), blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, data, blender::draw::MeshRenderData::edges_num, extract_lines_mesh(), blender::draw::MeshRenderData::faces, faces, fill_loose_lines_ibo(), IndexMask::from_indices(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::index_mask::IndexMask::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::threading::memory_bandwidth_bound_task(), blender::index_mask::IndexMask::size(), Span< T >::size(), and blender::Span< T >::size_in_bytes().
Referenced by extract_lines(), and extract_lines_mesh().
| gpu::IndexBufPtr blender::draw::extract_lines_paint_mask | ( | const MeshRenderData & | mr | ) |
Definition at line 21 of file extract_mesh_ibo_lines_paint_mask.cc.
References BLI_BITMAP_NEW, blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corners_num, data, blender::draw::MeshRenderData::edges_num, blender::draw::MeshRenderData::faces, 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.
| gpu::IndexBufPtr blender::draw::extract_lines_paint_mask_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 74 of file extract_mesh_ibo_lines_paint_mask.cc.
References BLI_BITMAP_NEW, BLI_BITMAP_TEST, BLI_BITMAP_TEST_AND_SET_ATOMIC, blender::gpu::VertBuf::data(), data, blender::draw::MeshRenderData::edges_num, blender::draw::DRWSubdivCache::edges_orig_index, extract_lines_paint_mask_subdiv(), blender::bke::mesh::face_corner_next(), GPU_indexbuf_build_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, blender::threading::parallel_for(), blender::gpu::RESTART_INDEX, 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::IndexBufPtr * | lines, | ||
| gpu::IndexBufPtr * | lines_loose, | ||
| bool & | no_loose_wire ) |
Definition at line 322 of file extract_mesh_ibo_lines.cc.
References draw_subdiv_build_lines_buffer(), extract_lines_loose_geom_subdiv(), extract_lines_subdiv(), GPU_indexbuf_build_on_device(), GPU_indexbuf_create_subrange(), 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 129 of file extract_mesh_vbo_pos.cc.
References copy_v3_v3(), extract_loose_positions_subdiv(), flag, GPU_vertbuf_update_sub(), GPU_vertbuf_use(), i, 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, 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().
| gpu::VertBufPtr blender::draw::extract_mesh_analysis | ( | const MeshRenderData & | mr, |
| const float4x4 & | object_to_world ) |
Definition at line 573 of file extract_mesh_vbo_mesh_analysis.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), 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.
| void blender::draw::extract_mesh_loose_edge_data | ( | const Span< T > | vert_data, |
| const Span< int2int2 > | edges, | ||
| const Span< int > | loose_edges, | ||
| MutableSpan< T > | gpu_data ) |
Definition at line 238 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().
| gpu::VertBufPtr blender::draw::extract_normals | ( | const MeshRenderData & | mr, |
| bool | use_hq ) |
Definition at line 306 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_edit_flags_bm(), 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_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), blender::draw::MeshRenderData::loose_indices_num, Mesh, size(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_normals().
|
static |
Definition at line 244 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::bm_free_normal_offset_corner, extract_face_normals_bm(), extract_normals_bm(), extract_vert_normals_bm(), blender::bke::Face, normals, blender::draw::MeshRenderData::normals_domain, blender::threading::parallel_for(), and blender::bke::Point.
Referenced by extract_normals(), and extract_normals_bm().
|
static |
Definition at line 42 of file extract_mesh_vbo_lnor.cc.
References blender::gpu::convert_normals(), blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corner_verts, extract_face_normals(), extract_normals_mesh(), extract_vert_normals(), blender::bke::Face, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, faces, Span< T >::is_empty(), blender::draw::MeshRenderData::mesh, normals, blender::draw::MeshRenderData::normals_domain, blender::threading::parallel_for(), blender::bke::Point, blender::draw::MeshRenderData::sharp_faces, and blender::draw::MeshRenderData::use_simplify_normals.
Referenced by extract_normals(), and extract_normals_mesh().
| gpu::VertBufPtr blender::draw::extract_normals_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| gpu::VertBuf & | pos_nor ) |
Definition at line 371 of file extract_mesh_vbo_lnor.cc.
References draw_subdiv_build_lnor_buffer(), extract_normals_subdiv(), blender::IndexRange::from_begin_end(), get_subdiv_lnor_format(), GPU_vertbuf_create_on_device(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), i, blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_full_vbo_size().
Referenced by extract_normals_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| gpu::VertBufPtr blender::draw::extract_orco | ( | const MeshRenderData & | mr | ) |
Definition at line 13 of file extract_mesh_vbo_orco.cc.
References blender::draw::MeshRenderData::bm, bm, BMesh, CD_ORCO, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, CustomData_get_layer(), blender::MutableSpan< T >::data(), blender::draw::MeshRenderData::extract_type, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::Span< T >::index_range(), blender::threading::memory_bandwidth_bound_task(), blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), blender::MutableSpan< T >::size_in_bytes(), blender::Span< T >::size_in_bytes(), and Mesh::vert_data.
|
static |
Definition at line 81 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::edit_bmesh, Mesh::editflag, extract_paint_overlay_flags(), blender::draw::MeshRenderData::faces, faces, blender::draw::MeshRenderData::hide_poly, if(), blender::Span< T >::is_empty(), Span< T >::is_empty(), ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, blender::draw::MeshRenderData::mesh, normals, blender::draw::MeshRenderData::orig_index_vert, blender::threading::parallel_for(), blender::draw::MeshRenderData::select_poly, and blender::draw::MeshRenderData::select_vert.
Referenced by extract_normals(), and extract_paint_overlay_flags().
| gpu::IndexBufPtr blender::draw::extract_points | ( | const MeshRenderData & | mr | ) |
Definition at line 189 of file extract_mesh_ibo_points.cc.
References extract_points(), extract_points_bm(), extract_points_mesh(), blender::draw::MeshRenderData::extract_type, and Mesh.
Referenced by extract_points().
|
static |
Definition at line 140 of file extract_mesh_ibo_points.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), 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::index_mask::build_reverse_map(), blender::draw::MeshRenderData::corners_num, data, extract_points_bm(), blender::index_mask::IndexMask::foreach_index(), IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, i, Span< T >::is_empty(), blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, pos, process_ibo_verts_bm(), blender::index_mask::IndexMask::size(), Span< T >::size(), 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, data, extract_points_mesh(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::loose_edges, blender::draw::MeshRenderData::loose_verts, blender::threading::memory_bandwidth_bound_task(), blender::index_mask::IndexMask::size(), Span< T >::size(), Span< T >::size_in_bytes(), and blender::draw::MeshRenderData::verts_num.
Referenced by extract_points(), and extract_points_mesh().
| gpu::IndexBufPtr blender::draw::extract_points_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 330 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 Mesh.
Referenced by extract_points_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 276 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::gpu::VertBuf::data(), data, blender::draw::MeshRenderData::edges, extract_points_subdiv_bm(), blender::IndexRange::first(), IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, i, 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::gpu::RESTART_INDEX, blender::index_mask::IndexMask::size(), blender::Span< T >::size(), subdiv_verts_per_coarse_edge(), 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 217 of file extract_mesh_ibo_points.cc.
References calc_vert_visibility_mapped_mesh(), blender::gpu::VertBuf::data(), data, blender::draw::MeshRenderData::edges, extract_points_subdiv_mesh(), blender::IndexRange::first(), IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, blender::draw::MeshRenderData::hide_vert, i, 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::gpu::RESTART_INDEX, blender::index_mask::IndexMask::shift(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), subdiv_verts_per_coarse_edge(), blender::index_mask::IndexMask::to_indices(), and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_points_subdiv(), and extract_points_subdiv_mesh().
| gpu::VertBufPtr blender::draw::extract_positions | ( | const MeshRenderData & | mr | ) |
Definition at line 71 of file extract_mesh_vbo_pos.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_positions(), extract_positions_bm(), extract_positions_mesh(), blender::draw::MeshRenderData::extract_type, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::draw::MeshRenderData::loose_indices_num, and Mesh.
Referenced by extract_positions().
|
static |
Definition at line 34 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(), Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_positions().
|
static |
Definition at line 18 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(), Span< T >::size(), blender::MutableSpan< T >::size_in_bytes(), 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().
| gpu::VertBufPtr blender::draw::extract_positions_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr, | ||
| gpu::VertBufPtr * | orco_vbo ) |
Definition at line 185 of file extract_mesh_vbo_pos.cc.
References 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_create_on_device(), 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(), GPU_vertformat_from_attribute(), 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().
| gpu::VertBufPtr blender::draw::extract_sculpt_data | ( | const MeshRenderData & | mr | ) |
Definition at line 32 of file extract_mesh_vbo_sculpt_data.cc.
References blender::draw::MeshRenderData::bm, bm, BMesh, CD_PROP_FLOAT, CD_PROP_INT32, blender::draw::MeshRenderData::corners_num, CustomData_get_offset_named(), blender::MutableSpan< T >::data(), blender::draw::MeshRenderData::extract_type, Mesh::face_sets_color_default, Mesh::face_sets_color_seed, get_sculpt_data_format(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), mask(), blender::draw::MeshRenderData::mesh, blender::threading::parallel_for(), BMesh::pdata, and BMesh::vdata.
| gpu::VertBufPtr blender::draw::extract_sculpt_data_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 106 of file extract_mesh_vbo_sculpt_data.cc.
References Geometry::attributes, BKE_paint_face_set_overlay_color_get(), copy_v3_v3_uchar(), blender::gpu::VertBuf::data(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_interp_custom_data(), extract_sculpt_data_subdiv(), blender::bke::Face, Mesh::face_sets_color_default, Mesh::face_sets_color_seed, blender::MutableSpan< T >::fill(), blender::array_utils::gather(), get_sculpt_data_format(), GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_calloc(), GPU_vertbuf_create_on_device(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_build_on_device(), GPU_vertbuf_init_with_format, GPU_vertformat_attr_add(), i, blender::bke::AttributeAccessor::lookup(), mask(), blender::draw::MeshRenderData::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::threading::parallel_for(), blender::bke::Point, 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 37 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, count, i, and indices.
| gpu::VertBufPtr blender::draw::extract_skin_roots | ( | const MeshRenderData & | mr | ) |
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(), MVertSkin::flag, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_attr_add(), MVERT_SKIN_ROOT, MVertSkin::radius, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), and BMesh::vdata.
|
static |
Definition at line 25 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(), BMesh, CD_ORCO, CD_PROP_FLOAT2, CD_TANGENT, blender::draw::MeshBatchCache::cd_used, BMVert::co, Mesh::corner_data, blender::draw::MeshRenderData::corner_normals, 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::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(), i, blender::Span< T >::is_empty(), BMesh::ldata, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, blender::draw::MeshRenderData::mesh, blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize(), blender::draw::MeshRenderData::sharp_faces, 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().
| gpu::VertBufPtr blender::draw::extract_tangents | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache, | ||
| bool | use_hq ) |
Definition at line 162 of file extract_mesh_vbo_tan.cc.
References CD_TANGENT, blender::gpu::convert_normal(), blender::draw::MeshRenderData::corners_num, CustomData_free(), CustomData_get_layer_n(), CustomData_get_layer_named(), data, extract_tan_init_common(), GPU_COMP_I10, GPU_COMP_I16, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), i, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, and blender::gpu::PackedNormal::w.
| gpu::VertBufPtr blender::draw::extract_tangents_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache ) |
Definition at line 245 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, draw_subdiv_interp_custom_data(), extract_tan_init_common(), get_coarse_tan_format(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_USAGE_DYNAMIC, GPU_vertbuf_calloc(), GPU_vertbuf_create_on_device(), GPU_vertbuf_data_alloc(), GPU_vertbuf_discard(), GPU_vertbuf_init_with_format_ex(), GPU_vertbuf_tag_dirty(), i, MAX_CUSTOMDATA_LAYER_NAME, MAX_MTFACE, and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by mesh_buffer_cache_create_requested_subdiv().
| gpu::IndexBufPtr blender::draw::extract_tris | ( | const MeshRenderData & | mr, |
| const SortedFaceData & | face_sorted ) |
Definition at line 111 of file extract_mesh_ibo_tris.cc.
References extract_tris(), extract_tris_bmesh(), extract_tris_mesh(), blender::draw::MeshRenderData::extract_type, and Mesh.
Referenced by extract_tris().
|
static |
Definition at line 60 of file extract_mesh_ibo_tris.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::corners_num, data, 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, blender::threading::parallel_for(), and blender::draw::SortedFaceData::visible_tris_num.
Referenced by extract_tris(), and extract_tris_bmesh().
|
static |
Definition at line 21 of file extract_mesh_ibo_tris.cc.
References BLI_assert, blender::Span< T >::cast(), blender::draw::MeshRenderData::corners_num, data, blender::draw::SortedFaceData::face_tri_offsets, blender::draw::MeshRenderData::faces, faces, GPU_indexbuf_build_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().
| gpu::IndexBufPtr blender::draw::extract_tris_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| MeshBatchCache & | cache ) |
Definition at line 119 of file extract_mesh_ibo_tris.cc.
References draw_subdiv_build_tris_buffer(), extract_tris_subdiv(), GPU_indexbuf_build_on_device(), GPU_indexbuf_create_subrange(), i, Array< T, InlineBufferCapacity, Allocator >::is_empty(), 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().
| gpu::VertBufPtr blender::draw::extract_uv_maps | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache ) |
Definition at line 82 of file extract_mesh_vbo_uv.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::draw::MeshRenderData::bm, BMesh, blender::draw::MeshBatchCache::cd_used, Mesh::corner_data, blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), i, BMesh::ldata, MAX_MTFACE, blender::threading::memory_bandwidth_bound_task(), blender::draw::MeshRenderData::mesh, mesh_extract_uv_format_init(), blender::MutableSpan< T >::size_in_bytes(), and blender::draw::DRW_MeshCDMask::uv.
| gpu::VertBufPtr blender::draw::extract_uv_maps_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshBatchCache & | cache ) |
Definition at line 138 of file extract_mesh_vbo_uv.cc.
References Mesh::corner_data, draw_subdiv_extract_uvs(), extract_uv_maps_subdiv(), GPU_vertbuf_create_on_device(), i, MAX_MTFACE, Mesh, blender::draw::DRWSubdivCache::mesh, mesh_extract_uv_format_init(), and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_uv_maps_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 75 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(), BMLoop::next, BMLoop::prev, and BMLoop::v.
Referenced by extract_edituv_stretch_angle().
|
static |
Definition at line 133 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References Geometry::attributes, CD_PROP_FLOAT2, compute_normalize_edge_vectors(), copy_v2_v2(), copy_v3_v3(), blender::bke::Corner, Mesh::corner_data, blender::draw::MeshRenderData::corner_verts, CustomData_get_active_layer_name(), edituv_get_edituv_stretch_angle(), blender::draw::MeshRenderData::faces, faces, blender::bke::AttributeAccessor::lookup(), blender::draw::MeshRenderData::mesh, blender::IndexRange::size(), blender::IndexRange::start(), and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_edituv_stretch_angle().
|
static |
Definition at line 205 of file extract_mesh_vbo_select_idx.cc.
References blender::array_utils::copy(), data, blender::draw::MeshRenderData::edges, extract_vert_idx_loose_geom_subdiv(), blender::array_utils::gather(), i, 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().
| gpu::VertBufPtr blender::draw::extract_vert_index | ( | const MeshRenderData & | mr | ) |
Definition at line 87 of file extract_mesh_vbo_select_idx.cc.
References blender::draw::MeshRenderData::corners_num, create_vbo(), blender::draw::MeshRenderData::extract_type, extract_vert_index(), extract_vert_index_bm(), extract_vert_index_mesh(), blender::draw::MeshRenderData::loose_indices_num, and Mesh.
Referenced by extract_vert_index().
|
static |
Definition at line 56 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::threading::parallel_for(), Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_vert_index(), and extract_vert_index_bm().
|
static |
Definition at line 30 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(), 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().
| gpu::VertBufPtr blender::draw::extract_vert_index_subdiv | ( | const DRWSubdivCache & | subdiv_cache, |
| const MeshRenderData & | mr ) |
Definition at line 235 of file extract_mesh_vbo_select_idx.cc.
References blender::gpu::VertBuf::data(), blender::MutableSpan< T >::data(), draw_subdiv_init_origindex_buffer(), extract_vert_idx_loose_geom_subdiv(), extract_vert_index_subdiv(), i, 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().
| gpu::VertBufPtr blender::draw::extract_vert_normals | ( | const MeshRenderData & | mr | ) |
Definition at line 73 of file extract_mesh_vbo_vnor.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::draw::MeshRenderData::loose_indices_num, and Mesh.
Referenced by extract_normals_mesh(), and extract_vert_normals().
|
static |
Definition at line 20 of file extract_mesh_vbo_lnor.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), blender::gpu::convert_normals(), blender::array_utils::gather(), normals, and blender::Span< T >::size().
|
static |
Definition at line 33 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(), Span< T >::size(), blender::MutableSpan< T >::slice(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
|
static |
Definition at line 142 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::bm_free_normal_offset_vert, extract_vert_normals_bm(), normals, and blender::threading::parallel_for().
Referenced by extract_normals_bm(), extract_vert_normals(), and extract_vert_normals_bm().
|
static |
Definition at line 17 of file extract_mesh_vbo_vnor.cc.
References blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Array< T, InlineBufferCapacity, Allocator >::as_span(), 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(), 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 111 of file extract_mesh_vbo_pos.cc.
References extract_vertex_flags(), flag, blender::draw::MeshRenderData::hide_vert, i, 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().
| gpu::VertBufPtr blender::draw::extract_weights | ( | const MeshRenderData & | mr, |
| const MeshBatchCache & | cache ) |
Definition at line 116 of file extract_mesh_vbo_weights.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::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_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), Mesh, OB_DRAW_GROUPUSER_NONE, and blender::draw::MeshBatchCache::weight_state.
Referenced by extract_weights(), and extract_weights_subdiv().
|
static |
Definition at line 90 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, and blender::threading::parallel_for().
Referenced by extract_weights(), and extract_weights_bm().
|
static |
Definition at line 70 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().
| gpu::VertBufPtr blender::draw::extract_weights_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache ) |
Definition at line 140 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_create_on_device(), GPU_vertformat_from_attribute(), and blender::draw::DRWSubdivCache::num_subdiv_loops.
Referenced by extract_weights_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 640 of file draw_cache_impl_curves.cc.
References fill_curve_offsets_vbos(), GPU_vertbuf_raw_step(), i, blender::offset_indices::OffsetIndices< T >::index_range(), blender::IndexRange::size(), and blender::IndexRange::start().
Referenced by create_curve_offsets_vbos(), and fill_curve_offsets_vbos().
|
static |
Definition at line 41 of file extract_mesh_ibo_lines.cc.
References data, and blender::threading::memory_bandwidth_bound_task().
Referenced by extract_lines_bm(), and extract_lines_mesh().
|
static |
Definition at line 203 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 192 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, and DRW_curves_batch_cache_validate().
Referenced by curves_ensure_procedural_data(), DRW_curves_batch_cache_create_requested(), 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 132 of file draw_sculpt.cc.
References bm, blender::bke::Corner, blender::bke::Face, and blender::bke::Point.
Referenced by bmesh_attribute_exists().
|
static |
Definition at line 238 of file extract_mesh_vbo_tan.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_from_attribute().
Referenced by extract_tangents_subdiv().
|
static |
Definition at line 100 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 929 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 211 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 24 of file extract_mesh_vbo_fdots_pos.cc.
References GPU_COMP_F32, GPU_FETCH_FLOAT, and GPU_vertformat_from_attribute().
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_from_attribute().
Referenced by extract_face_dots_position(), and extract_face_dots_subdiv().
|
static |
Definition at line 89 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 115 of file draw_cache_impl_subdivision.cc.
References GPU_COMP_I32, GPU_FETCH_INT, and GPU_vertformat_attr_add().
Referenced by draw_subdiv_init_origindex_buffer().
|
static |
Definition at line 21 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 359 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().
|
static |
Definition at line 150 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 180 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 131 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 232 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 122 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 482 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 105 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 695 of file draw_cache_impl_grease_pencil.cc.
References blender::MutableSpan< T >::as_span(), 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::IndexRange::first(), blender::array_utils::gather(), GPU_batch_create, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_COMP_U32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), 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_use(), GPU_vertformat_from_attribute(), 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::IndexRange::last(), blender::index_mask::masked_fill(), blender::threading::parallel_for(), blender::bke::Point, 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(), blender::MutableSpan< T >::slice(), blender::offset_indices::sum_group_sizes(), and blender::bke::greasepencil::Layer::to_object_space().
Referenced by DRW_cache_grease_pencil_edit_lines_get(), and DRW_cache_grease_pencil_edit_points_get().
|
static |
Definition at line 1078 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(), i, blender::draw::GreasePencilBatchCache::ibo, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::math::invert(), is_cyclic(), blender::draw::GreasePencilBatchCache::is_dirty, blender::MutableSpan< T >::last(), blender::ed::greasepencil::DrawingInfo::layer_index, blender::bke::AttributeAccessor::lookup_or_default(), 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::index_mask::IndexMask::size(), blender::IndexRange::size(), blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), blender::bke::greasepencil::Drawing::strokes(), blender::bke::greasepencil::Drawing::texture_matrices(), blender::bke::greasepencil::Layer::to_object_space(), 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 462 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_NURBS, blender::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_editable_strokes(), blender::bke::greasepencil::Drawing::strokes(), and types.
Referenced by grease_pencil_edit_batch_ensure(), and index_buf_add_line_points().
|
static |
Definition at line 440 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_NURBS, blender::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), blender::bke::greasepencil::Drawing::strokes(), and types.
Referenced by grease_pencil_cache_add_nurbs(), and index_buf_add_nurbs_lines().
|
static |
Definition at line 411 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::contains(), CURVE_TYPE_NURBS, blender::IndexMask::from_predicate(), blender::ed::greasepencil::retrieve_editable_and_selected_strokes(), blender::bke::greasepencil::Drawing::strokes(), and types.
Referenced by grease_pencil_cache_add_nurbs(), and grease_pencil_edit_batch_ensure().
|
static |
Definition at line 87 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 240 of file draw_cache_impl_grease_pencil.cc.
References 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::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), GPU_batch_create, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), 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_use(), GPU_vertformat_from_attribute(), 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::gpu::RESTART_INDEX, blender::ed::greasepencil::retrieve_visible_drawings(), blender::ed::greasepencil::retrieve_visible_strokes(), GreasePencil::runtime, blender::index_mask::IndexMask::size(), blender::MutableSpan< T >::slice(), blender::offset_indices::sum_group_sizes(), blender::bke::greasepencil::Layer::to_object_space(), 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 1354 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(), indices, 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::IndexRange::size(), and blender::draw::GreasePencilBatchCache::vbo.
Referenced by DRW_cache_grease_pencil_face_wireframe_get().
| void blender::draw::hair_init | ( | ) |
Hair.
|
static |
Definition at line 134 of file draw_hair.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), DRWData::curves_module, DRWContext::data, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), drw_get(), DRW_shader_hair_refine_get(), ParticleHairCache::final, GPU_max_work_group_count(), module, 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 179 of file draw_hair.cc.
References ParticleHairCache::final, hair_particle_cache_get(), RenderData::hair_subdiv, RenderData::hair_type, ParticleHairFinalCache::proc_buf, Scene::r, and SCE_HAIR_SHAPE_STRAND.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| blender::gpu::Batch * blender::draw::hair_sub_pass_setup | ( | PassMain::Sub & | sub_ps, |
| const Scene * | scene, | ||
| const ObjectRef & | ob_ref, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 267 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, | ||
| const ObjectRef & | ob_ref, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| GPUMaterial * | gpu_material ) |
NOTE: This still relies on the old DRW_hair implementation.
Definition at line 194 of file draw_hair.cc.
References ParticleHairCache::col_layer_names, ParticleHairCache::col_tex, DRWData::curves_module, DRWContext::data, drw_get(), DRW_hair_duplimat_get(), drw_hair_particle_cache_get(), ParticleHairCache::final, GPU_material_attributes(), RenderData::hair_subdiv, RenderData::hair_type, i, MAX_LAYER_NAME_CT, module, ParticleHairCache::num_col_layers, ParticleHairCache::num_uv_layers, blender::draw::ObjectRef::object, ParticleSystem::part, PART_SHAPE_CLOSE_TIP, ParticleHairFinalCache::proc_buf, ParticleHairFinalCache::proc_hairs, ParticleHairCache::proc_length_buf, blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), Scene::r, ParticleSettings::rad_root, ParticleSettings::rad_scale, ParticleSettings::rad_tip, SCE_HAIR_SHAPE_STRAND, ParticleSettings::shape, ParticleSettings::shape_flag, ParticleHairFinalCache::strands_res, ParticleHairCache::uv_layer_names, and ParticleHairCache::uv_tex.
Referenced by hair_sub_pass_setup().
|
static |
Definition at line 272 of file draw_cache_impl_curves.cc.
References handle_range_left(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), create_edit_points_selection(), and handle_range_left().
|
static |
Definition at line 277 of file draw_cache_impl_curves.cc.
References handle_range_right(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), create_edit_points_selection(), and handle_range_right().
|
static |
Definition at line 267 of file draw_cache_impl_curves.cc.
References handles_and_points_num(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), create_edit_points_selection(), and handles_and_points_num().
|
static |
Definition at line 661 of file draw_cache_impl_grease_pencil.cc.
References 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 601 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::index_range(), blender::index_mask::IndexMask::is_empty(), blender::gpu::RESTART_INDEX, 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 529 of file draw_cache_impl_grease_pencil.cc.
References blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), grease_pencil_get_visible_non_nurbs_curves(), is_cyclic(), blender::gpu::RESTART_INDEX, and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 567 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), grease_pencil_get_visible_nurbs_curves(), blender::IndexRange::index_range(), blender::index_mask::IndexMask::is_empty(), blender::gpu::RESTART_INDEX, blender::IndexRange::size(), and blender::bke::greasepencil::Drawing::strokes().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 631 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), 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 data, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, and mask().
|
static |
Definition at line 430 of file draw_cache_impl_pointcloud.cc.
References data, GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_POINTS, index_mask_to_ibo(), and mask().
Referenced by build_edit_selection_indices(), extract_face_dots_bm(), extract_face_dots_mesh(), and index_mask_to_ibo().
|
static |
Definition at line 112 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, blender::draw::CurvesBatchCache::eval_cache, and blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_curves_batch_cache_validate().
|
static |
Definition at line 287 of file extract_mesh_vbo_attributes.cc.
References GPU_USAGE_STATIC, GPU_vertbuf_calloc(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format_ex(), init_coarse_data(), and init_format_for_attribute().
Referenced by extract_attribute_subdiv(), and init_coarse_data().
|
static |
Definition at line 1110 of file draw_cache_impl_mesh.cc.
References batch, GPU_batch_vertbuf_add(), GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertbuf_data_len_set(), and GPU_vertformat_attr_add().
Referenced by DRW_mesh_batch_cache_create_requested().
| GPUVertFormat blender::draw::init_format_for_attribute | ( | const eCustomDataType | data_type, |
| const StringRef | vbo_name ) |
Definition at line 19 of file attribute_convert.cc.
References blender::bke::attribute_math::convert_to_static_type(), GPU_vertformat_attr_add(), and T.
Referenced by blender::draw::pbvh::attribute_format(), init_coarse_data(), and init_vbo_for_attribute().
|
static |
Definition at line 29 of file extract_mesh_vbo_attributes.cc.
References blender::draw::MeshRenderData::active_color_name, 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, and SNPRINTF.
Referenced by extract_attribute(), and extract_attribute_subdiv().
|
static |
Definition at line 297 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 408 of file draw_cache_impl_lattice.cc.
References blender::draw::LatticeRenderData::actbp, attr_id, data, BPoint::f1, GPU_batch_create_ex(), GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_COMP_U32, 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(), i, 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 273 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 357 of file draw_cache_impl_lattice.cc.
References BLI_assert, data, blender::draw::LatticeRenderData::dims, blender::draw::LatticeBatchCache::edges, ELEM, GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), 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, 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 319 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(), i, 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 243 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 217 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 115 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 179 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 163 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 185 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 173 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().
|
static |
Definition at line 69 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().
|
static |
Definition at line 51 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 59 of file extract_mesh_ibo_lines_adjacency.cc.
References abs, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_or_modify(), e, GPU_indexbuf_add_line_adj_verts(), NO_EDGE, and rotate_vector().
Referenced by calc_adjacency_bm(), calc_adjacency_mesh(), and extract_lines_adjacency_subdiv().
|
static |
Definition at line 183 of file extract_mesh_vbo_attributes.cc.
References bm, blender::bke::Corner, blender::bke::Edge, blender::bke::Face, lookup_bmesh_attribute(), and blender::bke::Point.
Referenced by extract_attribute(), extract_attribute_subdiv(), and lookup_bmesh_attribute().
| BLI_INLINE void blender::draw::mesh_batch_cache_add_request | ( | MeshBatchCache & | cache, |
| DRWBatchFlag | new_flag ) |
Definition at line 443 of file draw_cache_impl_mesh.cc.
References atomic_fetch_and_or_uint32(), blender::draw::MeshBatchCache::batch_requested, and BLI_INLINE.
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_edituv_wireframe(), 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_faces(), DRW_mesh_batch_cache_get_uv_wireframe(), 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 520 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, MBC_SURFACE_WEIGHTS, blender::draw::MeshBatchList::surface_weights, VertexGroupWeight, and blender::draw::MeshBatchCache::weight_state.
Referenced by DRW_mesh_batch_cache_create_requested().
|
static |
Definition at line 643 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, i, Array< T, InlineBufferCapacity, Allocator >::index_range(), 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 556 of file draw_cache_impl_mesh.cc.
References discard_buffers(), Orco, Tangents, and UVs.
Referenced by DRW_mesh_batch_cache_dirty_tag(), DRW_mesh_batch_cache_free_old(), and mesh_batch_cache_clear().
|
static |
Definition at line 561 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::cd_used, discard_buffers(), blender::draw::DRW_MeshCDMask::edit_uv, EditUVData, EditUVFaceDots, EditUVLines, EditUVPoints, EditUVStretchAngle, EditUVStretchArea, EditUVTris, FaceDotEditUVData, FaceDotUV, blender::draw::MeshBatchCache::tot_area, blender::draw::MeshBatchCache::tot_uv_area, blender::draw::DRW_MeshCDMask::uv, and UVs.
Referenced by DRW_mesh_batch_cache_dirty_tag(), and mesh_batch_cache_clear().
|
static |
Definition at line 581 of file draw_cache_impl_mesh.cc.
References discard_buffers(), EditUVData, EditUVFaceDots, EditUVLines, EditUVPoints, EditUVTris, and FaceDotEditUVData.
Referenced by DRW_mesh_batch_cache_dirty_tag().
|
static |
Definition at line 411 of file draw_cache_impl_subdivision.cc.
References blender::draw::MeshBatchCache::subdiv_cache.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 634 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 515 of file draw_cache_impl_mesh.cc.
References Mesh::runtime.
Referenced by 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_edituv_wireframe(), 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_faces(), DRW_mesh_batch_cache_get_uv_wireframe(), DRW_mesh_batch_cache_get_verts_with_select_id(), and DRW_mesh_batch_cache_get_wireframes_face().
|
static |
Definition at line 475 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch_ready, blender::draw::MeshBatchCache::batch_requested, BKE_id_material_used_with_fallback_eval(), drw_mesh_weight_state_clear(), Mesh::id, blender::draw::MeshBatchCache::is_dirty, blender::draw::MeshBatchCache::is_editmode, blender::draw::MeshBatchCache::mat_len, Array< T, InlineBufferCapacity, Allocator >::reinitialize(), Mesh::runtime, 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 535 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, DRW_batch_request(), i, blender::draw::MeshBatchCache::mat_len, MBC_SURFACE, MBC_SURFACE_PER_MAT, 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(), and DRW_mesh_batch_cache_get_surface_vertpaint().
|
static |
Definition at line 450 of file draw_cache_impl_mesh.cc.
References BKE_id_material_used_with_fallback_eval(), Mesh::id, blender::draw::MeshBatchCache::is_dirty, blender::draw::MeshBatchCache::is_editmode, blender::draw::MeshBatchCache::mat_len, and Mesh::runtime.
Referenced by DRW_mesh_batch_cache_validate().
|
static |
Definition at line 625 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBufferCache::buff, blender::draw::MeshBufferCache::face_sorted, blender::draw::MeshBufferList::ibos, blender::draw::MeshBufferCache::loose_geom, and blender::draw::MeshBufferList::vbos.
Referenced by mesh_batch_cache_clear().
| void blender::draw::mesh_buffer_cache_create_requested | ( | TaskGraph & | task_graph, |
| const Scene & | scene, | ||
| MeshBatchCache & | cache, | ||
| MeshBufferCache & | mbc, | ||
| Span< IBOType > | ibo_requests, | ||
| Span< VBOType > | vbo_requests, | ||
| Object & | object, | ||
| Mesh & | mesh, | ||
| bool | is_editmode, | ||
| bool | is_paint_mode, | ||
| bool | do_final, | ||
| bool | do_uvedit, | ||
| bool | use_hide ) |
Definition at line 103 of file draw_cache_extract_mesh.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::draw::MeshBufferCache::buff, buffers, ensure_dependency_data(), extract_lines(), i, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Span< T >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), Lines, LinesLoose, blender::draw::MeshRenderData::mesh, mesh_render_data_create(), blender::draw::MeshBatchCache::no_loose_wire, blender::threading::parallel_for_each(), Mesh::runtime, SCOPED_TIMER, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), Scene::toolsettings, use_normals_simplify(), 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, | ||
| Span< IBOType > | ibo_requests, | ||
| Span< VBOType > | vbo_requests, | ||
| DRWSubdivCache & | subdiv_cache, | ||
| MeshRenderData & | mr ) |
Definition at line 322 of file draw_cache_extract_mesh.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), Attr0, blender::draw::MeshBatchCache::attr_used, blender::draw::MeshBufferCache::buff, buffers, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), CornerNormal, DRW_subdivide_loose_geom(), EdgeFactor, EditData, EditUVData, EditUVLines, EditUVPoints, EditUVStretchAngle, EditUVStretchArea, EditUVTris, extract_attribute_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(), FaceDotNormal, FaceDotPosition, FaceDots, GPU_MAX_ATTR, i, IndexEdge, IndexFace, IndexVert, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::is_empty(), blender::Span< T >::is_empty(), blender::draw::MeshBatchCache::is_manifold, Lines, LinesAdjacency, LinesLoose, LinesPaintMask, mesh_buffer_cache_create_requested_subdiv(), mesh_render_data_update_corner_normals(), mesh_render_data_update_loose_geom(), blender::draw::MeshBatchCache::no_loose_wire, Orco, Points, Position, SculptData, Tangents, blender::draw::MeshBatchCache::tot_area, blender::draw::MeshBatchCache::tot_uv_area, Tris, UVLines, UVs, and VertexGroupWeight.
Referenced by draw_subdiv_create_requested_buffers(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 167 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 155 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 150 of file draw_cache_impl_mesh.cc.
References blender::draw::DRW_MeshCDMask::edit_uv.
Referenced by edituv_request_active_uv().
|
static |
Definition at line 179 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_INT16_2D, 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(), blender::StringRefBase::is_empty(), 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 404 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, Mesh::edge_data, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, mesh_cd_edata_get_from_mesh(), and Mesh::runtime.
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 145 of file draw_cache_impl_mesh.cc.
References BLI_INLINE.
Referenced by DRW_mesh_batch_cache_create_requested(), DRW_mesh_batch_cache_free_old(), edituv_request_active_uv(), 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 133 of file draw_cache_impl_mesh.cc.
References b, and BLI_INLINE.
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 138 of file draw_cache_impl_mesh.cc.
References atomic_fetch_and_or_uint32(), b, and BLI_INLINE.
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 128 of file draw_cache_impl_mesh.cc.
References b, and BLI_INLINE.
Referenced by DRW_mesh_batch_cache_create_requested().
| const CustomData & blender::draw::mesh_cd_ldata_get_from_mesh | ( | const Mesh & | mesh | ) |
Definition at line 372 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, Mesh::corner_data, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, mesh_cd_ldata_get_from_mesh(), and Mesh::runtime.
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 388 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, Mesh::face_data, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, mesh_cd_pdata_get_from_mesh(), and Mesh::runtime.
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 420 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, mesh_cd_vdata_get_from_mesh(), Mesh::runtime, and Mesh::vert_data.
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 22 of file extract_mesh_vbo_uv.cc.
References BMesh, 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(), i, MAX_MTFACE, SNPRINTF, and blender::draw::DRW_MeshCDMask::uv.
Referenced by extract_uv_maps(), and extract_uv_maps_subdiv().
|
static |
Definition at line 274 of file draw_cache_extract_mesh_render_data.cc.
References blender::IndexRange::begin(), blender::IndexRange::end(), i, blender::offset_indices::OffsetIndices< T >::index_range(), and mesh_is_single_material().
Referenced by calc_face_tri_starts_mesh(), and mesh_is_single_material().
| MeshRenderData blender::draw::mesh_render_data_create | ( | Object & | object, |
| Mesh & | mesh, | ||
| bool | is_editmode, | ||
| bool | is_paint_mode, | ||
| 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 543 of file draw_cache_extract_mesh_render_data.cc.
References Geometry::attributes, BKE_editmesh_cache_ensure_face_normals(), BKE_editmesh_cache_ensure_vert_normals(), BKE_object_get_pre_modified_mesh(), BKE_object_material_used_with_fallback_eval(), blender::draw::MeshRenderData::bm, bm, BM_EDGE, BM_FACE, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_free_normal_offset_corner, blender::draw::MeshRenderData::bm_free_normal_offset_face, blender::draw::MeshRenderData::bm_free_normal_offset_vert, 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, blender::draw::MeshRenderData::bm_vert_coords, blender::draw::MeshRenderData::bm_vert_normals, BMesh, bmesh_normals_domain(), blender::draw::MeshRenderData::bweight_ofs, CD_FREESTYLE_EDGE, CD_FREESTYLE_FACE, CD_ORIGINDEX, CD_PROP_FLOAT, CD_PROP_FLOAT3, blender::draw::MeshRenderData::corner_edges, blender::draw::MeshRenderData::corner_tris_num, blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, Mesh::corners_num, CustomData_get_layer(), CustomData_get_offset(), CustomData_get_offset_named(), DRW_object_get_editmesh_cage_for_drawing(), BMesh::edata, EDBM_uv_active_face_get(), blender::bke::Edge, blender::draw::MeshRenderData::edge_crease_ofs, Mesh::edge_data, blender::draw::MeshRenderData::edges, blender::draw::MeshRenderData::edges_num, Mesh::edges_num, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::edit_data, blender::draw::MeshRenderData::eed_act, blender::draw::MeshRenderData::efa_act, blender::draw::MeshRenderData::efa_act_uv, blender::draw::MeshRenderData::eve_act, blender::draw::MeshRenderData::extract_type, blender::bke::Face, Mesh::face_data, blender::draw::MeshRenderData::faces, blender::draw::MeshRenderData::faces_num, Mesh::faces_num, blender::draw::MeshRenderData::freestyle_edge_ofs, blender::draw::MeshRenderData::freestyle_face_ofs, blender::draw::MeshRenderData::hide_edge, blender::draw::MeshRenderData::hide_poly, blender::draw::MeshRenderData::hide_unmapped_edges, blender::draw::MeshRenderData::hide_vert, BMesh::ldata, blender::bke::AttributeAccessor::lookup(), blender::draw::MeshRenderData::material_indices, blender::draw::MeshRenderData::materials_num, ME_WRAPPER_TYPE_BMESH, Mesh, blender::draw::MeshRenderData::mesh, mesh_render_data_create(), blender::draw::MeshRenderData::normals_domain, blender::draw::MeshRenderData::orig_index_edge, blender::draw::MeshRenderData::orig_index_face, blender::draw::MeshRenderData::orig_index_vert, BMesh::pdata, blender::bke::Point, poly_to_tri_count(), retrieve_active_attribute_names(), Mesh::runtime, blender::draw::MeshRenderData::select_edge, blender::draw::MeshRenderData::select_poly, blender::draw::MeshRenderData::select_vert, blender::draw::MeshRenderData::sharp_faces, blender::draw::MeshRenderData::toolsettings, blender::draw::MeshRenderData::use_hide, BMesh::vdata, blender::draw::MeshRenderData::vert_crease_ofs, Mesh::vert_data, blender::bke::EditMeshData::vert_positions, blender::draw::MeshRenderData::vert_positions, blender::draw::MeshRenderData::verts_num, and Mesh::verts_num.
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, 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 25 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 325 of file draw_cache_extract_mesh_render_data.cc.
References blender::offset_indices::accumulate_counts_to_offsets(), blender::Array< T, InlineBufferCapacity, Allocator >::as_mutable_span(), BMesh, 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(), 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 346 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_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 71 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 55 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 97 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, i, BMEdge::l, 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 120 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::bm, bm, blender::draw::MeshRenderData::extract_type, Mesh, mesh_render_data_loose_edges_bm(), mesh_render_data_loose_geom_build(), mesh_render_data_loose_geom_mesh(), and mesh_render_data_loose_verts_bm().
Referenced by mesh_render_data_loose_geom_build(), and mesh_render_data_loose_geom_ensure().
|
static |
Definition at line 132 of file draw_cache_extract_mesh_render_data.cc.
References 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 49 of file draw_cache_extract_mesh_render_data.cc.
References Mesh::edges_num, blender::draw::MeshRenderData::mesh, blender::threading::parallel_invoke(), and Mesh::runtime.
Referenced by mesh_render_data_loose_geom_build().
|
static |
Definition at line 74 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, i, 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 226 of file draw_cache_extract_mesh_render_data.cc.
References accumululate_material_counts_bm(), accumululate_material_counts_mesh(), blender::draw::MeshRenderData::bm, BMesh, blender::draw::MeshRenderData::extract_type, i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), blender::draw::MeshRenderData::materials_num, and mesh_render_data_mat_tri_len_build().
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 494 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::bm, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_free_normal_offset_corner, blender::draw::MeshRenderData::bm_free_normal_offset_face, blender::draw::MeshRenderData::bm_free_normal_offset_vert, blender::draw::MeshRenderData::bm_loop_normals, BM_loops_calc_normal_vcos(), blender::draw::MeshRenderData::bm_vert_coords, blender::draw::MeshRenderData::bm_vert_normals, CD_PROP_INT16_2D, blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corners_num, CustomData_get_offset_named(), blender::draw::MeshRenderData::extract_type, BMesh::ldata, Mesh, blender::draw::MeshRenderData::mesh, and mesh_render_data_update_corner_normals().
Referenced by ensure_dependency_data(), mesh_buffer_cache_create_requested_subdiv(), and mesh_render_data_update_corner_normals().
| void blender::draw::mesh_render_data_update_face_normals | ( | MeshRenderData & | mr | ) |
Definition at line 523 of file draw_cache_extract_mesh_render_data.cc.
References blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, Mesh, blender::draw::MeshRenderData::mesh, and mesh_render_data_update_face_normals().
Referenced by ensure_dependency_data(), and mesh_render_data_update_face_normals().
| void blender::draw::mesh_render_data_update_loose_geom | ( | MeshRenderData & | mr, |
| MeshBufferCache & | cache ) |
Definition at line 142 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(), Array< T, InlineBufferCapacity, Allocator >::size(), and blender::draw::MeshExtractLooseGeom::verts.
Referenced by ensure_dependency_data(), mesh_buffer_cache_create_requested_subdiv(), 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, 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.
| BLI_INLINE float blender::draw::overhang_remap | ( | float | fac, |
| float | min, | ||
| float | max, | ||
| float | minmax_irange ) |
Definition at line 40 of file extract_mesh_vbo_mesh_analysis.cc.
References BLI_INLINE, CLAMP, blender::math::max(), and blender::math::min().
Referenced by statvis_calc_overhang().
| BLI_INLINE int32_t blender::draw::pack_rotation_aspect_hardness | ( | float | rot, |
| float | asp, | ||
| float | softness ) |
Definition at line 199 of file draw_cache_impl_grease_pencil.cc.
References BLI_INLINE, cosf, packed, rot, and unit_float_to_uchar_clamp().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 210 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 175 of file draw_cache_impl_particles.cc.
References ParticleHairCache::col_layer_names, ParticleHairCache::col_tex, ParticleHairCache::final, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_TEXTURE_FREE_SAFE, GPU_VERTBUF_DISCARD_SAFE, ParticleHairCache::hairs, i, 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 169 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 1605 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, PTCacheEditPoint::flag, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), PTCacheEditPoint::keys, PEK_SELECT, PEP_HIDE, PTCacheEdit::points, PTCacheEditPoint::totkey, PTCacheEdit::totpoint, and PTCacheEditKey::world_co.
Referenced by DRW_particles_batch_cache_get_edit_inner_points().
|
static |
Definition at line 1534 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 1664 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, PTCacheEditPoint::flag, GPU_vertbuf_attr_set(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), PTCacheEditPoint::keys, PEK_SELECT, PEP_HIDE, PTCacheEdit::points, PTCacheEditPoint::totkey, PTCacheEdit::totpoint, and PTCacheEditKey::world_co.
Referenced by DRW_particles_batch_cache_get_edit_tip_points().
|
static |
Definition at line 1368 of file draw_cache_impl_particles.cc.
References ParticleSettings::color_vec_max, DEG_get_ctime(), DRWContext::depsgraph, ParticleSimulationData::depsgraph, ParticleSettings::draw_col, DRW_context_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(), i, 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(), DRWContext::scene, ParticleSimulationData::scene, state, ParticleKey::time, ParticleSystem::totpart, and ParticleKey::vel.
Referenced by DRW_particles_batch_cache_get_dots().
|
static |
Definition at line 1169 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, 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_safe_attr_name(), i, ParticleHairCache::indices, MEM_freeN(), MEM_malloc_arrayN(), 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 819 of file draw_cache_impl_particles.cc.
References ParticleHairCache::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_from_attribute(), max_ii(), ParticleHairFinalCache::proc_buf, ParticleHairCache::strands_len, and ParticleHairFinalCache::strands_res.
Referenced by particles_ensure_procedural_data().
|
static |
Definition at line 1071 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, 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_from_attribute(), 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 1120 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 839 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, 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(), i, 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 505 of file draw_cache_impl_particles.cc.
References attr_id, ParticleSystem::child, ParticleSettings::childtype, ParticleCacheKey::co, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_attr_set(), i, 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 680 of file draw_cache_impl_particles.cc.
References ParticleCacheKey::co, ParticleCacheKey::col, copy_v3_v3(), GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_raw_step(), i, 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 717 of file draw_cache_impl_particles.cc.
References GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), i, and ParticleCacheKey::segments.
Referenced by particle_batch_cache_ensure_procedural_indices().
|
static |
Definition at line 628 of file draw_cache_impl_particles.cc.
References ParticleCacheKey::co, copy_v3_v3(), GPU_vertbuf_raw_step(), i, len_v3v3(), and ParticleCacheKey::segments.
Referenced by particle_batch_cache_ensure_procedural_pos().
|
static |
Definition at line 737 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, ParticleSettings::childtype, copy_v2_v2(), GPU_vertbuf_raw_step(), i, 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 145 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 130 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 113 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 457 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, MEM_calloc_arrayN(), 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 323 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, num, 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 287 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, num, 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 414 of file draw_cache_impl_particles.cc.
References ParticleSystem::child, MEM_calloc_arrayN(), 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 387 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, 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 361 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, 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 663 of file draw_cache_impl_particles.cc.
References floorf, ParticleData::hair, interp(), ParticleData::totkey, and HairKey::weight.
Referenced by particle_batch_cache_fill_segments_edit().
Definition at line 278 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 1726 of file draw_cache_impl_particles.cc.
References ParticleSettings::draw_step, 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 drw_hair_particle_cache_get(), and hair_particle_cache_get().
|
static |
Definition at line 159 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_viewer, blender::draw::PointCloudEvalCache::dots, blender::draw::PointCloudBatchCache::edit_selection, blender::draw::PointCloudBatchCache::edit_selection_indices, blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::geom_indices, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, i, 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 96 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_batch_cache_get_edit_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 114 of file draw_cache_impl_pointcloud.cc.
References PointCloud::batch_cache, BKE_id_material_used_with_fallback_eval(), blender::draw::PointCloudBatchCache::edit_selection, blender::draw::PointCloudBatchCache::edit_selection_indices, blender::draw::PointCloudBatchCache::eval_cache, PointCloud::id, 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 101 of file draw_cache_impl_pointcloud.cc.
References BKE_id_material_used_with_fallback_eval(), blender::draw::PointCloudBatchCache::eval_cache, PointCloud::id, 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 150 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attributes_buf, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::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 304 of file draw_cache_impl_pointcloud.cc.
References Geometry::attributes, blender::draw::PointCloudEvalCache::attributes_buf, 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::bke::AttributeAccessor::lookup_or_default(), blender::bke::Point, pointcloud_extract_attribute(), PointCloud::totpoint, and blender::bke::AttributeReader< T >::varray.
Referenced by DRW_pointcloud_batch_cache_create_requested(), and pointcloud_extract_attribute().
|
static |
Definition at line 238 of file draw_cache_impl_pointcloud.cc.
References ARRAY_SIZE, data, 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 263 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_alias_add(), GPU_vertformat_attr_add(), blender::MutableSpan< T >::index_range(), blender::bke::AttributeAccessor::lookup(), blender::threading::parallel_for(), pointcloud_extract_position_and_radius(), blender::draw::PointCloudEvalCache::pos_rad, and blender::Span< T >::size().
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 339 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(), pointcloud_position_and_radius_get(), and pointcloud_sub_pass_setup_implementation().
| gpu::Batch * blender::draw::pointcloud_sub_pass_setup | ( | PassMain::Sub & | sub_ps, |
| Object * | object, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 110 of file draw_pointcloud.cc.
References pointcloud_sub_pass_setup_implementation().
Referenced by blender::draw::external::Prepass::object_sync(), blender::draw::overlay::Outline::object_sync(), blender::draw::overlay::Prepass::object_sync(), and blender::eevee::SyncModule::sync_pointcloud().
| gpu::Batch * blender::draw::pointcloud_sub_pass_setup_implementation | ( | PassT & | sub_ps, |
| Object * | object, | ||
| GPUMaterial * | gpu_material ) |
NOTE: Reusing curve attribute function.
Definition at line 69 of file draw_pointcloud.cc.
References BLI_assert, DRWContext::data, drw_curves_get_attribute_sampler_name(), drw_get(), DRW_object_get_data_for_drawing(), DRW_pointcloud_evaluated_attribute(), GPU_material_attributes(), LISTBASE_FOREACH, module, Node::name, OB_POINTCLOUD, DRWData::pointcloud_module, pointcloud_position_and_radius_get(), pointcloud_surface_get(), PointCloud::totpoint, and Object::type.
Referenced by pointcloud_sub_pass_setup().
| gpu::Batch * blender::draw::pointcloud_surface_get | ( | PointCloud * | pointcloud | ) |
Definition at line 378 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 pointcloud_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 346 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_used, blender::draw::PointCloudEvalCache::attr_used_over_time, Geometry::attributes, blender::draw::PointCloudEvalCache::attributes_buf, blender::bke::AttributeAccessor::contains(), drw_attributes_add_request(), drw_attributes_merge(), drw_attributes_overlap(), DRW_batch_request(), blender::draw::PointCloudBatchCache::eval_cache, GPU_material_attributes(), GPU_MAX_ATTR, GPU_VERTBUF_DISCARD_SAFE, i, LISTBASE_FOREACH, pointcloud_batch_cache_get(), pointcloud_surface_shaded_get(), blender::draw::PointCloudBatchCache::render_mutex, and blender::draw::PointCloudEvalCache::surface_per_mat.
Referenced by pointcloud_surface_shaded_get().
Definition at line 128 of file draw_debug.cc.
References angle(), cosf, M_PI, result, and sinf.
Referenced by drw_debug_point(), and drw_debug_sphere().
|
static |
Definition at line 108 of file extract_mesh_ibo_points.cc.
References blender::draw::MeshRenderData::bm, bm, blender::threading::parallel_for(), 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 696 of file draw_cache_impl_mesh.cc.
References Mesh::active_color_attribute, Mesh::default_color_attribute, drw_attributes_add_request(), drw_custom_data_match_attribute(), editmesh_final_or_this(), mesh_cd_ldata_get_from_mesh(), and mesh_cd_vdata_get_from_mesh().
Referenced by DRW_mesh_batch_cache_get_surface_sculpt(), and DRW_mesh_batch_cache_get_surface_vertpaint().
Definition at line 877 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalFinalCache::attr_used, blender::bke::CurvesGeometry::attributes(), blender::bke::AttributeAccessor::contains(), drw_attributes_add_request(), drw_attributes_merge(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::final, Curves::geometry, get_batch_cache(), blender::draw::CurvesBatchCache::render_mutex, and request_attribute().
Referenced by DRW_curves_texture_for_evaluated_attribute(), and request_attribute().
|
static |
Definition at line 534 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().
Definition at line 50 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 154 of file draw_sculpt.cc.
References Mesh::active_color_attribute, blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Geometry::attributes, BKE_object_get_original_mesh(), SculptSession::bm, bmesh_attribute_exists(), CD_PROP_FLOAT2, Mesh::corner_data, CustomData_get_active_layer_name(), blender::draw::pbvh::FaceSet, BMesh::ldata, blender::bke::AttributeAccessor::lookup_meta_data(), blender::draw::pbvh::Mask, blender::draw::pbvh::Normal, blender::draw::pbvh::Position, Object::sculpt, 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::Wireframe::object_sync_ex(), blender::draw::external::Prepass::sculpt_sync(), blender::draw::overlay::Prepass::sculpt_sync(), and blender::workbench::Instance::sculpt_sync().
|
static |
Definition at line 49 of file draw_sculpt.cc.
References blender::bke::pbvh::all_leaf_nodes(), BKE_object_material_count_eval(), BKE_paint_get_active_from_context(), BKE_pbvh_node_fully_hidden_get(), blender::draw::View::default_get(), DRW_context_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(), DRWContext::evil_C, blender::index_mask::IndexMask::foreach_index(), blender::draw::View::frustum_planes_get(), i, blender::Span< T >::is_empty(), blender::bke::pbvh::node_frustum_contain_aabb(), PAINT_FAST_NAVIGATE, PAINT_SCULPT_DELAY_UPDATES, blender::bke::object::pbvh_get(), pos, RegionView3D::rflag, DRWContext::rv3d, RV3D_NAVIGATING, RV3D_PAINTING, Object::sculpt, blender::bke::pbvh::search_nodes(), 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 200 of file draw_sculpt.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BLI_assert, CD_PROP_FLOAT2, Mesh::corner_data, CustomData_get_layer_index_n(), DRW_mesh_get_attributes(), DRW_object_get_data_for_drawing(), i, CustomData::layers, CustomDataLayer::name, blender::draw::pbvh::Normal, OB_MESH, blender::draw::pbvh::Position, sculpt_batches_get_ex(), Object::type, and blender::draw::DRW_MeshCDMask::uv.
Referenced by blender::eevee::SyncModule::sync_sculpt().
| BLI_INLINE float blender::draw::sharp_remap | ( | float | fac, |
| float | min, | ||
| float | , | ||
| float | minmax_irange ) |
Definition at line 465 of file extract_mesh_vbo_mesh_analysis.cc.
References BLI_INLINE, CLAMP, and blender::math::min().
Referenced by statvis_calc_sharp().
|
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 376 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, BMesh, blender::draw::MeshRenderData::corner_verts, MeshStatVis::distort_max, MeshStatVis::distort_min, distort_remap(), dot_v3v3(), blender::IndexRange::drop_front(), 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, i, BMFace::len, blender::math::max(), max_ff(), blender::math::min(), negate_v3(), BMLoop::next, BMFace::no, normal_tri_v3(), blender::IndexRange::size(), ToolSettings::statvis, blender::draw::MeshRenderData::toolsettings, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 294 of file extract_mesh_vbo_mesh_analysis.cc.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_overlap_self(), 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(), BMesh, bvh_overlap_cb(), blender::draw::MeshRenderData::corner_verts, blender::draw::MeshRenderData::corners_num, data, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::faces, i, BVHTreeOverlap::indexA, BVHTreeOverlap::indexB, BMFace::len, BMEditMesh::looptris, MEM_freeN(), blender::draw::MeshRenderData::mesh, blender::bke::BVHTreeFromMesh::tree, tree, and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_mesh_analysis().
|
static |
Definition at line 56 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, BMesh, blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, i, BMFace::len, M_PI, blender::math::max(), blender::math::min(), mul_transposed_mat3_m4_v3(), normalize_v3(), 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 479 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, BMesh, 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, blender::math::max(), max_ff(), MEM_freeN(), MEM_malloc_arrayN(), blender::math::min(), 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 129 of file extract_mesh_vbo_mesh_analysis.cc.
References BKE_bmbvh_free(), BKE_bmbvh_new_from_editmesh(), BKE_bmbvh_ray_cast(), 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(), BMesh, 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(), BVHTreeRayHit::dist, 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, i, BVHTreeRayHit::index, blender::Span< T >::index_range(), interp_v3_v3v3v3_uv(), BMFace::len, BMEditMesh::looptris, madd_v3_v3fl(), mat4_to_scale(), blender::math::max(), blender::draw::MeshRenderData::mesh, blender::math::min(), BVHTreeRayHit::no, normal_tri_v3(), blender::MatBase< T, NumCol, NumRow, Alignment >::ptr(), blender::bke::BVHTreeFromMesh::raycast_callback, blender::math::scale(), ToolSettings::statvis, MeshStatVis::thickness_max, MeshStatVis::thickness_min, thickness_remap(), MeshStatVis::thickness_samples, blender::draw::MeshRenderData::toolsettings, blender::bke::BVHTreeFromMesh::tree, 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 259 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 277 of file draw_subdivision.hh.
References blender::draw::MeshRenderData::loose_verts, blender::draw::DRWSubdivCache::num_subdiv_loops, 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 271 of file draw_subdivision.hh.
References blender::draw::MeshRenderData::loose_edges, 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 265 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 412 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(), result, and test_draw_manager_sync().
Referenced by test_draw_manager_sync().
|
static |
Definition at line 21 of file draw_pass_test.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), blender::draw::detail::PassBase< DrawCommandBufType >::clear_color_depth_stencil(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_STATE_WRITE_COLOR, DRW_STATE_WRITE_STENCIL, blender::draw::Texture::ensure_2d(), EXPECT_EQ(), fb(), blender::draw::detail::PassBase< DrawCommandBufType >::framebuffer_set(), 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::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), result, blender::draw::detail::PassBase< DrawCommandBufType >::serialize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::detail::PassBase< DrawCommandBufType >::state_set(), blender::draw::detail::PassBase< DrawCommandBufType >::state_stencil(), and blender::draw::detail::PassBase< DrawCommandBufType >::subpass_transition().
|
static |
Definition at line 210 of file draw_pass_test.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), 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(), result, blender::draw::detail::PassBase< DrawCommandBufType >::serialize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), and test_draw_pass_multi_draw().
Referenced by test_draw_pass_multi_draw().
|
static |
Definition at line 175 of file draw_pass_test.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), 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(), result, blender::draw::detail::PassBase< DrawCommandBufType >::serialize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), and test_draw_pass_simple_draw().
Referenced by test_draw_pass_simple_draw().
|
static |
Definition at line 251 of file draw_pass_test.cc.
References EXPECT_EQ(), blender::draw::PassSortable::init(), result, blender::draw::PassSortable::serialize(), blender::draw::PassSortable::sub(), and test_draw_pass_sortable().
Referenced by test_draw_pass_sortable().
|
static |
Definition at line 132 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(), result, blender::draw::detail::PassBase< DrawCommandBufType >::serialize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::detail::PassBase< DrawCommandBufType >::sub(), and test_draw_pass_sub_ordering().
Referenced by test_draw_pass_sub_ordering().
|
static |
Definition at line 275 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Framebuffer::bind(), blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_shaders_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::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::Manager::submit_debug(), test_draw_resource_id_gen(), and view.
Referenced by test_draw_resource_id_gen().
|
static |
Definition at line 503 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Framebuffer::bind(), blender::draw::Manager::compute_visibility(), blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_shaders_free(), blender::draw::Manager::end_sync(), blender::draw::Framebuffer::ensure(), blender::draw::Texture::ensure_2d(), blender::draw::Manager::generate_commands(), GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE, GPU_PRIM_TRIS, GPU_RGBA32F, GPU_SHADER_3D_UNIFORM_COLOR, GPU_shader_get_builtin_shader(), blender::MatBase< float, 4, 4 >::identity(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::math::projection::orthographic(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::Manager::submit(), blender::draw::Manager::submit_only(), blender::draw::View::sync(), test_draw_submit_only(), and view.
Referenced by test_draw_submit_only().
|
static |
Definition at line 360 of file draw_pass_test.cc.
References blender::draw::Manager::begin_sync(), blender::draw::Framebuffer::bind(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::draw_procedural(), DRW_shaders_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_RGBA16F, 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::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::Manager::submit_debug(), test_draw_visibility(), view, and blender::draw::Manager::SubmitDebugOutput::visibility.
Referenced by test_draw_visibility().
|
static |
Definition at line 1937 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(), 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, blender::Span< T >::size(), and test_eevee_lut_gen().
Referenced by test_eevee_lut_gen().
|
static |
Definition at line 739 of file eevee_test.cc.
References SHADOW_MAX_PAGE.
|
static |
Definition at line 629 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 747 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), 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, blender::eevee::ShadowTileMapClip::clip_near_stored, data, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), 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_shader_unbind(), GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::eevee::ShadowTileMapData::half_size, i, 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::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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(), test_eevee_shadow_finalize(), tile, blender::eevee::ShadowTileMapData::tiles_index, blender::eevee::ShadowStatistics::view_needed_count, blender::eevee::ShadowTileMapData::viewmat, x, and y.
Referenced by test_eevee_shadow_finalize().
|
static |
Definition at line 365 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_shader_unbind(), i, 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(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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(), test_eevee_shadow_free(), tile, and blender::eevee::ShadowTileMapData::tiles_index.
Referenced by test_eevee_shadow_free().
|
static |
Definition at line 1810 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 1563 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), 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(), GPU_shader_unbind(), i, blender::MatBase< float, 4, 4 >::identity(), blender::eevee::ShadowTileData::is_used, len, blender::eevee::LIGHT_OMNI_SPHERE, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), result, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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(), test_eevee_shadow_page_mask_ex(), tile, x, y, and blender::eevee::Z_NEG.
Referenced by test_eevee_shadow_page_mask(), and test_eevee_shadow_page_mask_ex().
|
static |
Definition at line 94 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::eevee::ShadowTileMapData::clip_data_index, blender::eevee::ShadowTileMapClip::clip_far, blender::eevee::ShadowTileMapClip::clip_far_stored, blender::eevee::ShadowTileMapClip::clip_near, blender::eevee::ShadowTileMapClip::clip_near_stored, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), do_update, DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_shader_unbind(), 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::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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(), test_eevee_shadow_shift(), tile, blender::eevee::ShadowTileMapData::tiles_index, x, and y.
Referenced by test_eevee_shadow_shift().
|
static |
Definition at line 23 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), do_update, DRW_shaders_free(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_render_begin(), GPU_render_end(), GPU_shader_create_from_info_name(), GPU_shader_free(), GPU_shader_unbind(), 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::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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 193 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::Manager::begin_sync(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::Manager::bounds_buf, blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), 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(), GPU_shader_unbind(), i, blender::MatBase< float, 4, 4 >::identity(), blender::math::QuaternionBase< float >::identity(), len, blender::eevee::LIGHT_OMNI_SPHERE, blender::math::projection::orthographic(), 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::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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(), test_eevee_shadow_tag_update(), view, and blender::eevee::Z_NEG.
Referenced by test_eevee_shadow_tag_update().
|
static |
Definition at line 1186 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(), blender::eevee::shadow_tile_unpack(), and test_eevee_shadow_tile_packing().
Referenced by test_eevee_shadow_tile_packing().
|
static |
The layout of these expected strings is Y down.
Definition at line 1221 of file eevee_test.cc.
References blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_image(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), 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_shader_unbind(), GPU_texture_update_sub(), GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, blender::MatBase< float, 4, 4 >::identity(), 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::math::projection::orthographic(), blender::draw::detail::StorageCommon< T, len, device_only >::push_update(), blender::draw::Texture::read(), result, blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), 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, test_eevee_shadow_tilemap_amend(), tile, view, x, and y.
Referenced by test_eevee_shadow_tilemap_amend().
|
static |
Simulate surfels on a 2x2 projection grid covering [0..2] on the Z axis.
Definition at line 1823 of file eevee_test.cc.
References blender::draw::StorageVectorBuffer< T, len >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), ceil_to_multiple_u(), blender::draw::detail::DataBuffer< T, len, device_only >::data(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), 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_shader_unbind(), 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::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::StorageVectorBuffer< T, len >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::draw::Manager::submit(), blender::eevee::CaptureInfoData::surfel_len, test_eevee_surfel_list(), and view.
Referenced by test_eevee_surfel_list().
|
static |
Definition at line 683 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_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 115 of file extract_mesh_vbo_mesh_analysis.cc.
References BLI_INLINE, CLAMP, blender::math::max(), and blender::math::min().
Referenced by statvis_calc_thickness().
Definition at line 178 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 130 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 118 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 208 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 150 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 164 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 103 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 141 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
The mesh normals access functions can end up mixing face corner normals calculated with the costly tangent space method. The "Simplify Normals" option is supposed to avoid that, but not the "Free" normals which are actually cheaper than calculating true normals.
Definition at line 83 of file draw_cache_extract_mesh.cc.
References Geometry::attributes, CD_PROP_INT16_2D, blender::bke::Corner, blender::draw::MeshRenderData::mesh, RenderData::mode, Scene::r, R_SIMPLIFY, and R_SIMPLIFY_NORMALS.
Referenced by mesh_buffer_cache_create_requested().
|
static |
Needed so we can use jitter values for face interpolation.
Definition at line 103 of file extract_mesh_vbo_mesh_analysis.cc.
References clamp_v2().
Referenced by statvis_calc_thickness().
|
static |
Definition at line 52 of file extract_mesh_vbo_edituv_stretch_angle.cc.
References atan2f, M_1_PI, and v.
Referenced by edituv_get_edituv_stretch_angle().
|
static |
Definition at line 35 of file draw_cache_impl_lattice.cc.
Referenced by lattice_render_verts_len_get().
| void blender::draw::vertbuf_data_extract_direct | ( | const GSpan | attribute, |
| gpu::VertBuf & | vbo ) |
Definition at line 36 of file attribute_convert.cc.
References blender::bke::attribute_math::convert_to_static_type(), and blender::GSpan::type().
|
static |
Definition at line 113 of file draw_cache_impl_volume.cc.
References blender::draw::VolumeBatchCache::batch, Volume::batch_cache, BLI_freelistN(), blender::draw::VolumeBatchCache::face_wire, GPU_BATCH_DISCARD_SAFE, GPU_TEXTURE_FREE_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 92 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, and 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 70 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, blender::draw::VolumeBatchCache::is_dirty, and MEM_callocN().
Referenced by DRW_volume_batch_cache_validate().
|
static |
Definition at line 64 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, and blender::draw::VolumeBatchCache::is_dirty.
Referenced by DRW_volume_batch_cache_validate().
|
static |
Definition at line 285 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_callocN(), MEM_freeN(), blender::draw::DRWVolumeGrid::name, blender::draw::DRWVolumeGrid::object_to_texture, printf, DenseFloatVolumeGrid::resolution, blender::draw::DRWVolumeGrid::texture, blender::draw::DRWVolumeGrid::texture_to_object, DenseFloatVolumeGrid::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 126 of file draw_volume.cc.
References BKE_volume_density_scale(), BKE_volume_grid_find(), BKE_volume_load(), BKE_volume_num_grids(), VolumeInfos::color_mul, DRWContext::data, VolumeInfos::density_scale, drw_get(), DRW_object_get_data_for_drawing(), DRW_volume_batch_cache_get_grid(), G, VolumeInfos::grids_xform, blender::MatBase< float, 4, 4 >::identity(), module, Node::name, blender::draw::DRWVolumeGrid::object_to_texture, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), VolumeInfos::temperature_bias, VolumeInfos::temperature_mul, blender::draw::DRWVolumeGrid::texture, and DRWData::volume_module.
Referenced by volume_sub_pass_implementation().
| PassSimple::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 277 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 261 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 113 of file draw_volume.cc.
References DRWContext::data, drw_get(), module, and DRWData::volume_module.
Referenced by volume_sub_pass_implementation().
|
constexpr |
Definition at line 41 of file draw_debug.hh.
|
static |
Definition at line 1583 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers(), and DRW_cache_free_old_subdiv().
|
static |
The evaluators are owned by the OpenSubdiv_EvaluatorCache which is being referenced by bke::subdiv::Subdiv->evaluator. So the evaluator cache cannot be freed until all references are gone. The user counting allows to free the evaluator when there is no more subdiv.
Definition at line 1580 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers(), and DRW_cache_free_old_subdiv().
|
static |
Definition at line 1581 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers(), and DRW_cache_free_old_subdiv().
The #bke::subdiv::Subdiv data is being owned the modifier. Since the modifier can be freed from any thread (e.g. from depsgraph multi-threaded update) which may not have a valid #GPUContext active, we move the data to discard to this free list until a code-path with a active GPUContext is hit. This is kind of garbage collection.
Definition at line 1756 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 1757 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 231 of file draw_cache_impl_pointcloud.cc.
Referenced by pointcloud_extract_indices().