Blender V5.0
blender::bke::subdiv::Subdiv Struct Reference

#include <BKE_subdiv.hh>

Public Attributes

Settings settings
blender::opensubdiv::TopologyRefinerImpltopology_refiner
OpenSubdiv_Evaluatorevaluator
Displacementdisplacement_evaluator
SubdivStats stats
struct { 
   blender::Array< int >   face_ptex_offset 
cache_

Detailed Description

This structure contains everything needed to construct subdivided surface. It does not specify storage, memory layout or anything else. It is possible to create different storage's (like, grid based CPU side buffers, GPU subdivision mesh, CPU side fully qualified mesh) from the same Subdiv structure.

Definition at line 175 of file BKE_subdiv.hh.

Member Data Documentation

◆ [struct]

struct { ... } blender::bke::subdiv::Subdiv::cache_

Cached values, are not supposed to be accessed directly.

◆ displacement_evaluator

Displacement* blender::bke::subdiv::Subdiv::displacement_evaluator

Optional displacement evaluator.

Definition at line 190 of file BKE_subdiv.hh.

◆ evaluator

◆ face_ptex_offset

blender::Array<int> blender::bke::subdiv::Subdiv::face_ptex_offset

Indexed by base face index, element indicates total number of ptex faces created for preceding base faces. This also stores the final ptex offset (the total number of PTex faces) at the end of the array so that algorithms can compute the number of ptex faces for a given face by computing the delta with the offset for the next face without using a separate data structure, e.g.:

const int num_face_ptex_faces = face_ptex_offset[i + 1] - face_ptex_offset[i];

In total this array has a size of num base faces + 1.

Definition at line 208 of file BKE_subdiv.hh.

◆ settings

Settings blender::bke::subdiv::Subdiv::settings

Settings this subdivision surface is created for.

It is read-only after assignment in BKE_subdiv_new_from_FOO().

Definition at line 181 of file BKE_subdiv.hh.

Referenced by blender::draw::DRW_subdivide_loose_geom(), multires_reshape_smooth_object_grids_with_details(), and blender::bke::subdiv::subdiv_mesh_vertex_of_loose_edge().

◆ stats

SubdivStats blender::bke::subdiv::Subdiv::stats

Statistics for debugging.

Definition at line 192 of file BKE_subdiv.hh.

◆ topology_refiner

blender::opensubdiv::TopologyRefinerImpl* blender::bke::subdiv::Subdiv::topology_refiner

Topology refiner includes all the glue logic to feed Blender side topology to OpenSubdiv. It can be shared by both evaluator and GL mesh drawer.

Definition at line 186 of file BKE_subdiv.hh.


The documentation for this struct was generated from the following file: