Blender V5.0
blender::opensubdiv::EvalOutputAPI Class Reference

#include <opensubdiv_evaluator.hh>

Classes

class  EvalOutput

Public Member Functions

 EvalOutputAPI (EvalOutput *implementation, PatchMap *patch_map)
 ~EvalOutputAPI ()
void setSettings (const OpenSubdiv_EvaluatorSettings *settings)
void setCoarsePositions (const float *positions, const int start_vertex_index, const int num_vertices)
void setVertexData (const float *data, const int start_vertex_index, const int num_vertices)
void setVaryingData (const float *varying_data, const int start_vertex_index, const int num_vertices)
void setFaceVaryingData (const int face_varying_channel, const float *varying_data, const int start_vertex_index, const int num_vertices)
void setCoarsePositionsFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void setVaryingDataFromBuffer (const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void setFaceVaryingDataFromBuffer (const int face_varying_channel, const void *buffer, const int start_offset, const int stride, const int start_vertex_index, const int num_vertices)
void refine ()
void evaluateLimit (const int ptex_face_index, float face_u, float face_v, float P[3], float dPdu[3], float dPdv[3])
void evaluateVertexData (const int ptex_face_index, float face_u, float face_v, float data[])
void evaluateVarying (const int ptex_face_index, float face_u, float face_v, float varying[3])
void evaluateFaceVarying (const int face_varying_channel, const int ptex_face_index, float face_u, float face_v, float face_varying[2])
void evaluatePatchesLimit (const OpenSubdiv_PatchCoord *patch_coords, const int num_patch_coords, float *P, float *dPdu, float *dPdv)
void getPatchMap (blender::gpu::VertBuf *patch_map_handles, blender::gpu::VertBuf *patch_map_quadtree, int *min_patch_face, int *max_patch_face, int *max_depth, int *patches_are_triangular)
gpu::StorageBufcreate_patch_arrays_buf ()
gpu::StorageBufget_patch_index_buf ()
gpu::StorageBufget_patch_param_buf ()
gpu::VertBufget_source_buf ()
gpu::VertBufget_source_data_buf ()
gpu::StorageBufcreate_face_varying_patch_array_buf (const int face_varying_channel)
gpu::StorageBufget_face_varying_patch_index_buf (const int face_varying_channel)
gpu::StorageBufget_face_varying_patch_param_buf (const int face_varying_channel)
gpu::VertBufget_face_varying_source_buf (const int face_varying_channel)
int get_face_varying_source_offset (const int face_varying_channel) const
bool hasVertexData () const

Protected Attributes

PatchMappatch_map_
EvalOutputimplementation_

Detailed Description

Definition at line 34 of file opensubdiv_evaluator.hh.

Constructor & Destructor Documentation

◆ EvalOutputAPI()

blender::opensubdiv::EvalOutputAPI::EvalOutputAPI ( EvalOutput * implementation,
PatchMap * patch_map )

Definition at line 141 of file evaluator_impl.cc.

References implementation_, and patch_map_.

◆ ~EvalOutputAPI()

blender::opensubdiv::EvalOutputAPI::~EvalOutputAPI ( )

Definition at line 146 of file evaluator_impl.cc.

References implementation_.

Member Function Documentation

◆ create_face_varying_patch_array_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::create_face_varying_patch_array_buf ( const int face_varying_channel)

Definition at line 380 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_uvs().

◆ create_patch_arrays_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::create_patch_arrays_buf ( )

◆ evaluateFaceVarying()

void blender::opensubdiv::EvalOutputAPI::evaluateFaceVarying ( const int face_varying_channel,
const int ptex_face_index,
float face_u,
float face_v,
float face_varying[2] )

Definition at line 298 of file evaluator_impl.cc.

References assert, implementation_, and patch_map_.

◆ evaluateLimit()

void blender::opensubdiv::EvalOutputAPI::evaluateLimit ( const int ptex_face_index,
float face_u,
float face_v,
float P[3],
float dPdu[3],
float dPdv[3] )

Definition at line 249 of file evaluator_impl.cc.

References assert, implementation_, P, and patch_map_.

◆ evaluatePatchesLimit()

void blender::opensubdiv::EvalOutputAPI::evaluatePatchesLimit ( const OpenSubdiv_PatchCoord * patch_coords,
const int num_patch_coords,
float * P,
float * dPdu,
float * dPdv )

◆ evaluateVarying()

void blender::opensubdiv::EvalOutputAPI::evaluateVarying ( const int ptex_face_index,
float face_u,
float face_v,
float varying[3] )

Definition at line 270 of file evaluator_impl.cc.

References assert, implementation_, and patch_map_.

◆ evaluateVertexData()

void blender::opensubdiv::EvalOutputAPI::evaluateVertexData ( const int ptex_face_index,
float face_u,
float face_v,
float data[] )

Definition at line 284 of file evaluator_impl.cc.

References assert, implementation_, and patch_map_.

◆ get_face_varying_patch_index_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_index_buf ( const int face_varying_channel)

Definition at line 385 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_uvs().

◆ get_face_varying_patch_param_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_param_buf ( const int face_varying_channel)

Definition at line 390 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_uvs().

◆ get_face_varying_source_buf()

gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_source_buf ( const int face_varying_channel)

Definition at line 395 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_uvs().

◆ get_face_varying_source_offset()

int blender::opensubdiv::EvalOutputAPI::get_face_varying_source_offset ( const int face_varying_channel) const

Get the source buffer offset for the given channel.

Definition at line 400 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_uvs().

◆ get_patch_index_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_index_buf ( )

◆ get_patch_param_buf()

gpu::StorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_param_buf ( )

◆ get_source_buf()

gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_source_buf ( )

◆ get_source_data_buf()

gpu::VertBuf * blender::opensubdiv::EvalOutputAPI::get_source_data_buf ( )

Definition at line 375 of file evaluator_impl.cc.

References implementation_.

Referenced by blender::draw::draw_subdiv_extract_pos().

◆ getPatchMap()

void blender::opensubdiv::EvalOutputAPI::getPatchMap ( blender::gpu::VertBuf * patch_map_handles,
blender::gpu::VertBuf * patch_map_quadtree,
int * min_patch_face,
int * max_patch_face,
int * max_depth,
int * patches_are_triangular )

◆ hasVertexData()

bool blender::opensubdiv::EvalOutputAPI::hasVertexData ( ) const

Definition at line 405 of file evaluator_impl.cc.

References implementation_.

◆ refine()

void blender::opensubdiv::EvalOutputAPI::refine ( )

Definition at line 244 of file evaluator_impl.cc.

References implementation_.

◆ setCoarsePositions()

void blender::opensubdiv::EvalOutputAPI::setCoarsePositions ( const float * positions,
const int start_vertex_index,
const int num_vertices )

Definition at line 156 of file evaluator_impl.cc.

References implementation_.

◆ setCoarsePositionsFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setCoarsePositionsFromBuffer ( const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 190 of file evaluator_impl.cc.

References i, and implementation_.

◆ setFaceVaryingData()

void blender::opensubdiv::EvalOutputAPI::setFaceVaryingData ( const int face_varying_channel,
const float * varying_data,
const int start_vertex_index,
const int num_vertices )

Definition at line 180 of file evaluator_impl.cc.

References implementation_.

◆ setFaceVaryingDataFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setFaceVaryingDataFromBuffer ( const int face_varying_channel,
const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 224 of file evaluator_impl.cc.

References i, and implementation_.

◆ setSettings()

void blender::opensubdiv::EvalOutputAPI::setSettings ( const OpenSubdiv_EvaluatorSettings * settings)

Definition at line 151 of file evaluator_impl.cc.

References implementation_.

◆ setVaryingData()

void blender::opensubdiv::EvalOutputAPI::setVaryingData ( const float * varying_data,
const int start_vertex_index,
const int num_vertices )

Definition at line 164 of file evaluator_impl.cc.

References implementation_.

◆ setVaryingDataFromBuffer()

void blender::opensubdiv::EvalOutputAPI::setVaryingDataFromBuffer ( const void * buffer,
const int start_offset,
const int stride,
const int start_vertex_index,
const int num_vertices )

Definition at line 207 of file evaluator_impl.cc.

References i, and implementation_.

◆ setVertexData()

void blender::opensubdiv::EvalOutputAPI::setVertexData ( const float * data,
const int start_vertex_index,
const int num_vertices )

Definition at line 172 of file evaluator_impl.cc.

References implementation_.

Member Data Documentation

◆ implementation_

◆ patch_map_

PatchMap* blender::opensubdiv::EvalOutputAPI::patch_map_
protected

The documentation for this class was generated from the following files: