Blender V4.5
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)
 
GPUStorageBuf * create_patch_arrays_buf ()
 
GPUStorageBuf * get_patch_index_buf ()
 
GPUStorageBuf * get_patch_param_buf ()
 
gpu::VertBufget_source_buf ()
 
gpu::VertBufget_source_data_buf ()
 
GPUStorageBuf * create_face_varying_patch_array_buf (const int face_varying_channel)
 
GPUStorageBuf * get_face_varying_patch_index_buf (const int face_varying_channel)
 
GPUStorageBuf * get_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.

◆ ~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()

GPUStorageBuf * blender::opensubdiv::EvalOutputAPI::create_face_varying_patch_array_buf ( const int face_varying_channel)

◆ create_patch_arrays_buf()

GPUStorageBuf * 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] )

◆ 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] )

◆ evaluatePatchesLimit()

◆ evaluateVarying()

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

◆ evaluateVertexData()

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

◆ get_face_varying_patch_index_buf()

GPUStorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_index_buf ( const int face_varying_channel)

◆ get_face_varying_patch_param_buf()

GPUStorageBuf * blender::opensubdiv::EvalOutputAPI::get_face_varying_patch_param_buf ( const int face_varying_channel)

◆ get_face_varying_source_buf()

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

◆ 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 blender::opensubdiv::EvalOutputAPI::EvalOutput::get_face_varying_source_offset(), and implementation_.

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

◆ get_patch_index_buf()

GPUStorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_index_buf ( )

◆ get_patch_param_buf()

GPUStorageBuf * blender::opensubdiv::EvalOutputAPI::get_patch_param_buf ( )

◆ get_source_buf()

◆ get_source_data_buf()

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

◆ getPatchMap()

◆ hasVertexData()

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

◆ refine()

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

◆ setCoarsePositions()

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

◆ 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 )

◆ setFaceVaryingData()

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

◆ 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 )

◆ setSettings()

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

◆ setVaryingData()

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

◆ 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 )

◆ setVertexData()

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

Member Data Documentation

◆ implementation_

◆ patch_map_

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

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