13 #ifndef __GU_BLEND_H__
14 #define __GU_BLEND_H__
153 bool mySwitchDeltaModeOCL;
192 template <
typename T>
215 bool doslerp =
true,
bool usevforpinterp =
false,
float timestep = (1/24.0),
217 float advdt = 1,
bool deleteUnmatched =
false,
const char *unmatchedGroupName = NULL);
228 bool is_differencing =
true,
bool dosparse =
false,
229 float timestep = (1/24.0),
const char *velname =
"vel",
float advdt = 1,
fpreal volweight = 0,
230 int deleteUnmatched = 0,
const char *unmatchedGroupName = NULL,
257 float channel_weight,
UT_Array< GA_Offset > myArrayOfOffsets
A class to manage an ordered array which has fixed offset handles.
Definition of a geometry attribute.
void prepareDenseDeltasOCL(const UT_Array< UT_Array< float >> &cpu_deltas, const UT_Array< UT_Array< int >> &page_offsets, const UT_Array< UT_Array< std::pair< GA_PageNum, exint >>> &page_starts, int num_shapes, int tuple_size)
void prepareWeightsOCL(const float *cpu_weights, int num_shapes)
UT_Array< PerAttribData > * myVertexArrayOfPerAttribData
UT_Array< PerMappingData > * myPtArrayOfPerMappingData
UT_Array< UT_Array< int > > myArrayOfPageOffsets
UT_Array< PerAttribDataT< T > > * myPtArrayOfPerAttribData
UT_Array< PerAttribData > * myPtArrayOfPerAttribData
UT_Array< UT_Array< std::pair< GA_PageNum, exint > > > myArrayOfPageStarts
UT_Array< int64 > * myPrimListDataIds
void setRedoDeltaOCL(bool redo_delta)
bool switchDeltaModeOCL()
UT_Array< PerAttribDataT< T > > * myVertexArrayOfPerAttribData
A range of elements in an index-map.
CachedItemsOCL * myCachedItemsOCL
bool myIdAttribDataIdIsSame
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
GA_API const UT_StringHolder name
bool myHasIdAttribMapping
UT_Array< UT_Array< int > > myArrayOfPageOffsets
UT_Array< int64 > * myPrimListDataIds
GU_API float GUgetInbetweenWeight(float channel_weight, const UT_Array< float > &inbetween_weights, int inbetween_idx)
DeltaModeOCL deltaModeOCL()
GLsizei GLsizei GLchar * source
UT_Array< UT_Array< std::pair< GA_PageNum, exint > > > myArrayOfPageStarts
UT_Array< PerAttribData > * myPrimArrayOfPerAttribData
bool isDeltaBufferEmpty()
GA_API const UT_StringHolder id
UT_Array< int64 > * myPtTopoDataIds
void applyCopyKernelOCL(GA_Attribute *data_attrib, int num_tuples)
UT_Array< PerMappingData > * myPtArrayOfPerMappingData
GU_API void GUblendRange(GA_Attribute &attrib0, const GA_Attribute &attrib1, const GA_Range &range0, float weight, const UT_Array< GA_Offset > *mapping)
void setCopyKernelArgOCL(GA_Attribute *data_attrib, int num_tuples)
void setSparseKernelArgOCL(GA_Attribute *data_attrib, int num_tuple)
UT_Array< int64 > myArrayOfDataId
UT_Array< int64 > myArrayOfDataId
UT_StringRef myAttribName
void applyDenseDeltaOCL(GA_Attribute *data_attrib, int num_shapes, int num_tuples)
void setDenseKernelArgOCL(GA_Attribute *data_attrib, int num_tuples, int num_shapes)
Kernel interface that implements cl_kernel.
void prepareSparseDeltasOCL(const UT_Array< UT_Array< float >> &cpu_deltas, const UT_Array< UT_Array< int >> &page_offsets, const UT_Array< UT_Array< std::pair< GA_PageNum, exint >>> &page_starts, int num_shapes, int tuple_size)
UT_Array< PerAttribDataT< T > > * myPrimArrayOfPerAttribData
UT_Array< UT_Array< T > > myArrayOfDeltas
UT_Array< int64 > * myPtTopoDataIds
GU_API void initPerFrameOCL(bool use_opencl, const GA_IndexMap *index_map, DeltaModeOCL dense_mode=DENSE_MODE)
void applySparseDeltaOCL(GA_Attribute *data_attrib, int num_shape, int num_tuple)
Program interface that implements cl_program.
UT_Array< UT_Array< float > > myArrayOfDeltas
GU_API void GUblend(GU_Detail *dest, const GU_Detail *source, fpreal weight, const char *pattern="*", const UT_StringRef &ptidattr=GA_Names::id, const UT_StringRef &primidattr=GA_Names::name, bool doslerp=true, bool usevforpinterp=false, float timestep=(1/24.0), GU_VoxelBlend dovoxel=GU_VoxelBlend::None, GU_Blend::CachedItems *cached_items=NULL, const char *velname="vel", float advdt=1, bool deleteUnmatched=false, const char *unmatchedGroupName=NULL)
UT_Array< PerMappingData > * myPrimArrayOfPerMappingData
UT_Array< PerMappingData > * myPrimArrayOfPerMappingData