|
Blender V5.0
|
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 | DispatchIndirectBuf = draw::StorageBuffer<DispatchCommand> |
| using | DrawIndirectBuf = draw::StorageBuffer<DrawCommand, true> |
| 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<uint2, 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 , PaintOverlayFlag } |
| enum class | IBOType : int8_t { Tris , Lines , LinesLoose , Points , FaceDots , LinesPaintMask , LinesAdjacency , UVTris , AllUVLines , UVLines , EditUVTris , EditUVLines , EditUVPoints , EditUVFaceDots } |
| enum | DRWBatchFlag : uint64_t { 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_PAINT_OVERLAY_WIRE_LOOPS = (1u << MBC_BATCH_INDEX(paint_overlay_wire_loops)) , MBC_WIRE_LOOPS_ALL_UVS = (1u << MBC_BATCH_INDEX(wire_loops_all_uvs)) , 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_PAINT_OVERLAY_VERTS = (uint64_t(1u) << MBC_BATCH_INDEX(paint_overlay_verts)) , MBC_PAINT_OVERLAY_SURFACE = (uint64_t(1u) << MBC_BATCH_INDEX(paint_overlay_surface)) , MBC_SURFACE_PER_MAT = (uint64_t(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 class | InstancesFlags : uint8_t { IsNegativeScale = 1 << 0 } |
| enum | CurvesEvalShader { CURVES_EVAL_POSITION = 0 , CURVES_EVAL_FLOAT = 1 , CURVES_EVAL_FLOAT2 = 2 , CURVES_EVAL_FLOAT3 = 3 , CURVES_EVAL_FLOAT4 = 4 , CURVES_EVAL_LENGTH_INTERCEPT = 5 } |
| 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 } |
| enum class | UvExtractionMode : int8_t { Edit , Selection , All } |
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 } |
| const Mesh & | editmesh_final_or_this (const Object &object, const Mesh &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 39 of file draw_curves.cc.
Definition at line 70 of file draw_pass.hh.
Definition at line 71 of file draw_pass.hh.
| 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.
Definition at line 23 of file eevee_test.cc.
| using blender::draw::ShadowTileDataBuf = draw::StorageArrayBuffer<ShadowTileDataPacked, SHADOW_MAX_TILE, false> |
Definition at line 24 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 |
Definition at line 290 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.
| 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 |
| Enumerator | |
|---|---|
| LR_DATATYPE_VERT | |
| LR_DATATYPE_EDGE | |
| LR_DATATYPE_OVERLAY | |
Definition at line 109 of file draw_cache_impl_lattice.cc.
| 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 304 of file draw_cache_impl.hh.
| 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.
| Enumerator | |
|---|---|
| CURVES_EVAL_POSITION | |
| CURVES_EVAL_FLOAT | |
| CURVES_EVAL_FLOAT2 | |
| CURVES_EVAL_FLOAT3 | |
| CURVES_EVAL_FLOAT4 | |
| CURVES_EVAL_LENGTH_INTERCEPT | |
Definition at line 44 of file draw_curves_private.hh.
Definition at line 197 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 | |
| UVTris | |
| AllUVLines | |
| UVLines | |
| EditUVTris | |
| EditUVLines | |
| EditUVPoints | |
| EditUVFaceDots | |
Definition at line 122 of file draw_cache_extract.hh.
|
strong |
| Enumerator | |
|---|---|
| IsNegativeScale | |
Definition at line 716 of file draw_context.cc.
|
strong |
| Enumerator | |
|---|---|
| BMesh | |
| Mesh | |
Definition at line 42 of file extract_mesh.hh.
| Enumerator | |
|---|---|
| PARTICLE_SOURCE_PARENT | |
| PARTICLE_SOURCE_CHILDREN | |
Definition at line 583 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 |
| Enumerator | |
|---|---|
| Edit | |
| Selection | |
| All | |
Definition at line 367 of file extract_mesh.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 516 of file draw_cache_impl_curves.cc.
References GPU_USAGE_DEVICE_ONLY, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), and size().
Referenced by blender::draw::CurvesEvalCache::ensure_attribute().
| 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 1181 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Definition at line 1176 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 1191 of file DRW_gpu_wrapper.hh.
|
inlinestatic |
Definition at line 1186 of file DRW_gpu_wrapper.hh.
Referenced by blender::draw::command::ResourceBind::ResourceBind(), and blender::draw::command::ResourceBind::ResourceBind().
|
static |
Definition at line 290 of file draw_curves.cc.
References GPU_material_attributes(), LISTBASE_FOREACH, and name.
Referenced by curves_bind_resources_implementation(), and set_attribute_type().
|
static |
Definition at line 1068 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_POLY, blender::VArray< T >::from_container(), 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 101 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 201 of file draw_cache_impl_curves.cc.
References EDIT_CURVES_ACTIVE_HANDLE, EDIT_CURVES_BEZIER_HANDLE, and EDIT_CURVES_HANDLE_TYPES_SHIFT.
Referenced by create_edit_points_data(), and grease_pencil_edit_batch_ensure().
|
static |
Definition at line 685 of file draw_cache_impl_grease_pencil.cc.
References EDIT_CURVES_ACTIVE_HANDLE, EDIT_CURVES_BEZIER_HANDLE, and EDIT_CURVES_HANDLE_TYPES_SHIFT.
|
static |
Definition at line 626 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 425 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 430 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 183 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 148 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 140 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 156 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 164 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 172 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 147 of file draw_sculpt.cc.
References blender::bke::attr_type_to_custom_data_type(), bm, CustomData_get_offset_named(), blender::bke::AttributeMetaData::data_type, blender::bke::AttributeMetaData::domain, get_cdata(), and name.
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 439 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 >::from_derived_span(), and blender::bke::Point.
Referenced by bmesh_normals_domain(), and mesh_render_data_create().
|
static |
Definition at line 647 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 38 of file extract_mesh_ibo_edituv.cc.
References bm, blender::threading::parallel_for(), and blender::Array< T, InlineBufferCapacity, Allocator >::reinitialize().
|
static |
Definition at line 444 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_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 174 of file extract_mesh_ibo_edituv.cc.
References build_tris_from_subdiv_quad_selection(), data, blender::index_mask::IndexMask::foreach_index(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, mask(), blender::draw::DRWSubdivCache::num_subdiv_loops, and blender::index_mask::IndexMask::size().
Referenced by build_tris_from_subdiv_quad_selection(), extract_edituv_tris_subdiv_bm(), and extract_edituv_tris_subdiv_mesh().
|
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 450 of file draw_cache_impl_curves.cc.
References BLI_assert, blender::MutableSpan< T >::cast(), blender::MutableSpan< T >::contains(), create_segments_with_cyclic(), blender::MutableSpan< T >::drop_front(), blender::MutableSpan< T >::fill(), 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(), pos, blender::MutableSpan< T >::size(), blender::MutableSpan< T >::take_front(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by 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 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 184 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, blender::draw::CurvesEvalCache::clear(), clear_edit_data(), and blender::draw::CurvesBatchCache::eval_cache.
Referenced by DRW_curves_batch_cache_free(), and DRW_curves_batch_cache_validate().
|
static |
Definition at line 122 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 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 301 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 316 of file draw_cache_impl_particles.cc.
References blender::draw::ParticleHairCache::elems_len, i, blender::draw::ParticleHairCache::point_len, ParticleCacheKey::segments, and blender::draw::ParticleHairCache::strands_len.
Referenced by ensure_seg_pt_count().
|
static |
Definition at line 240 of file draw_cache_impl_curves.cc.
References blender::bke::CurvesGeometry::attributes(), bezier_data_value(), blender::gpu::VertBuf::data(), data, EDIT_CURVES_BEZIER_KNOT, EDIT_CURVES_NURBS_CONTROL_POINT, extract_edit_data(), blender::index_mask::IndexMask::foreach_index(), 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 DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 294 of file draw_cache_impl_curves.cc.
References blender::gpu::VertBuf::data(), data, blender::array_utils::gather_group_to_group(), 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::index_mask::IndexMask::is_empty(), blender::bke::crazyspace::GeometryDeformation::positions, and blender::Span< T >::size().
Referenced by DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 1009 of file draw_cache_impl_curves.cc.
References blender::gpu::VertBuf::data(), blender::draw::CurvesBatchCache::edit_curves_lines_pos, blender::bke::CurvesGeometry::evaluated_positions(), GPU_vertbuf_data_alloc(), GPU_vertbuf_init_with_format, GPU_vertformat_from_attribute(), and blender::Span< T >::size().
Referenced by DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 333 of file draw_cache_impl_curves.cc.
References blender::gpu::VertBuf::data(), data, blender::array_utils::gather_group_to_group(), 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 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 370 of file draw_cache_impl_curves.cc.
References 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(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 392 of file draw_cache_impl_curves.cc.
References 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(), and DRW_curves_batch_cache_create_requested().
|
static |
Definition at line 416 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 430 of file draw_cache_impl_curves.cc.
References blender::IndexRange::drop_back(), blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), i, blender::IndexRange::index_range(), blender::IndexRange::last(), blender::MutableSpan< T >::last(), and blender::MutableSpan< T >::slice().
Referenced by calc_edit_handles_ibo().
|
static |
Definition at line 16 of file extract_mesh_vbo_select_idx.cc.
References 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_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_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_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 660 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_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().
| void blender::draw::curves_bind_resources | ( | PassMain::Sub & | sub_ps, |
| CurvesModule & | module, | ||
| CurvesEvalCache & | cache, | ||
| const int | face_per_segment, | ||
| GPUMaterial * | gpu_material, | ||
| gpu::VertBufPtr & | indirection_buf, | ||
| const std::optional< StringRef > | active_uv_name ) |
Definition at line 475 of file draw_curves.cc.
References curves_bind_resources_implementation(), and module.
Referenced by curves_sub_pass_setup_implementation(), and hair_sub_pass_setup_implementation().
| void blender::draw::curves_bind_resources_implementation | ( | PassT & | sub_ps, |
| CurvesModule & | module, | ||
| CurvesEvalCache & | cache, | ||
| const int | face_per_segment, | ||
| GPUMaterial * | gpu_material, | ||
| gpu::VertBufPtr & | indirection_buf, | ||
| const std::optional< StringRef > | uv_name ) |
Definition at line 385 of file draw_curves.cc.
References blender::draw::CurvesEvalCache::attr_used, attribute_index_in_material(), blender::draw::CurvesEvalCache::attributes_point_domain, blender::draw::CurvesEvalCache::curve_attributes_buf, blender::draw::CurvesEvalCache::curves_length_buf, drw_curves_get_attribute_sampler_name(), blender::draw::CurvesEvalCache::evaluated_attributes_buf, blender::draw::CurvesEvalCache::evaluated_pos_rad_buf, blender::draw::CurvesEvalCache::evaluated_time_buf, GPU_material_attributes(), CurvesInfos::half_cylinder_face_count, i, blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), CurvesInfos::is_point_attribute, module, name, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), set_attribute_type(), and CurvesInfos::vertex_per_segment.
Referenced by curves_bind_resources().
| CurvesEvalCache & blender::draw::curves_get_eval_cache | ( | Curves & | curves_id | ) |
Definition at line 894 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesBatchCache::eval_cache, and get_batch_cache().
Referenced by curves_pos_buffer_get(), and curves_sub_pass_setup_implementation().
| gpu::VertBuf * blender::draw::curves_pos_buffer_get | ( | Object * | object | ) |
Definition at line 343 of file draw_curves.cc.
References curves_get_eval_cache(), DRWData::curves_module, DRWContext::data, drw_get(), DRW_object_get_data_for_drawing(), blender::draw::CurvesEvalCache::ensure_positions(), blender::draw::CurvesEvalCache::evaluated_pos_rad_buf, Curves::geometry, and module.
Referenced by blender::eevee::VelocityModule::step_object_sync().
| gpu::Batch * blender::draw::curves_sub_pass_setup | ( | PassMain::Sub & | ps, |
| const Scene * | scene, | ||
| Object * | ob, | ||
| const char *& | r_error, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 550 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, | ||
| const char *& | r_error, | ||
| GPUMaterial * | gpu_material = nullptr ) |
Definition at line 500 of file draw_curves.cc.
References batch, blender::draw::CurvesEvalCache::batch_get(), BLI_assert, curves_bind_resources(), curves_get_eval_cache(), DRWData::curves_module, blender::bke::CurvesGeometry::curves_num(), DRWContext::data, drw_get(), DRW_object_get_data_for_drawing(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesEvalCache::ensure_positions(), error(), blender::bke::CurvesGeometry::evaluated_points_num(), Curves::geometry, get_first_uv_name(), RenderData::hair_type, blender::bke::CurvesGeometry::has_cyclic_curve(), blender::draw::CurvesEvalCache::indirection_buf_get(), module, OB_CURVES, Scene::r, RPT_, SCE_HAIR_SHAPE_CYLINDER, SCE_HAIR_SHAPE_STRAND, and Object::type.
Referenced by curves_sub_pass_setup().
|
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().
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 210 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, | ||
| gpu::VertBuf * | face_adjacency_offsets, | ||
| gpu::VertBuf * | face_adjacency_lists, | ||
| gpu::VertBuf * | vertex_loop_map, | ||
| gpu::VertBuf * | vert_normals ) |
Definition at line 1185 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_BUF_SLOT, NORMALS_ACCUMULATE_VERTEX_LOOP_MAP_BUF_SLOT, blender::draw::DRWSubdivCache::num_subdiv_verts, and pos.
Referenced by extract_normals_subdiv().
| void blender::draw::draw_subdiv_build_edge_fac_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos, | ||
| gpu::VertBuf * | edge_draw_flag, | ||
| gpu::VertBuf * | poly_other_map, | ||
| gpu::VertBuf * | edge_fac ) |
Definition at line 1347 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_BUF_SLOT, 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, and pos.
Referenced by extract_edge_factor_subdiv().
| void blender::draw::draw_subdiv_build_edituv_stretch_angle_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos, | ||
| gpu::VertBuf * | uvs, | ||
| int | uvs_offset, | ||
| gpu::VertBuf * | stretch_angles ) |
Definition at line 1455 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, pos, STRETCH_ANGLE_POS_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 1432 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 1248 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 1307 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 1326 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, | ||
| gpu::VertBuf * | vert_normals, | ||
| gpu::VertBuf * | subdiv_corner_verts, | ||
| gpu::VertBuf * | lnor ) |
Definition at line 1370 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_OUTPUT_LNOR_BUF_SLOT, LOOP_NORMALS_POS_SLOT, LOOP_NORMALS_VERT_NORMALS_BUF_SLOT, LOOP_NORMALS_VERTEX_LOOP_MAP_BUF_SLOT, blender::draw::DRWSubdivCache::num_subdiv_quads, pos, SUBDIV_FACE_OFFSET_BUF_SLOT, and blender::draw::DRWSubdivCache::subdiv_face_offset_buffer.
Referenced by extract_normals_subdiv().
| gpu::VertBuf * blender::draw::draw_subdiv_build_origindex_buffer | ( | int * | vert_origindex, |
| uint | num_loops ) |
Definition at line 151 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_origindex_buffer().
Referenced by draw_subdiv_cache_ensure_mat_offsets(), and extract_normals_subdiv().
| gpu::VertBuf * blender::draw::draw_subdiv_build_origindex_buffer | ( | Span< int > | vert_origindex | ) |
Definition at line 166 of file draw_cache_impl_subdivision.cc.
References draw_subdiv_init_origindex_buffer().
| void blender::draw::draw_subdiv_build_paint_overlay_flag_buffer | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf & | flags ) |
Definition at line 1404 of file draw_cache_impl_subdivision.cc.
References BUFFER_PAINT_OVERLAY_FLAG, 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(), blender::draw::DRWSubdivCache::num_subdiv_quads, PAINT_OVERLAY_EXTRA_COARSE_FACE_DATA_BUF_SLOT, PAINT_OVERLAY_EXTRA_INPUT_VERT_ORIG_INDEX_SLOT, PAINT_OVERLAY_OUTPUT_FLAG_SLOT, SUBDIV_FACE_OFFSET_BUF_SLOT, blender::draw::DRWSubdivCache::subdiv_face_offset_buffer, and blender::draw::DRWSubdivCache::verts_orig_index.
Referenced by extract_paint_overlay_flags_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 1161 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 1213 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 1514 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 316 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 356 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 334 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 246 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 231 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 226 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_paint_overlay_flag_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos(), draw_subdiv_extract_uvs(), draw_subdiv_interp_corner_normals(), and draw_subdiv_interp_custom_data().
|
static |
Definition at line 381 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_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 1590 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 | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf * | pos, | ||
| gpu::VertBuf * | orco ) |
Definition at line 980 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_INPUT_PATCH_HANDLES_BUF_SLOT, PATCH_EVALUATION_ORCO, PATCH_EVALUATION_OUTPUT_ORCOS_BUF_SLOT, PATCH_EVALUATION_OUTPUT_POS_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, pos, blender::draw::DRWSubdivCache::subdiv, and UNUSED_VARS.
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 1037 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_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, and UNUSED_VARS.
Referenced by extract_uv_maps_subdiv().
|
static |
Definition at line 238 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().
| gpu::VertBufPtr blender::draw::draw_subdiv_init_origindex_buffer | ( | int32_t * | vert_origindex, |
| uint | num_loops, | ||
| uint | loose_len ) |
Definition at line 139 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(), draw_subdiv_build_origindex_buffer(), extract_edge_index_subdiv(), extract_face_index_subdiv(), and extract_vert_index_subdiv().
| gpu::VertBufPtr blender::draw::draw_subdiv_init_origindex_buffer | ( | Span< int32_t > | vert_origindex, |
| uint | loose_len ) |
Definition at line 156 of file draw_cache_impl_subdivision.cc.
References get_origindex_format(), GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), and blender::Span< T >::size().
|
static |
Definition at line 873 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_corner_normals | ( | const DRWSubdivCache & | cache, |
| gpu::VertBuf & | src_data, | ||
| gpu::VertBuf & | dst_data ) |
Definition at line 1130 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_interp_corner_normals_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_normals_subdiv().
| 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 1096 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_sculpt_data_subdiv(), extract_tangents_subdiv(), and extract_weights_subdiv().
|
static |
Definition at line 901 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 29 of file draw_attributes.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_as(), GPU_MAX_ATTR, name, and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::size().
Referenced by DRW_pointcloud_evaluated_attribute(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesEvalCache::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 ) |
Definition at line 13 of file draw_attributes.cc.
References blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_multiple(), and blender::VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::as_span().
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(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesEvalCache::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 18 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(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesEvalCache::ensure_attributes(), and pointcloud_surface_shaded_get().
| void blender::draw::DRW_batch_cache_free_old | ( | Object * | ob, |
| int | ctime ) |
Definition at line 567 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 489 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 558 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 529 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_mesh_get_for_drawing(), 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 459 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 295 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 302 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 281 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 288 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 310 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 1815 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 1598 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_handles_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1579 of file draw_cache_impl_grease_pencil.cc.
References DRW_cache_grease_pencil_edit_handles_get(), DRW_object_get_data_for_drawing(), blender::draw::GreasePencilBatchCache::edit_handles, grease_pencil_batch_cache_get(), and grease_pencil_edit_batch_ensure().
Referenced by DRW_cache_grease_pencil_edit_handles_get(), and blender::draw::overlay::GreasePencil::edit_object_sync().
| gpu::Batch * blender::draw::DRW_cache_grease_pencil_edit_lines_get | ( | const Scene * | scene, |
| Object * | ob ) |
Definition at line 1569 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 1559 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 1627 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 1550 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 1589 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 1617 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 1607 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 374 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 350 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 358 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 177 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 165 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::Wireframe::object_sync_ex().
| gpu::Batch * blender::draw::DRW_cache_mesh_edge_detection_get | ( | Object * | ob, |
| bool * | r_is_manifold ) |
Definition at line 189 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 256 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 183 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_paint_overlay_edges_get | ( | Object * | ob | ) |
Definition at line 209 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_paint_overlay_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_paint_overlay_surface_get | ( | Object * | ob | ) |
Definition at line 202 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_paint_overlay_surface(), 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_paint_overlay_verts_get | ( | Object * | ob | ) |
Definition at line 171 of file draw_cache.cc.
References BLI_assert, DRW_mesh_batch_cache_get_paint_overlay_verts(), 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 196 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::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 262 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 244 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 215 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 223 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 230 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 237 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 268 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 250 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 91 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 102 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 112 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 128 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 138 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 148 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 426 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 439 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 431 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 446 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 421 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 388 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 337 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 324 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 402 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 408 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, | ||
| bke::AttrType | data_type, | ||
| blender::StringRef | layer_name, | ||
| bool | is_active_render, | ||
| bool | is_active_layer ) |
Definition at line 587 of file draw_cache.cc.
References blender::bke::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 1763 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 844 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 826 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 832 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 820 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 808 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 814 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 1024 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_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().
| void blender::draw::DRW_curves_batch_cache_dirty_tag | ( | Curves * | curves, |
| int | mode ) |
Definition at line 899 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, BKE_CURVES_BATCH_DIRTY_ALL, BLI_assert_unreachable, and blender::draw::CurvesBatchCache::is_dirty.
Referenced by DRW_module_init().
| void blender::draw::DRW_curves_batch_cache_free | ( | Curves * | curves | ) |
Definition at line 922 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, and clear_batch_cache().
Referenced by DRW_module_init().
| void blender::draw::DRW_curves_batch_cache_free_old | ( | Curves * | curves, |
| int | ctime ) |
Definition at line 930 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalCache::attr_used, blender::draw::CurvesEvalCache::attr_used_over_time, Curves::batch_cache, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), blender::draw::CurvesEvalCache::discard_attributes(), drw_attributes_overlap(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::last_attr_matching_time, and U.
Referenced by DRW_batch_cache_free_old().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_handles | ( | Curves * | curves | ) |
Definition at line 968 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), blender::draw::CurvesBatchCache::edit_handles, and get_batch_cache().
Referenced by blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_curves_lines | ( | Curves * | curves | ) |
Definition at line 974 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), blender::draw::CurvesBatchCache::edit_curves_lines, and get_batch_cache().
Referenced by blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_edit_points | ( | Curves * | curves | ) |
Definition at line 956 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), blender::draw::CurvesBatchCache::edit_points, and get_batch_cache().
Referenced by blender::draw::overlay::Curves::edit_object_sync().
| gpu::Batch * blender::draw::DRW_curves_batch_cache_get_sculpt_curves_cage | ( | Curves * | curves | ) |
Definition at line 962 of file draw_cache_impl_curves.cc.
References DRW_batch_request(), get_batch_cache(), and blender::draw::CurvesBatchCache::sculpt_cage.
Referenced by blender::draw::overlay::Sculpts::curves_sync().
| void blender::draw::DRW_curves_batch_cache_validate | ( | Curves * | curves | ) |
Definition at line 914 of file draw_cache_impl_curves.cc.
References batch_cache_is_dirty(), clear_batch_cache(), and init_batch_cache().
Referenced by drw_batch_cache_validate(), and get_batch_cache().
| void blender::draw::DRW_curves_begin_sync | ( | DRWData * | drw_data | ) |
Definition at line 82 of file draw_curves.cc.
References DRWData::curves_module, and blender::draw::CurvesModule::init().
Referenced by DRWData::modules_begin_sync().
| void blender::draw::drw_curves_get_attribute_sampler_name | ( | const StringRef | layer_name, |
| char | r_sampler_name[32] ) |
Definition at line 588 of file draw_cache_impl_curves.cc.
References BLI_snprintf_utf8(), GPU_MAX_SAFE_ATTR_NAME, and GPU_vertformat_safe_attr_name().
Referenced by curves_bind_resources_implementation(), blender::draw::CurvesEvalCache::ensure_attribute(), blender::draw::CurvesEvalCache::ensure_attribute(), and pointcloud_sub_pass_setup_implementation().
Definition at line 72 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 87 of file draw_curves.cc.
Referenced by DRW_viewport_data_free().
| gpu::VertBufPtr & blender::draw::DRW_curves_texture_for_evaluated_attribute | ( | Curves * | curves, |
| StringRef | name, | ||
| bool & | r_is_point_domain, | ||
| bool & | r_valid_attribute ) |
Provide GPU access to a specific evaluated attribute on curves.
Definition at line 980 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalCache::attr_used, blender::draw::CurvesEvalCache::attributes_point_domain, blender::draw::CurvesEvalCache::curve_attributes_buf, DRWData::curves_module, DRWContext::data, drw_get(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesBatchCache::eval_cache, blender::draw::CurvesEvalCache::evaluated_attributes_buf, Curves::geometry, get_batch_cache(), i, VectorSet< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::index_range(), module, name, and request_attribute().
Referenced by blender::draw::overlay::Sculpts::curves_sync().
| void blender::draw::DRW_curves_update | ( | draw::Manager & | manager | ) |
Definition at line 322 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(), module, 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 37 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(), i, and name.
Referenced by 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().
Referenced by blender::eevee::Instance::light_bake_irradiance().
| void blender::draw::drw_debug_line | ( | float3 | v1, |
| float3 | 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 blender::bounds::corners(), drw_debug_bbox(), i, mul_project_m4_v3(), and blender::MatBase< T, NumCol, NumRow, Alignment >::ptr().
Referenced by blender::draw::View::compute_visibility(), and blender::eevee::ShadowTileMap::debug_draw().
| void blender::draw::drw_debug_point | ( | float3 | 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< float3 > | 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 float3 | 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 1517 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 1543 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 1534 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 1147 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_edges, blender::draw::MeshBatchList::all_verts, AllUVLines, 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, Mesh::editflag, 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, ELEM, 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_PAINT_OVERLAY_SURFACE, MBC_PAINT_OVERLAY_VERTS, MBC_PAINT_OVERLAY_WIRE_LOOPS, 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_ALL_UVS, MBC_WIRE_LOOPS_EDITUVS, MBC_WIRE_LOOPS_UVS, ME_EDIT_PAINT_FACE_SEL, 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, OB_MODE_TEXTURE_PAINT, OB_MODE_VERTEX_PAINT, OB_MODE_WEIGHT_PAINT, Orco, blender::draw::DRW_MeshCDMask::orco, blender::draw::MeshBatchList::paint_overlay_surface, blender::draw::MeshBatchList::paint_overlay_verts, blender::draw::MeshBatchList::paint_overlay_wire_loops, PaintOverlayFlag, 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_FLAG_SELECT_SYNC, UVLines, UVs, UVTris, blender::draw::MeshBufferList::vbos, Mesh::vert_data, VertexGroupWeight, VertexNormal, blender::draw::MeshBatchCache::weight_state, blender::draw::MeshBatchList::wire_edges, blender::draw::MeshBatchList::wire_loops_all_uvs, 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 592 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, 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(), PaintOverlayFlag, and Mesh::runtime.
Referenced by DRW_module_init().
| void blender::draw::DRW_mesh_batch_cache_free | ( | void * | batch_cache | ) |
Definition at line 671 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 1109 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 736 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_edges, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_ALL_EDGES, 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_uv_wireframe | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 1072 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_ALL_UVS, mesh_batch_cache_get(), and blender::draw::MeshBatchList::wire_loops_all_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_all_verts | ( | Mesh & | mesh | ) |
Definition at line 722 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchList::all_verts, blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_ALL_VERTS, 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 775 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edge_detection, blender::draw::MeshBatchCache::is_manifold, MBC_EDGE_DETECTION, 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 972 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_edges, MBC_EDIT_SELECTION_EDGES, 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 910 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_edges, MBC_EDIT_EDGES, 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 938 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_fdots, MBC_EDIT_FACEDOTS, 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 931 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_lnor, MBC_EDIT_LNOR, 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 794 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_mesh_analysis, MBC_EDIT_MESH_ANALYSIS, 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 945 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_skin_roots, MBC_SKIN_ROOTS, 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 903 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_triangles, MBC_EDIT_TRIANGLES, 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 924 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_vnor, MBC_EDIT_VNOR, 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 917 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_vertices, MBC_EDIT_VERTICES, and mesh_batch_cache_get().
Referenced by blender::draw::overlay::Meshes::edit_object_sync().
Definition at line 1040 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edituv_edges, edituv_request_active_uv(), MBC_EDITUV_EDGES, 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 1056 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edituv_fdots, edituv_request_active_uv(), MBC_EDITUV_FACEDOTS, and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
Definition at line 1032 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces, edituv_request_active_uv(), MBC_EDITUV_FACES, 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 1024 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces_stretch_angle, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_ANGLE, and mesh_batch_cache_get().
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_edituv_faces_stretch_area | ( | Object & | object, |
| Mesh & | mesh, | ||
| float ** | tot_area, | ||
| float ** | tot_uv_area ) |
Creates the #blender::gpu::Batch for drawing the UV Stretching Area Overlay. Optional retrieves the total area or total uv area of the mesh.
The cache->tot_area and cache->tot_uv_area update are calculation are only valid after calling DRW_mesh_batch_cache_create_requested.
Definition at line 1006 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edituv_faces_stretch_area, edituv_request_active_uv(), MBC_EDITUV_FACES_STRETCH_AREA, 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 1048 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), edituv_request_active_uv(), blender::draw::MeshBatchList::edituv_verts, MBC_EDITUV_VERTS, 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 1088 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_EDITUVS, 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 965 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_fdots, MBC_EDIT_SELECTION_FACEDOTS, 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 758 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::loose_edges, MBC_LOOSE_EDGES, 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_paint_overlay_edges | ( | Mesh & | mesh | ) |
Definition at line 1096 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_PAINT_OVERLAY_WIRE_LOOPS, mesh_batch_cache_get(), and blender::draw::MeshBatchList::paint_overlay_wire_loops.
Referenced by DRW_cache_mesh_paint_overlay_edges_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_paint_overlay_surface | ( | Mesh & | mesh | ) |
Definition at line 751 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_PAINT_OVERLAY_SURFACE, mesh_batch_cache_get(), and blender::draw::MeshBatchList::paint_overlay_surface.
Referenced by DRW_cache_mesh_paint_overlay_surface_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_paint_overlay_verts | ( | Mesh & | mesh | ) |
Definition at line 729 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_PAINT_OVERLAY_VERTS, mesh_batch_cache_get(), and blender::draw::MeshBatchList::paint_overlay_verts.
Referenced by DRW_cache_mesh_paint_overlay_verts_get().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_sculpt_overlays | ( | Mesh & | mesh | ) |
Definition at line 876 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, blender::draw::MeshBatchCache::cd_needed, DRW_batch_request(), MBC_SCULPT_OVERLAYS, 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 743 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_sculpt | ( | Object & | object, |
| Mesh & | mesh ) |
Definition at line 863 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), request_active_and_default_color_attributes(), and blender::draw::MeshBatchList::surface.
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 819 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(), 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 834 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 842 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 850 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::attr_needed, blender::draw::MeshBatchCache::batch, drw_attributes_merge(), mesh_batch_cache_get(), mesh_batch_cache_request_surface_batches(), request_active_and_default_color_attributes(), and blender::draw::MeshBatchList::surface.
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 887 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_VIEWER_ATTRIBUTE_OVERLAY, 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 768 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_SURFACE_WEIGHTS, 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 958 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_faces, MBC_EDIT_SELECTION_FACES, 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 1064 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), edituv_request_active_uv(), MBC_UV_FACES, 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 1080 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), edituv_request_active_uv(), MBC_WIRE_LOOPS_UVS, mesh_batch_cache_get(), and blender::draw::MeshBatchList::wire_loops_uvs.
Referenced by blender::draw::overlay::MeshUVs::edit_object_sync().
| gpu::Batch * blender::draw::DRW_mesh_batch_cache_get_verts_with_select_id | ( | Mesh & | mesh | ) |
Definition at line 979 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), blender::draw::MeshBatchList::edit_selection_verts, MBC_EDIT_SELECTION_VERTS, 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 787 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), MBC_WIRE_EDGES, 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 500 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 801 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 187 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 243 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, and particle_batch_cache_clear().
Referenced by DRW_module_init().
| ParticleDrawSource blender::draw::drw_particle_get_hair_source | ( | Object * | object, |
| ParticleSystem * | psys, | ||
| ModifierData * | md, | ||
| PTCacheEdit * | edit, | ||
| const int | additional_subdivision ) |
Definition at line 1077 of file draw_cache_impl_particles.cc.
References blender::math::clamp(), DEG_get_original(), DRWContext::depsgraph, DRW_context_get(), blender::draw::ParticleDrawSource::edit, blender::draw::ParticleHairCache::evaluated_points_by_curve_storage, blender::draw::ParticleBatchCache::hair, blender::draw::ParticleDrawSource::md, blender::draw::ParticleDrawSource::object, particle_batch_cache_get(), blender::draw::ParticleHairCache::points_by_curve_storage, blender::draw::ParticleDrawSource::psys, psys_in_edit_mode(), and psys_orig_get().
Referenced by DRW_particles_batch_cache_get_hair(), hair_pos_buffer_get(), and hair_sub_pass_setup_implementation().
| void blender::draw::drw_particle_update_ptcache | ( | Object * | object_eval, |
| ParticleSystem * | psys ) |
Definition at line 1063 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(), hair_pos_buffer_get(), and hair_sub_pass_setup_implementation().
|
static |
Definition at line 1035 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 1116 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 1228 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 1161 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, blender::draw::ParticleHairCache::hairs, blender::draw::ParticleHairCache::indices, particle_batch_cache_ensure_edit_pos_and_seg(), particle_batch_cache_get(), and blender::draw::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 1285 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 1100 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, blender::draw::ParticleHairCache::hairs, blender::draw::ParticleHairCache::indices, blender::draw::ParticleDrawSource::md, particle_batch_cache_ensure_pos_and_seg(), particle_batch_cache_get(), blender::draw::ParticleHairCache::pos, and blender::draw::ParticleDrawSource::psys.
Referenced by DRW_cache_particles_get_hair().
| void blender::draw::DRW_pointcloud_batch_cache_create_requested | ( | Object * | ob | ) |
Definition at line 456 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 128 of file draw_cache_impl_pointcloud.cc.
References BKE_POINTCLOUD_BATCH_DIRTY_ALL, BLI_assert, blender::draw::PointCloudBatchCache::is_dirty, and pointcloud_batch_cache_get().
Referenced by DRW_module_init().
| void blender::draw::DRW_pointcloud_batch_cache_free | ( | PointCloud * | pointcloud | ) |
Definition at line 186 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 193 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 394 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 501 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 178 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 407 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(), name, and pointcloud_batch_cache_get().
Referenced by DRW_pointcloud_evaluated_attribute(), and pointcloud_sub_pass_setup_implementation().
Definition at line 54 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 64 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 401 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 1809 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 941 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_paint_overlay_flag_buffer(), draw_subdiv_build_sculpt_data_buffer(), draw_subdiv_build_tris_buffer(), draw_subdiv_extract_pos(), draw_subdiv_extract_uvs(), draw_subdiv_interp_corner_normals(), and draw_subdiv_interp_custom_data().
| void blender::draw::DRW_subdivide_loose_geom | ( | DRWSubdivCache & | subdiv_cache, |
| const MeshBufferCache & | cache ) |
Definition at line 1707 of file draw_cache_impl_subdivision.cc.
References blender::bke::mesh::build_vert_to_edge_map(), blender::draw::MeshExtractLooseGeom::edges, float, blender::Span< T >::index_range(), blender::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 72 of file draw_cache.cc.
References blender::gpu::VertBuf::data(), 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 345 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 272 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 217 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 178 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 242 of file draw_cache_impl_volume.cc.
References Volume::batch_cache, GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_BATCH_OWNS_VBO, 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_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 242 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 131 of file draw_cache_impl_particles.cc.
References 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().
|
inline |
Definition at line 124 of file extract_mesh.hh.
References BKE_object_get_editmesh_eval_final(), and Mesh::runtime.
Referenced by 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_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, float, M_1_PI, M_PI, pow2f(), blender::draw::UVStretchAngle::uv_angles, and v2_to_short_angle().
Referenced by extract_uv_stretch_angle_bm(), and extract_uv_stretch_angle_mesh().
|
static |
Definition at line 992 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_all_uv_wireframe(), 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 527 of file draw_cache_impl_curves.cc.
References blender::bke::CurvesGeometry::attributes(), blender::bke::CurvesGeometry::curves_num(), blender::bke::AttributeReader< T >::domain, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), GPU_vertbuf_data_alloc(), blender::bke::AttributeAccessor::lookup(), name, blender::bke::Point, blender::bke::CurvesGeometry::points_num(), and blender::bke::AttributeReader< T >::varray.
Referenced by blender::draw::CurvesEvalCache::ensure_attribute().
|
static |
Definition at line 1442 of file draw_cache_impl_particles.cc.
References Geometry::attributes, blender::bke::Corner, blender::draw::ParticleDrawSource::curves_num(), blender::VArray< T >::from_single(), blender::gpu::VertBuf::from_varray(), interpolate_face_corner_attribute_to_curve(), and name.
Referenced by blender::draw::CurvesEvalCache::ensure_attribute().
|
static |
Definition at line 36 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 1183 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 1243 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 330 of file draw_cache_impl_particles.cc.
References ParticleSystem::childcache, count_cache_segment_keys(), ParticleSettings::disp, ParticleSettings::draw, blender::draw::ParticleHairCache::elems_len, blender::draw::ParticleHairCache::indices, ParticleSystem::part, PART_DRAW_PARENT, ParticleSystem::pathcache, PTCacheEdit::pathcache, blender::draw::ParticleHairCache::point_len, blender::draw::ParticleHairCache::pos, blender::draw::ParticleHairCache::strands_len, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by DRW_particles_batch_cache_get_edit_strands(), and DRW_particles_batch_cache_get_hair().
| blender::draw::ENUM_OPERATORS | ( | DRWBatchFlag | , |
| MBC_SURFACE_PER_MAT | ) |
References MBC_SURFACE_PER_MAT.
| blender::draw::ENUM_OPERATORS | ( | InstancesFlags | , |
| InstancesFlags::IsNegativeScale | ) |
References IsNegativeScale.
| 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 313 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_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 228 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::draw::MeshRenderData::bm, BM_data_layer_lookup(), BMesh, blender::draw::MeshRenderData::corners_num, blender::bke::cpp_type_to_attribute_type(), extract_attribute(), extract_attribute_data(), blender::draw::MeshRenderData::extract_type, GPU_vertbuf_calloc(), init_vbo_for_attribute(), blender::bke::AttributeAccessor::lookup(), blender::draw::MeshRenderData::mesh, name, blender::GVArrayCommon::type(), BMDataLayerLookup::type, and blender::bke::GAttributeReader::varray.
Referenced by extract_attribute().
|
static |
Definition at line 201 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 174 of file extract_mesh_vbo_attributes.cc.
References blender::bke::attribute_math::convert_to_static_type(), extract_attribute_data(), and BMDataLayerLookup::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 262 of file extract_mesh_vbo_attributes.cc.
References Geometry::attributes, blender::draw::MeshRenderData::bm, BM_data_layer_lookup(), BMesh, blender::bke::attribute_math::convert_to_static_type(), Mesh::corners_num, blender::bke::cpp_type_to_attribute_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(), blender::draw::DRWSubdivCache::mesh, blender::draw::MeshRenderData::mesh, name, blender::draw::DRWSubdivCache::num_subdiv_loops, T, blender::GVArrayCommon::type(), BMDataLayerLookup::type, and blender::bke::GAttributeReader::varray.
Referenced by extract_attribute_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 119 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 139 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 155 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 99 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 83 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 62 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_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 ) |
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_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 260 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 152 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 125 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 98 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 279 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 227 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 222 of file draw_cache_impl_curves.cc.
References blender::array_utils::count_booleans(), data, EDIT_CURVES_ACTIVE_HANDLE, and blender::index_mask::IndexMask::foreach_index().
Referenced by create_edit_points_data(), and extract_edit_data().
|
static |
Definition at line 177 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::bm, bm, BMUVOFFSETS_NONE, 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 113 of file extract_mesh_vbo_edit_data.cc.
References BMUVOFFSETS_NONE, 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 389 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 67 of file extract_mesh_vbo_paint_overlay_flag.cc.
References blender::draw::MeshRenderData::bm, bm, extract_edit_flags_bm(), and blender::threading::parallel_for().
Referenced by extract_edit_flags_bm(), and extract_paint_overlay_flags().
|
static |
Definition at line 322 of file extract_mesh_vbo_edit_data.cc.
References blender::draw::MeshRenderData::bm, bm, BMUVOFFSETS_NONE, 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 242 of file extract_mesh_vbo_edit_data.cc.
References BMUVOFFSETS_NONE, 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 101 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 116 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 57 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 210 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 693 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_face_dots(), extract_edituv_face_dots_bm(), extract_edituv_face_dots_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by extract_edituv_face_dots().
|
static |
Definition at line 644 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), cast, extract_edituv_face_dots_bm(), 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(), and extract_edituv_face_dots_bm().
|
static |
Definition at line 660 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(), extract_edituv_face_dots_mesh(), blender::draw::MeshRenderData::faces, faces, 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(), and extract_edituv_face_dots_mesh().
| gpu::IndexBufPtr blender::draw::extract_edituv_lines | ( | const MeshRenderData & | mr, |
| UvExtractionMode | mode ) |
Definition at line 364 of file extract_mesh_ibo_edituv.cc.
References All, BMesh, Edit, extract_edituv_lines(), extract_edituv_lines_bm(), extract_edituv_lines_mesh(), blender::draw::MeshRenderData::extract_type, Selection, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by extract_edituv_lines().
|
static |
Definition at line 260 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, extract_edituv_lines_bm(), GPU_indexbuf_build_in_place(), GPU_indexbuf_calloc(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, i, GPUIndexBufBuilder::index_len, GPUIndexBufBuilder::index_max, GPUIndexBufBuilder::index_min, BMFace::len, BMLoop::next, result, skip_bm_face(), and GPUIndexBufBuilder::uses_restart_indices.
Referenced by extract_edituv_lines(), and extract_edituv_lines_bm().
|
static |
Definition at line 293 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, extract_edituv_lines_mesh(), blender::draw::MeshRenderData::faces, faces, blender::index_mask::IndexMask::foreach_index(), IndexMask::from_bools(), IndexMask::from_bools_inverse(), GPU_indexbuf_build_in_place(), GPU_indexbuf_calloc(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_poly, GPUIndexBufBuilder::index_len, GPUIndexBufBuilder::index_max, GPUIndexBufBuilder::index_min, blender::Span< T >::is_empty(), Span< T >::is_empty(), blender::draw::MeshRenderData::orig_index_edge, ORIGINDEX_NONE, result, blender::draw::MeshRenderData::select_poly, skip_bm_face(), and GPUIndexBufBuilder::uses_restart_indices.
Referenced by extract_edituv_lines(), and extract_edituv_lines_mesh().
| gpu::IndexBufPtr blender::draw::extract_edituv_lines_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| UvExtractionMode | mode ) |
Definition at line 477 of file extract_mesh_ibo_edituv.cc.
References All, BMesh, Edit, extract_edituv_lines_subdiv(), extract_edituv_lines_subdiv_bm(), extract_edituv_lines_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, Selection, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by extract_edituv_lines_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 385 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, extract_edituv_lines_subdiv_bm(), 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(), and extract_edituv_lines_subdiv_bm().
|
static |
Definition at line 420 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, extract_edituv_lines_subdiv_mesh(), GPU_indexbuf_build_in_place(), GPU_indexbuf_calloc(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_LINES, blender::draw::MeshRenderData::hide_poly, GPUIndexBufBuilder::index_len, GPUIndexBufBuilder::index_max, GPUIndexBufBuilder::index_min, Span< T >::is_empty(), blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_quads, blender::draw::MeshRenderData::orig_index_face, result, blender::draw::MeshRenderData::select_poly, skip_bm_face(), blender::draw::DRWSubdivCache::subdiv_loop_face_index, and GPUIndexBufBuilder::uses_restart_indices.
Referenced by extract_edituv_lines_subdiv(), and extract_edituv_lines_subdiv_mesh().
| gpu::IndexBufPtr blender::draw::extract_edituv_points | ( | const MeshRenderData & | mr | ) |
Definition at line 552 of file extract_mesh_ibo_edituv.cc.
References BMesh, blender::draw::MeshRenderData::corners_num, extract_edituv_points(), 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_FLAG_SELECT_SYNC.
Referenced by extract_edituv_points().
|
static |
Definition at line 506 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, extract_edituv_points_bm(), GPU_indexbuf_add_point_vert(), i, BMFace::len, BMLoop::next, and skip_bm_face().
Referenced by extract_edituv_points(), and extract_edituv_points_bm().
|
static |
Definition at line 525 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::draw::MeshRenderData::corner_verts, extract_edituv_points_mesh(), 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(), and extract_edituv_points_mesh().
| gpu::IndexBufPtr blender::draw::extract_edituv_points_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 621 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_points_subdiv(), 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_FLAG_SELECT_SYNC.
Referenced by extract_edituv_points_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 567 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::gpu::VertBuf::data(), extract_edituv_points_subdiv_bm(), 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(), and extract_edituv_points_subdiv_bm().
|
static |
Definition at line 593 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), blender::gpu::VertBuf::data(), extract_edituv_points_subdiv_mesh(), 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(), and extract_edituv_points_subdiv_mesh().
| 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_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(), 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(), GPU_vertformat_from_attribute(), i, BMesh::ldata, MAX_MTFACE, Mesh, blender::draw::MeshRenderData::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, pos, 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_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_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 160 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 185 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, |
| bool | edit_uvs ) |
Definition at line 165 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_tris(), extract_edituv_tris_bm(), extract_edituv_tris_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by extract_edituv_tris().
|
static |
Definition at line 49 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), blender::draw::MeshRenderData::corners_num, data, blender::draw::MeshRenderData::edit_bmesh, extract_edituv_tris_bm(), IndexMask::from_predicate(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, blender::Span< T >::index_range(), BMEditMesh::looptris, blender::threading::parallel_for(), blender::index_mask::IndexMask::size(), blender::Span< T >::size(), and skip_bm_face().
Referenced by extract_edituv_tris(), and extract_edituv_tris_bm().
|
static |
Definition at line 100 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm_original_face_get(), blender::Span< T >::cast(), blender::draw::MeshRenderData::corners_num, data, extract_edituv_tris_mesh(), blender::bke::mesh::face_triangles_range(), blender::draw::MeshRenderData::faces, faces, blender::index_mask::IndexMask::foreach_index(), IndexMask::from_bools(), IndexMask::from_bools_inverse(), IndexMask::from_predicate(), blender::offset_indices::gather_selected_offsets(), GPU_indexbuf_build_ex(), GPU_indexbuf_build_from_memory(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_PRIM_TRIS, blender::draw::MeshRenderData::hide_poly, i, blender::IndexRange::index_range(), Span< T >::is_empty(), mask(), blender::draw::MeshRenderData::mesh, poly_to_tri_count(), blender::draw::MeshRenderData::select_poly, blender::index_mask::IndexMask::size(), blender::offset_indices::OffsetIndices< T >::size(), blender::Span< T >::size(), skip_bm_face(), and blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by extract_edituv_tris(), and extract_edituv_tris_mesh().
| gpu::IndexBufPtr blender::draw::extract_edituv_tris_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 244 of file extract_mesh_ibo_edituv.cc.
References BMesh, extract_edituv_tris_subdiv(), extract_edituv_tris_subdiv_bm(), extract_edituv_tris_subdiv_mesh(), blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::toolsettings, ToolSettings::uv_flag, and UV_FLAG_SELECT_SYNC.
Referenced by extract_edituv_tris_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
|
static |
Definition at line 193 of file extract_mesh_ibo_edituv.cc.
References blender::draw::MeshRenderData::bm, bm, BM_face_at_index(), build_tris_from_subdiv_quad_selection(), extract_edituv_tris_subdiv_bm(), IndexMask::from_predicate(), 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(), and extract_edituv_tris_subdiv_bm().
|
static |
Definition at line 216 of file extract_mesh_ibo_edituv.cc.
References bm_original_face_get(), build_tris_from_subdiv_quad_selection(), extract_edituv_tris_subdiv_mesh(), IndexMask::from_predicate(), 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(), and extract_edituv_tris_subdiv_mesh().
| gpu::VertBufPtr blender::draw::extract_face_dot_index | ( | const MeshRenderData & | mr | ) |
Definition at line 310 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_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_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_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, name, 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 192 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 180 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 164 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 290 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 129 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_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 89 of file extract_mesh_vbo_pos.cc.
References extract_loose_positions_subdiv(), 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, blender::draw::DRWSubdivCache::num_subdiv_loops, 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_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< int2 > | edges, | ||
| const Span< int > | loose_edges, | ||
| MutableSpan< T > | gpu_data ) |
Definition at line 249 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 227 of file extract_mesh_vbo_lnor.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_normals(), extract_normals_bm(), extract_normals_mesh(), blender::draw::MeshRenderData::extract_type, blender::MutableSpan< T >::fill(), 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 165 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 ) |
Definition at line 310 of file extract_mesh_vbo_lnor.cc.
References Mesh::corners_num, draw_subdiv_accumulate_normals(), draw_subdiv_build_lnor_buffer(), draw_subdiv_build_origindex_buffer(), draw_subdiv_interp_corner_normals(), extract_normals_subdiv(), get_normals_format(), GPU_vertbuf_create_on_device(), GPU_vertbuf_create_with_format(), GPU_vertbuf_data_alloc(), GPU_vertformat_from_attribute(), blender::draw::DRWSubdivCache::mesh, blender::draw::DRWSubdivCache::num_subdiv_loops, blender::draw::DRWSubdivCache::num_subdiv_verts, pos, 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, update_loose_normals(), and blender::draw::DRWSubdivCache::use_custom_loop_normals.
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_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.
| gpu::VertBufPtr blender::draw::extract_paint_overlay_flags | ( | const MeshRenderData & | mr | ) |
Definition at line 89 of file extract_mesh_vbo_paint_overlay_flag.cc.
References blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_edit_flags_bm(), extract_paint_overlay_flags(), blender::draw::MeshRenderData::extract_type, blender::MutableSpan< T >::fill(), get_paint_overlay_flag_format(), GPU_vertbuf_create_with_format(), GPU_vertbuf_data_alloc(), blender::draw::MeshRenderData::loose_indices_num, Mesh, size(), blender::MutableSpan< T >::take_back(), and blender::MutableSpan< T >::take_front().
Referenced by extract_paint_overlay_flags().
|
static |
Definition at line 11 of file extract_mesh_vbo_paint_overlay_flag.cc.
References blender::draw::MeshRenderData::edit_bmesh, Mesh::editflag, blender::draw::MeshRenderData::faces, faces, blender::MutableSpan< T >::fill(), blender::draw::MeshRenderData::hide_poly, blender::Span< T >::is_empty(), Span< T >::is_empty(), ME_EDIT_PAINT_FACE_SEL, ME_EDIT_PAINT_VERT_SEL, blender::draw::MeshRenderData::mesh, blender::draw::MeshRenderData::orig_index_vert, blender::threading::parallel_for(), blender::draw::MeshRenderData::select_poly, and blender::draw::MeshRenderData::select_vert.
| gpu::VertBufPtr blender::draw::extract_paint_overlay_flags_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache ) |
Definition at line 130 of file extract_mesh_vbo_paint_overlay_flag.cc.
References draw_subdiv_build_paint_overlay_flag_buffer(), extract_paint_overlay_flags_subdiv(), get_paint_overlay_flag_format(), GPU_vertbuf_create_on_device(), subdiv_full_vbo_size(), and update_loose_flags().
Referenced by extract_paint_overlay_flags_subdiv(), and mesh_buffer_cache_create_requested_subdiv().
| 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_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 131 of file extract_mesh_vbo_pos.cc.
References draw_subdiv_extract_pos(), extract_loose_positions_subdiv(), extract_positions_subdiv(), GPU_vertbuf_create_on_device(), GPU_vertformat_from_attribute(), blender::draw::DRWSubdivCache::num_subdiv_loops, and subdiv_full_vbo_size().
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_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_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 26 of file extract_mesh_vbo_tan.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), Geometry::attributes, BKE_editmesh_orco_tangents_calc(), BKE_editmesh_uv_tangents_calc(), BKE_mesh_orco_verts_transform(), blender::draw::MeshRenderData::bm, blender::draw::MeshRenderData::bm_face_normals, blender::draw::MeshRenderData::bm_loop_normals, BM_mesh_vert_coords_alloc(), BMesh, blender::bke::mesh::calc_orco_tangents(), blender::bke::mesh::calc_uv_tangents(), CD_ORCO, CD_PROP_FLOAT2, blender::draw::MeshBatchCache::cd_used, blender::bke::Corner, Mesh::corner_data, blender::draw::MeshRenderData::corner_normals, blender::draw::MeshRenderData::corner_verts, CustomData_get_active_layer(), CustomData_get_layer(), CustomData_get_layer_index(), CustomData_get_layer_name(), CustomData_get_render_layer(), blender::draw::MeshRenderData::edit_bmesh, blender::draw::MeshRenderData::extract_type, blender::draw::MeshRenderData::face_normals, blender::draw::MeshRenderData::faces, GPU_MAX_SAFE_ATTR_NAME, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), i, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), BMesh::ldata, blender::bke::AttributeAccessor::lookup(), MAX_MTFACE, blender::draw::MeshRenderData::mesh, blender::draw::MeshRenderData::sharp_faces, blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SNPRINTF, blender::draw::DRW_MeshCDMask::tan, blender::draw::DRW_MeshCDMask::tan_orco, 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 149 of file extract_mesh_vbo_tan.cc.
References BLI_assert, blender::gpu::convert_normal(), blender::draw::MeshRenderData::corners_num, blender::MutableSpan< T >::data(), extract_tan_init_common(), GPU_vertbuf_create_with_format(), GPU_vertbuf_data_alloc(), i, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), and blender::MutableSpan< T >::size().
| gpu::VertBufPtr blender::draw::extract_tangents_subdiv | ( | const MeshRenderData & | mr, |
| const DRWSubdivCache & | subdiv_cache, | ||
| const MeshBatchCache & | cache ) |
Definition at line 199 of file extract_mesh_vbo_tan.cc.
References blender::draw::MeshRenderData::corners_num, blender::gpu::VertBuf::data(), data, draw_subdiv_interp_custom_data(), extract_tan_init_common(), get_coarse_tan_format(), GPU_COMP_F32, 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, blender::Array< T, InlineBufferCapacity, Allocator >::index_range(), 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(), float, 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, name, blender::IndexRange::size(), blender::IndexRange::start(), and blender::draw::MeshRenderData::vert_positions.
Referenced by extract_edituv_stretch_angle().
|
static |
Definition at line 204 of file extract_mesh_vbo_select_idx.cc.
References blender::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 86 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 55 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 29 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 234 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_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 81 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().
| 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_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_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 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 777 of file draw_context.cc.
References BKE_object_visibility(), BKE_scene_uses_blender_workbench(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::clear(), blender::VectorList< T, CapacityStart, CapacityMax >::clear(), DEG_get_mode(), DEG_ITER_OBJECT_FLAG_LINKED_DIRECTLY, DEG_ITER_OBJECT_FLAG_LINKED_VIA_SET, DEG_iterator_dupli_is_visible(), DEG_iterator_object_is_visible(), evil::DEG_iterator_temp_object_free_properties(), evil::DEG_iterator_temp_object_from_dupli(), DEG_OBJECT_ITER_BEGIN, DEG_OBJECT_ITER_END, DEGObjectIterSettings::depsgraph, depsgraph, DRWContext::depsgraph, View3D::flag2, DEGObjectIterSettings::flags, foreach_obref_in_scene(), DEGObjectIterSettings::included_objects, invert(), blender::VectorList< T, CapacityStart, CapacityMax >::is_empty(), is_negative_m4(), IsNegativeScale, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), Object::light_linking, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_default(), OB_DUPLI, OB_NEG_SCALE, OB_SOLID, OB_VISIBLE_INSTANCES, OB_VISIBLE_PARTICLES, OB_VISIBLE_SELF, object_duplilist(), Object::runtime, DRWContext::scene, SET_FLAG_FROM_TEST, View3D::shading, supports_handle_ranges(), Object::transflag, View3DShading::type, DRWContext::v3d, V3D_SHOW_VIEWER, DEGObjectIterSettings::viewer_path, and View3D::viewer_path.
Referenced by DRW_draw_depth_loop(), drw_draw_render_loop_3d(), DRW_draw_select_id(), DRW_draw_select_loop(), DRW_render_object_iter(), and foreach_obref_in_scene().
|
static |
Definition at line 195 of file draw_cache_impl_curves.cc.
References Curves::batch_cache, and DRW_curves_batch_cache_validate().
Referenced by curves_get_eval_cache(), 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 133 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 192 of file extract_mesh_vbo_tan.cc.
References GPU_vertformat_from_attribute().
Referenced by extract_tangents_subdiv().
Definition at line 931 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 101 of file extract_mesh_vbo_edit_data.cc.
References 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_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_vertformat_from_attribute().
Referenced by extract_face_dots_subdiv().
|
static |
Definition at line 17 of file extract_mesh_vbo_fdots_pos.cc.
References GPU_vertformat_from_attribute().
Referenced by extract_face_dots_position(), and extract_face_dots_subdiv().
|
static |
Definition at line 561 of file draw_cache_impl_curves.cc.
References blender::bke::AttributeIter::data_type, blender::bke::Float2, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::name, name, and blender::bke::AttributeIter::stop().
Referenced by curves_sub_pass_setup_implementation(), blender::draw::CurvesEvalCache::ensure_attributes(), and blender::draw::CurvesEvalCache::ensure_attributes().
|
static |
Definition at line 1353 of file draw_cache_impl_particles.cc.
References blender::bke::AttributeIter::data_type, blender::bke::Float2, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::name, name, and blender::bke::AttributeIter::stop().
|
static |
Definition at line 354 of file draw_curves.cc.
References blender::bke::AttributeIter::data_type, blender::bke::Float2, blender::bke::AttributeAccessor::foreach_attribute(), blender::bke::AttributeIter::name, name, and blender::bke::AttributeIter::stop().
|
static |
Definition at line 278 of file extract_mesh_vbo_lnor.cc.
References get_normals_format(), GPU_vertformat_alias_add(), and GPU_vertformat_attr_add().
Referenced by extract_normals_subdiv(), and get_normals_format().
|
static |
Definition at line 115 of file draw_cache_impl_subdivision.cc.
References GPU_vertformat_attr_add().
Referenced by draw_subdiv_init_origindex_buffer(), and draw_subdiv_init_origindex_buffer().
|
static |
Definition at line 82 of file extract_mesh_vbo_paint_overlay_flag.cc.
References get_paint_overlay_flag_format(), and GPU_vertformat_from_attribute().
Referenced by extract_paint_overlay_flags(), extract_paint_overlay_flags_subdiv(), and get_paint_overlay_flag_format().
|
static |
Definition at line 21 of file extract_mesh_vbo_sculpt_data.cc.
References GPU_vertformat_attr_add().
Referenced by extract_sculpt_data(), and extract_sculpt_data_subdiv().
|
static |
Definition at line 174 of file draw_cache_impl_grease_pencil.cc.
References BLI_assert, blender::draw::GreasePencilBatchCache::edit_handles, blender::draw::GreasePencilBatchCache::edit_handles_ibo, 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_info, 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 207 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_handles_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 155 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 271 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 146 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 518 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::is_empty(), blender::index_mask::IndexMask::size(), blender::MutableSpan< T >::slice(), blender::bke::greasepencil::Drawing::strokes(), and blender::math::transform_points().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 129 of file draw_cache_impl_grease_pencil.cc.
References GPU_vertformat_attr_add().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 720 of file draw_cache_impl_grease_pencil.cc.
References blender::MutableSpan< T >::as_span(), bezier_data_value(), BLI_assert, blender::MutableSpan< T >::cast(), blender::array_utils::copy(), blender::array_utils::count_booleans(), CURVE_HANDLE_ALL, CURVE_TYPE_POLY, blender::gpu::VertBuf::data(), EDIT_CURVES_BEZIER_KNOT, blender::draw::GreasePencilBatchCache::edit_handles, blender::draw::GreasePencilBatchCache::edit_handles_ibo, 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_info, blender::draw::GreasePencilBatchCache::edit_points_pos, blender::draw::GreasePencilBatchCache::edit_points_selection, blender::draw::GreasePencilBatchCache::edit_points_vflag, blender::IndexRange::first(), blender::index_mask::IndexMask::foreach_index(), blender::array_utils::gather(), GPU_batch_create, GPU_batch_vertbuf_add(), GPU_indexbuf_build_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_indexbuf_init_ex(), GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, 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_handle_lines(), index_buf_add_bezier_line_points(), index_buf_add_line_points(), index_buf_add_nurbs_lines(), index_buf_add_points(), blender::draw::GreasePencilBatchCache::is_dirty, blender::index_mask::IndexMask::is_empty(), blender::IndexRange::last(), blender::index_mask::masked_fill(), blender::bke::Point, pos, 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(), blender::bke::greasepencil::Layer::to_object_space(), and blender::math::transform_points().
Referenced by DRW_cache_grease_pencil_edit_handles_get(), DRW_cache_grease_pencil_edit_lines_get(), and DRW_cache_grease_pencil_edit_points_get().
|
static |
Definition at line 1132 of file draw_cache_impl_grease_pencil.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), attribute_interpolate(), BLI_assert, blender::MutableSpan< T >::cast(), 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_build_ex(), GPU_indexbuf_get_data(), 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_geom_batch_ensure(), grease_pencil_stroke_format(), i, blender::draw::GreasePencilBatchCache::ibo, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), interpolate_corners(), blender::math::invert(), is_cyclic(), blender::draw::GreasePencilBatchCache::is_dirty, blender::IndexRange::last(), 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_miter(), 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(), grease_pencil_geom_batch_ensure(), and grease_pencil_wire_batch_ensure().
|
static |
Definition at line 498 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 476 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 447 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 111 of file draw_cache_impl_grease_pencil.cc.
References GPU_vertformat_attr_add().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 279 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_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::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(), blender::math::transform_points(), 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 1425 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(), grease_pencil_wire_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(), and grease_pencil_wire_batch_ensure().
| void blender::draw::hair_init | ( | ) |
Hair.
| CurvesEvalCache & blender::draw::hair_particle_get_eval_cache | ( | ParticleDrawSource & | src | ) |
Definition at line 1664 of file draw_cache_impl_particles.cc.
References blender::assign_if_different(), blender::draw::ParticleHairCache::eval_cache, blender::draw::ParticleBatchCache::hair, particle_batch_cache_clear_hair(), particle_batch_cache_get(), blender::draw::ParticleDrawSource::psys, blender::draw::CurvesEvalCache::resolution, and blender::draw::ParticleDrawSource::resolution().
Referenced by hair_pos_buffer_get(), and hair_sub_pass_setup_implementation().
| blender::gpu::VertBuf * blender::draw::hair_pos_buffer_get | ( | Scene * | scene, |
| Object * | object, | ||
| ParticleSystem * | psys, | ||
| ModifierData * | md ) |
Definition at line 36 of file draw_hair.cc.
References DRWData::curves_module, DRWContext::data, drw_get(), drw_particle_get_hair_source(), drw_particle_update_ptcache(), blender::draw::CurvesEvalCache::ensure_positions(), blender::draw::CurvesEvalCache::evaluated_pos_rad_buf, hair_particle_get_eval_cache(), RenderData::hair_subdiv, module, and Scene::r.
Referenced by blender::eevee::VelocityModule::step_object_sync().
Definition at line 1560 of file draw_cache_impl_particles.cc.
References BLI_assert, and powf.
Referenced by blender::draw::CurvesEvalCache::ensure_positions().
| 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 104 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 55 of file draw_hair.cc.
References blender::draw::CurvesEvalCache::batch_get(), CD_PROP_FLOAT2, Mesh::corner_data, curves_bind_resources(), DRWData::curves_module, blender::draw::ParticleDrawSource::curves_num(), CustomData_get_active_layer_name(), DRWContext::data, drw_get(), drw_particle_get_hair_source(), drw_particle_update_ptcache(), blender::draw::CurvesEvalCache::ensure_attributes(), blender::draw::CurvesEvalCache::ensure_positions(), blender::draw::ParticleDrawSource::evaluated_points_num(), hair_particle_get_eval_cache(), RenderData::hair_subdiv, RenderData::hair_type, blender::draw::CurvesEvalCache::indirection_buf_get(), blender::draw::ParticleDrawSource::md, ParticleSystemModifierData::mesh_final, module, blender::draw::ObjectRef::object, Scene::r, SCE_HAIR_SHAPE_CYLINDER, and SCE_HAIR_SHAPE_STRAND.
Referenced by hair_sub_pass_setup().
|
static |
Definition at line 212 of file draw_cache_impl_curves.cc.
References blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), and create_edit_points_selection().
|
static |
Definition at line 217 of file draw_cache_impl_curves.cc.
References blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), and create_edit_points_selection().
|
static |
Definition at line 207 of file draw_cache_impl_curves.cc.
References blender::offset_indices::OffsetIndices< T >::total_size().
Referenced by calc_edit_handles_ibo(), create_edit_points_data(), create_edit_points_position(), and create_edit_points_selection().
|
static |
Definition at line 631 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::foreach_index(), blender::index_mask::IndexMask::is_empty(), pos, and blender::index_mask::IndexMask::size().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 691 of file draw_cache_impl_grease_pencil.cc.
References blender::index_mask::IndexMask::is_empty(), and blender::index_mask::IndexMask::size().
Referenced by grease_pencil_edit_batch_ensure().
|
static |
Definition at line 559 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 597 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 655 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 434 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 107 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 253 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 1133 of file draw_cache_impl_mesh.cc.
References batch, GPU_batch_vertbuf_add(), 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 bke::AttrType | 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_legacy(), and T.
Referenced by blender::draw::pbvh::attribute_format(), init_coarse_data(), and init_vbo_for_attribute().
|
static |
Definition at line 30 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, name, and SNPRINTF.
Referenced by extract_attribute(), and extract_attribute_subdiv().
|
static |
Definition at line 1329 of file draw_cache_impl_particles.cc.
References blender::Span< T >::data(), DMCACHE_NOTFOUND, num, particle_mcol_convert(), particle_mface_index(), psys_interpolate_mcol(), blender::Span< T >::size(), and blender::Span< T >::slice().
|
static |
Definition at line 1342 of file draw_cache_impl_particles.cc.
References DMCACHE_NOTFOUND, num, particle_mface_index(), psys_interpolate_uvs(), and blender::Span< T >::size().
|
static |
Definition at line 1079 of file draw_cache_impl_grease_pencil.cc.
References CURVE_TYPE_POLY, blender::VArray< T >::from_single(), blender::VArrayCommon< T >::get_internal_single(), GP_STROKE_MITER_ANGLE_ROUND, blender::VArrayCommon< T >::is_single(), blender::threading::parallel_for(), blender::bke::Point, and types.
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 1384 of file draw_cache_impl_particles.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_mesh_tessface_ensure(), CD_MFACE, ParticleSystem::child, blender::draw::ParticleSpans::children, ParticleSettings::childtype, blender::draw::ParticleDrawSource::curves_num(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), data, ELEM, ParticleSettings::from, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, GPU_vertbuf_create_with_format_ex(), Span< T >::index_range(), blender::math::interpolate(), Span< T >::is_empty(), blender::draw::ParticleDrawSource::md, ParticleSystemModifierData::mesh_final, name, blender::draw::ParticleSpans::parent, ParticleSystem::part, PART_CHILD_PARTICLES, PART_FROM_FACE, PART_FROM_VOLUME, particle_index(), ParticleSystem::particles, blender::draw::ParticleDrawSource::particles_get(), blender::draw::ParticleDrawSource::psys, ParticleSystemModifierData::psys, blender::Vector< T, InlineBufferCapacity, Allocator >::reserve(), span_from_custom_data_layer(), ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by ensure_curve_attribute().
|
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_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_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 515 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 644 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 551 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 556 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, UVLines, UVs, and UVTris.
Referenced by DRW_mesh_batch_cache_dirty_tag(), and mesh_batch_cache_clear().
|
static |
Definition at line 580 of file draw_cache_impl_mesh.cc.
References discard_buffers(), EditUVData, EditUVFaceDots, EditUVLines, EditUVPoints, EditUVTris, FaceDotEditUVData, UVLines, and UVTris.
Referenced by DRW_mesh_batch_cache_dirty_tag().
|
static |
Definition at line 414 of file draw_cache_impl_subdivision.cc.
References blender::draw::MeshBatchCache::subdiv_cache.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 635 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 510 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_uv_wireframe(), 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_paint_overlay_edges(), DRW_mesh_batch_cache_get_paint_overlay_surface(), DRW_mesh_batch_cache_get_paint_overlay_verts(), DRW_mesh_batch_cache_get_sculpt_overlays(), DRW_mesh_batch_cache_get_surface(), DRW_mesh_batch_cache_get_surface_sculpt(), DRW_mesh_batch_cache_get_surface_shaded(), DRW_mesh_batch_cache_get_surface_texpaint(), DRW_mesh_batch_cache_get_surface_texpaint_single(), DRW_mesh_batch_cache_get_surface_vertpaint(), 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 470 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 530 of file draw_cache_impl_mesh.cc.
References blender::draw::MeshBatchCache::batch, blender::draw::MeshBatchCache::batch_requested, DRW_batch_request(), i, blender::draw::MeshBatchCache::mat_len, MBC_SURFACE, MBC_SURFACE_PER_MAT, 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 445 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 626 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 106 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 334 of file draw_cache_extract_mesh.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), All, AllUVLines, 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, Edit, 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_paint_overlay_flags_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, PaintOverlayFlag, Points, Position, blender::gpu::DebugScope::scoped_capture(), SculptData, Selection, 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(), 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(), name, 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 393 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 361 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 377 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 409 of file draw_cache_extract_mesh_render_data.cc.
References BLI_assert, ME_WRAPPER_TYPE_BMESH, ME_WRAPPER_TYPE_MDATA, ME_WRAPPER_TYPE_SUBD, 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_MAX_SAFE_ATTR_NAME, GPU_vertformat_alias_add(), GPU_vertformat_attr_add(), GPU_vertformat_deinterleave(), GPU_vertformat_safe_attr_name(), i, MAX_MTFACE, SNPRINTF_UTF8, 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 534 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_ORIGINDEX, CD_PROP_BOOL, 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_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_BOOL, BM_ELEM_CD_GET_FLOAT, 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, 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 blender::draw::MeshRenderData::bm, BM_ELEM_CD_GET_BOOL, BM_elem_flag_test, BM_ELEM_HIDDEN, BM_ELEM_SELECT, blender::draw::MeshRenderData::efa_act, blender::draw::MeshRenderData::efa_act_uv, 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 blender::draw::MeshRenderData::bm, 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 blender::draw::MeshRenderData::bm, 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 485 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 514 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 82 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_miter | ( | const float | rot, |
| const float | asp, | ||
| const float | softness, | ||
| const float | miter_angle ) |
Definition at line 226 of file draw_cache_impl_grease_pencil.cc.
References BLI_INLINE, clamp_i(), cosf, GP_CORNER_TYPE_BEVEL_BITS, GP_CORNER_TYPE_MITER_NUMBER, GP_CORNER_TYPE_ROUND_BITS, GP_STROKE_MITER_ANGLE_BEVEL, GP_STROKE_MITER_ANGLE_ROUND, M_PI, packed, rot, and unit_float_to_uchar_clamp().
Referenced by grease_pencil_geom_batch_ensure().
|
static |
Definition at line 223 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 208 of file draw_cache_impl_particles.cc.
References blender::draw::CurvesEvalCache::clear(), blender::Vector< T, InlineBufferCapacity, Allocator >::clear(), blender::draw::ParticleHairCache::eval_cache, blender::draw::ParticleHairCache::evaluated_points_by_curve_storage, GPU_BATCH_DISCARD_SAFE, GPU_INDEXBUF_DISCARD_SAFE, GPU_VERTBUF_DISCARD_SAFE, blender::draw::ParticleHairCache::hairs, blender::draw::ParticleHairCache::indices, blender::draw::ParticleHairCache::points_by_curve_storage, and blender::draw::ParticleHairCache::pos.
Referenced by hair_particle_get_eval_cache(), and particle_batch_cache_clear().
|
static |
Definition at line 202 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 1199 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 1128 of file draw_cache_impl_particles.cc.
References edit_points_vert_format_get(), blender::draw::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, blender::draw::ParticleHairCache::indices, particle_batch_cache_fill_segments_edit(), ParticleSystem::particles, PTCacheEdit::pathcache, blender::draw::ParticleHairCache::point_len, blender::draw::ParticleHairCache::pos, and PTCacheEdit::totcached.
Referenced by DRW_particles_batch_cache_get_edit_strands().
|
static |
Definition at line 1258 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 964 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_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 764 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, blender::draw::ParticleHairCache::elems_len, Mesh::fdata_legacy, float, 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, blender::draw::ParticleHairCache::indices, MEM_freeN(), MEM_malloc_arrayN(), MEM_mallocN(), MEM_SAFE_FREE, ParticleSystemModifierData::mesh_final, name, ParticleSystem::part, PART_DRAW_PARENT, particle_batch_cache_fill_segments(), PARTICLE_SOURCE_CHILDREN, PARTICLE_SOURCE_PARENT, ParticleSystem::pathcache, PTCacheEdit::pathcache, blender::draw::ParticleHairCache::point_len, blender::draw::ParticleHairCache::pos, SNPRINTF_UTF8, PTCacheEdit::totcached, ParticleSystem::totchild, and ParticleSystem::totpart.
Referenced by DRW_particles_batch_cache_get_hair().
|
static |
Definition at line 587 of file draw_cache_impl_particles.cc.
References attr_id, ParticleSystem::child, ParticleSettings::childtype, ParticleCacheKey::co, float, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_attr_set(), 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, blender::draw::ParticleHairCache::pos, ParticleCacheKey::segments, sub_v3_v3v3(), and ParticleSystem::totpart.
Referenced by particle_batch_cache_ensure_pos_and_seg().
|
static |
Definition at line 727 of file draw_cache_impl_particles.cc.
References ParticleCacheKey::co, ParticleCacheKey::col, copy_v3_v3(), float, GPU_indexbuf_add_generic_vert(), GPU_indexbuf_add_primitive_restart(), GPU_vertbuf_raw_step(), 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 178 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_particle_get_hair_source(), 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 hair_particle_get_eval_cache().
|
static |
Definition at line 162 of file draw_cache_impl_particles.cc.
References ParticleSystem::batch_cache, blender::draw::ParticleBatchCache::edit_hair, blender::draw::ParticleHairCache::eval_cache, blender::draw::ParticleBatchCache::hair, and blender::draw::ParticleBatchCache::is_dirty.
Referenced by particle_batch_cache_get().
|
static |
Definition at line 145 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 539 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().
|
static |
Definition at line 405 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 369 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 496 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().
|
static |
Definition at line 469 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 443 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 710 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 1316 of file draw_cache_impl_particles.cc.
References MCol::a, MCol::b, BLI_color_from_srgb_table, col, MCol::g, IMB_colormanagement_rec709_to_scene_linear(), and MCol::r.
Referenced by interpolate().
|
static |
Definition at line 1311 of file draw_cache_impl_particles.cc.
References ChildParticle::num.
|
static |
Definition at line 1301 of file draw_cache_impl_particles.cc.
References DMCACHE_ISCHILD, DMCACHE_NOTFOUND, ELEM, ParticleData::num, and ParticleData::num_dmcache.
Referenced by interpolate(), and interpolate().
Definition at line 356 of file draw_cache_impl_particles.cc.
References MCol::b, BLI_color_from_srgb_table, col, MCol::g, IMB_colormanagement_rec709_to_scene_linear(), MCol::r, and unit_float_to_ushort_clamp().
Referenced by particle_batch_cache_fill_segments().
|
static |
Definition at line 152 of file draw_cache_impl_pointcloud.cc.
References blender::draw::PointCloudEvalCache::attr_viewer, blender::draw::PointCloudEvalCache::dots, blender::draw::PointCloudBatchCache::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 89 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 107 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 94 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 143 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 308 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_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(), name, 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 231 of file draw_cache_impl_pointcloud.cc.
References ARRAY_SIZE, data, blender::draw::PointCloudBatchCache::eval_cache, blender::draw::PointCloudEvalCache::geom_indices, GPU_indexbuf_build_in_place_ex(), GPU_indexbuf_get_data(), GPU_indexbuf_init(), GPU_indexbuf_primitive_len(), GPU_PRIM_TRIS, half_octahedron_tris, INT32_MAX, blender::threading::parallel_for(), and PointCloud::totpoint.
Referenced by DRW_pointcloud_batch_cache_create_requested().
|
static |
Definition at line 267 of file draw_cache_impl_pointcloud.cc.
References Geometry::attributes, blender::gpu::VertBuf::data(), blender::draw::PointCloudBatchCache::eval_cache, 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 343 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 111 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 70 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 382 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 350 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, name, pointcloud_batch_cache_get(), pointcloud_surface_shaded_get(), 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, float, 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 697 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(), mesh_cd_vdata_get_from_mesh(), and name.
Referenced by DRW_mesh_batch_cache_get_surface_sculpt(), and DRW_mesh_batch_cache_get_surface_vertpaint().
Definition at line 573 of file draw_cache_impl_curves.cc.
References blender::draw::CurvesEvalCache::attr_used, blender::bke::CurvesGeometry::attributes(), blender::bke::AttributeAccessor::contains(), drw_attributes_add_request(), drw_attributes_merge(), blender::draw::CurvesBatchCache::eval_cache, Curves::geometry, get_batch_cache(), and name.
Referenced by DRW_curves_texture_for_evaluated_attribute().
|
static |
Definition at line 525 of file draw_cache_extract_mesh_render_data.cc.
References Mesh::active_color_attribute, blender::draw::MeshRenderData::active_color_name, Mesh::default_color_attribute, blender::draw::MeshRenderData::default_color_name, editmesh_final_or_this(), and retrieve_active_attribute_names().
Referenced by mesh_render_data_create(), and retrieve_active_attribute_names().
|
inline |
Definition at line 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 156 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, name, 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 50 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 202 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, 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().
|
static |
Definition at line 367 of file draw_curves.cc.
References attribute_index_in_material(), CurvesInfos::is_point_attribute, and name.
Referenced by curves_bind_resources_implementation().
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 25 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().
| Span< T > blender::draw::span_from_custom_data_layer | ( | const Mesh & | mesh, |
| const eCustomDataType | type ) |
Definition at line 1377 of file draw_cache_impl_particles.cc.
References CustomData_get_layer(), Mesh::fdata_legacy, T, and Mesh::totface_legacy.
| Span< T > blender::draw::span_from_custom_data_layer | ( | const Mesh & | mesh, |
| const eCustomDataType | type, | ||
| const StringRef | name ) |
Definition at line 1366 of file draw_cache_impl_particles.cc.
References CustomData_get_layer_n(), CustomData_get_named_layer(), Mesh::fdata_legacy, name, T, and Mesh::totface_legacy.
Referenced by interpolate_face_corner_attribute_to_curve().
|
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, float, 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 254 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 272 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_paint_overlay_flags_subdiv(), extract_positions_subdiv(), extract_vert_index_subdiv(), update_loose_flags(), and update_loose_normals().
|
inline |
The number of subdivided edges from base mesh loose edges.
Definition at line 266 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 260 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 682 of file draw_context.cc.
References BKE_modifiers_findby_type(), BKE_object_obdata_to_type(), DRW_object_is_visible_psys_in_active_context(), Object::dt, ELEM, eModifierType_Fluid, GreasePencil::flag, GREASE_PENCIL_STROKE_ORDER_3D, LISTBASE_FOREACH, min, DupliObject::ob, OB_BOUNDBOX, OB_CURVES_LEGACY, DupliObject::ob_data, OB_EMPTY, OB_FONT, OB_GREASE_PENCIL, OB_MESH, OB_POINTCLOUD, OB_SURF, PART_DRAW_PATH, PART_DRAW_REND, Object::particlesystem, and supports_handle_ranges().
Referenced by foreach_obref_in_scene(), and supports_handle_ranges().
|
static |
Definition at line 895 of file draw_curves_test.cc.
References blender::gpu::VertBuf::allocate(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), BASIS_CACHE_OFFSET_SLOT, BASIS_CACHE_SLOT, BEZIER_OFFSETS_SLOT, blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), CONTROL_WEIGHTS_SLOT, CURVE_CYCLIC_SLOT, CURVE_RESOLUTION_SLOT, CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, CURVE_TYPE_NURBS, CURVE_TYPE_SLOT, CURVES_ORDER_SLOT, blender::gpu::VertBuf::data(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), data, Vector< T, InlineBufferCapacity, Allocator >::data(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), EVALUATED_ATTR_SLOT, EVALUATED_POINT_SLOT, EXPECT_EQ(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), Float, GPU_BARRIER_BUFFER_UPDATE, GPU_shader_create_from_info_name(), GPU_SHADER_FREE_SAFE, GPU_shader_unbind(), GPU_vertbuf_create_with_format(), GPU_VERTBUF_DISCARD_SAFE, GPU_VERTEX_FORMAT_FUNC, HANDLES_POS_LEFT_SLOT, HANDLES_POS_RIGHT_SLOT, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::bke::curves::nurbs::BasisCache::invalid, blender::bke::curves::per_curve_point_offsets_range(), POINT_ATTR_SLOT, POINTS_BY_CURVES_SLOT, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), Vector< T, InlineBufferCapacity, Allocator >::size(), blender::MutableSpan< T >::slice(), blender::Span< T >::slice(), blender::draw::detail::PassBase< DrawCommandBufType >::specialize_constant(), blender::bke::curves::nurbs::BasisCache::start_indices, blender::draw::Manager::submit(), test_draw_curves_interpolate_attributes(), and blender::bke::curves::nurbs::BasisCache::weights.
Referenced by test_draw_curves_interpolate_attributes().
|
static |
Definition at line 362 of file draw_curves_test.cc.
References blender::gpu::VertBuf::allocate(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), BASIS_CACHE_OFFSET_SLOT, BASIS_CACHE_SLOT, BEZIER_OFFSETS_SLOT, blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::bke::curves::bezier::calculate_evaluated_positions(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), CONTROL_WEIGHTS_SLOT, CURVE_CYCLIC_SLOT, CURVE_RESOLUTION_SLOT, CURVE_TYPE_BEZIER, CURVE_TYPE_CATMULL_ROM, CURVE_TYPE_NURBS, CURVE_TYPE_SLOT, CURVES_LENGTH_SLOT, CURVES_ORDER_SLOT, blender::gpu::VertBuf::data(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), data, Vector< T, InlineBufferCapacity, Allocator >::data(), blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), blender::math::distance(), EVALUATED_POINT_SLOT, EVALUATED_POS_RAD_SLOT, EVALUATED_TIME_SLOT, EXPECT_EQ(), blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), GPU_BARRIER_BUFFER_UPDATE, GPU_BARRIER_SHADER_STORAGE, GPU_shader_create_from_info_name(), GPU_SHADER_FREE_SAFE, GPU_shader_unbind(), GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_vertbuf_create_with_format(), GPU_vertbuf_create_with_format_ex(), GPU_VERTBUF_DISCARD_SAFE, GPU_VERTEX_FORMAT_FUNC, HANDLES_POS_LEFT_SLOT, HANDLES_POS_RIGHT_SLOT, i, blender::MatBase< float, 4, 4 >::identity(), blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::bke::curves::bezier::interpolate_to_evaluated(), blender::bke::curves::catmull_rom::interpolate_to_evaluated(), blender::bke::curves::nurbs::interpolate_to_evaluated(), blender::bke::curves::nurbs::BasisCache::invalid, blender::bke::curves::per_curve_point_offsets_range(), POINT_POSITIONS_SLOT, POINT_RADII_SLOT, POINTS_BY_CURVES_SLOT, pos, blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), Vector< T, InlineBufferCapacity, Allocator >::size(), blender::draw::detail::PassBase< DrawCommandBufType >::specialize_constant(), blender::math::numbers::sqrt3, blender::bke::curves::nurbs::BasisCache::start_indices, blender::draw::Manager::submit(), test_draw_curves_interpolate_position(), w(), blender::bke::curves::nurbs::BasisCache::weights, and x.
Referenced by test_draw_curves_interpolate_position().
|
static |
Definition at line 21 of file draw_curves_test.cc.
References blender::gpu::VertBuf::allocate(), blender::draw::detail::PassBase< DrawCommandBufType >::barrier(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ssbo(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_texture(), blender::draw::detail::PassBase< DrawCommandBufType >::bind_ubo(), blender::draw::detail::StorageCommon< T, len, device_only >::clear_to_zero(), blender::gpu::VertBuf::data(), blender::draw::detail::PassBase< DrawCommandBufType >::draw(), EXPECT_EQ(), fb(), blender::draw::detail::PassBase< DrawCommandBufType >::framebuffer_set(), GPU_BARRIER_BUFFER_UPDATE, GPU_batch_create_procedural(), GPU_BATCH_DISCARD_SAFE, GPU_PRIM_TRI_STRIP, GPU_shader_create_from_info_name(), GPU_SHADER_FREE_SAFE, GPU_shader_unbind(), GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_vertbuf_create_with_format_ex(), GPU_VERTBUF_DISCARD_SAFE, GPU_VERTEX_FORMAT_FUNC, blender::draw::detail::Pass< DrawCommandBufType >::init(), isnan, blender::draw::detail::UniformCommon< T, len, device_only >::push_update(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), and blender::draw::Manager::submit().
|
static |
Definition at line 267 of file draw_curves_test.cc.
References blender::gpu::VertBuf::allocate(), 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::gpu::VertBuf::data(), data, blender::draw::detail::PassBase< DrawCommandBufType >::dispatch(), EXPECT_EQ(), GPU_BARRIER_BUFFER_UPDATE, GPU_shader_create_from_info_name(), GPU_SHADER_FREE_SAFE, GPU_shader_unbind(), GPU_vertbuf_create_with_format(), GPU_VERTBUF_DISCARD_SAFE, GPU_VERTEX_FORMAT_FUNC, blender::draw::detail::Pass< DrawCommandBufType >::init(), blender::draw::detail::PassBase< DrawCommandBufType >::push_constant(), blender::draw::detail::StorageCommon< T, len, device_only >::read(), blender::draw::detail::PassBase< DrawCommandBufType >::shader_set(), blender::draw::Manager::submit(), and test_draw_curves_topology().
Referenced by test_draw_curves_topology().
|
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_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_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_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_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 1997 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 742 of file eevee_test.cc.
References SHADOW_MAX_PAGE.
|
static |
Definition at line 632 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 750 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_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 368 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 1813 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 1566 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 97 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(), 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 26 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(), 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 196 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 1189 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 1224 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_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 1826 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::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::eevee::Surfel::normal, 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::draw::Manager::submit(), blender::eevee::CaptureInfoData::surfel_len, test_eevee_surfel_list(), and view.
Referenced by test_eevee_surfel_list().
|
static |
Definition at line 684 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 129 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers().
|
static |
Definition at line 110 of file extract_mesh_vbo_paint_overlay_flag.cc.
References blender::IndexRange::from_begin_end(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), i, blender::draw::DRWSubdivCache::num_subdiv_loops, subdiv_full_vbo_size(), and update_loose_flags().
Referenced by extract_paint_overlay_flags_subdiv(), and update_loose_flags().
|
static |
Definition at line 290 of file extract_mesh_vbo_lnor.cc.
References blender::IndexRange::from_begin_end(), GPU_vertbuf_update_sub(), GPU_vertbuf_use(), i, blender::draw::DRWSubdivCache::num_subdiv_loops, subdiv_full_vbo_size(), and update_loose_normals().
Referenced by extract_normals_subdiv(), and update_loose_normals().
|
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 84 of file draw_cache_extract_mesh.cc.
References Geometry::attributes, blender::bke::Corner, blender::bke::Int16_2D, 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, float, 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 286 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_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, 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 278 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 262 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 1588 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 1585 of file draw_cache_impl_subdivision.cc.
Referenced by draw_subdiv_create_requested_buffers(), and DRW_cache_free_old_subdiv().
|
static |
Definition at line 1586 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 1760 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 1761 of file draw_cache_impl_subdivision.cc.
Referenced by DRW_cache_free_old_subdiv(), and DRW_subdiv_cache_free().
|
static |
Definition at line 224 of file draw_cache_impl_pointcloud.cc.
Referenced by pointcloud_extract_indices().