HDK
|
#include <RE_VertexArray.h>
Classes | |
class | re_VertexArrayCB |
Static Public Member Functions | |
static RE_VertexArray * | newAttribArray (const UT_StringHolder &name, int num_elements=0, const char *cachename=nullptr, RE_ArrayType at=RE_ARRAY_POINT, int capacity=0) |
static RE_VertexArray * | newElementArray (int num_elements=0, const char *cachename=nullptr, int capacity=0) |
static RE_VertexArray * | newArrayContainer (RE_OGLBufferHandle &array, const char *cachename=nullptr, RE_ArrayType at=RE_ARRAY_POINT) |
static RE_VertexArray * | newArrayContainer (UT_Array< RE_OGLBufferHandle > &array, const char *cachename=nullptr, RE_ArrayType at=RE_ARRAY_POINT) |
static void | getAttribCacheName (UT_WorkBuffer &str, const char *name, RE_ArrayType attrib_type, const char *cachename) |
Protected Member Functions | |
RE_VertexArray (RE_BufferType type, int nelements=0, int capacity=0) | |
RE_VertexArray (const UT_StringHolder &name, int nelements=0, int capacity=0) | |
RE_VertexArray (const RE_VertexArray &va) | |
void | detachTexBuffer (int index) |
void | generateCacheName (UT_StringHolder &cachename, int index) const |
Protected Attributes | |
UT_StringHolder | myCacheName |
UT_StringHolder | myAttribName |
RE_BufferType | myBufferType |
RE_GPUType | myType |
int | myVectorSize |
int | myLength |
int | myLengthScale |
int | myCapacity |
int | myInstanceStride |
UT_Array< RE_OGLBufferHandle > | myArray |
RE_OGLConstAttribute * | myConstAttrib |
RE_CacheTagHandle | myCacheTagHandle |
RE_BufferUsageHint | myUsage |
bool | myInUse |
bool | myMappedFlag [4] |
bool | myConstantFlag |
bool | myNormalizedFlag |
RE_ArrayType | myArrayType |
RE_GenericAttribID | myGenID |
int | myInstanceGroup |
RE_PersistentBufferMode | myPersistentBufferMode |
bool | myPersistentMapCopied |
bool | myDefaultValue |
bool | myAllowShared |
UT_Array< re_VertexArrayCB > | myRefs |
Static Protected Attributes | |
static RE_OGLBufferHandle | theNullArray |
Definition at line 29 of file RE_VertexArray.h.
RE_VertexArray::~RE_VertexArray | ( | ) |
|
protected |
|
protected |
|
protected |
void RE_VertexArray::adoptArrays | ( | const UT_Array< RE_OGLBufferHandle > & | buffers, |
const UT_StringHolder & | cachename | ||
) |
|
inline |
Definition at line 77 of file RE_VertexArray.h.
bool RE_VertexArray::attachTexBuffer | ( | RE_Render * | r, |
RE_Texture * | tex | ||
) |
bool RE_VertexArray::bind | ( | RE_Render * | r, |
unsigned int | stride = 0 , |
||
bool | geo_obj = false , |
||
const char * | shader_attrib = nullptr |
||
) |
bool RE_VertexArray::bindBuffer | ( | RE_Render * | r, |
RE_BufferBinding | point, | ||
int | index = 0 , |
||
int | array_index = 0 |
||
) |
|
inline |
Definition at line 69 of file RE_VertexArray.h.
RE_VertexArray* RE_VertexArray::clone | ( | ) | const |
void RE_VertexArray::createConstant | ( | ) |
void RE_VertexArray::drawPrims | ( | RE_Render * | r, |
RE_PrimType | prim, | ||
unsigned int | stride, | ||
int | num_instances, | ||
bool | enable_arrays, | ||
int | vertices_per_patch | ||
) |
void RE_VertexArray::drawSomePrims | ( | RE_Render * | r, |
RE_PrimType | prim, | ||
int | start, | ||
int | num, | ||
int | num_instances, | ||
bool | enable_arrays, | ||
int | vertices_per_patch | ||
) |
void RE_VertexArray::drawSomePrims | ( | RE_Render * | r, |
RE_PrimType | prim, | ||
RE_VertexArray * | index_array, | ||
int | index_offset, | ||
int | index_num_elements, | ||
int | num_instances, | ||
bool | enable_arrays, | ||
int | vertices_per_patch | ||
) |
|
protected |
bool RE_VertexArray::getArray | ( | RE_Render * | r, |
void * | data, | ||
int | offset = 0 , |
||
int | sublen = 0 , |
||
int | array_index = 0 |
||
) | const |
|
inline |
Definition at line 302 of file RE_VertexArray.h.
|
inline |
Definition at line 305 of file RE_VertexArray.h.
|
static |
|
inline |
Definition at line 304 of file RE_VertexArray.h.
|
inline |
Definition at line 295 of file RE_VertexArray.h.
|
inline |
Definition at line 71 of file RE_VertexArray.h.
RE_CacheVersion RE_VertexArray::getCacheVersion | ( | ) | const |
|
inline |
Definition at line 300 of file RE_VertexArray.h.
fpreal64* RE_VertexArray::getConstant | ( | ) |
const fpreal64* RE_VertexArray::getConstant | ( | ) | const |
|
inline |
Definition at line 296 of file RE_VertexArray.h.
RE_CachedExtraDataHandle RE_VertexArray::getExtraBufferData | ( | ) | const |
|
inline |
Definition at line 329 of file RE_VertexArray.h.
void RE_VertexArray::getGLName | ( | UT_StringHolder & | name | ) | const |
void RE_VertexArray::getHoudiniName | ( | UT_StringHolder & | name | ) | const |
|
inline |
Definition at line 311 of file RE_VertexArray.h.
|
inline |
Definition at line 310 of file RE_VertexArray.h.
|
inline |
Definition at line 298 of file RE_VertexArray.h.
|
inline |
Definition at line 299 of file RE_VertexArray.h.
int64 RE_VertexArray::getMemoryUsage | ( | bool | inclusive | ) | const |
Returns the amount of main memory (NOT graphics memory!) owned by this RE_VertexArray.
|
inline |
Definition at line 301 of file RE_VertexArray.h.
int64 RE_VertexArray::getSizeBytes | ( | ) | const |
|
inline |
Definition at line 380 of file RE_VertexArray.h.
|
inline |
Definition at line 297 of file RE_VertexArray.h.
bool RE_VertexArray::initialize | ( | RE_Render * | r, |
bool * | created = nullptr |
||
) |
bool RE_VertexArray::isBufferBound | ( | int | array_index = 0 | ) | const |
|
inline |
Definition at line 307 of file RE_VertexArray.h.
|
inline |
Definition at line 200 of file RE_VertexArray.h.
bool RE_VertexArray::isPersistentMap | ( | ) | const |
|
inline |
Definition at line 82 of file RE_VertexArray.h.
void* RE_VertexArray::map | ( | RE_Render * | r, |
RE_BufferAccess | access = RE_BUFFER_WRITE_ONLY , |
||
int | array_index = 0 |
||
) |
void* RE_VertexArray::mapRange | ( | RE_Render * | r, |
int | start, | ||
int | length, | ||
RE_BufferAccess | access = RE_BUFFER_WRITE_ONLY , |
||
int | array_index = 0 |
||
) |
|
inline |
Definition at line 199 of file RE_VertexArray.h.
void RE_VertexArray::markAsUnused | ( | bool | move_to_unused_cache = true | ) |
void RE_VertexArray::markAsUsed | ( | ) |
|
static |
|
static |
|
static |
|
static |
void RE_VertexArray::print | ( | std::ostream * | os = nullptr | ) | const |
void RE_VertexArray::printValues | ( | RE_Render * | r, |
std::ostream & | os, | ||
int | start = 0 , |
||
int | len = 0 |
||
) | const |
Definition at line 159 of file RE_VertexArray.h.
|
inline |
Definition at line 164 of file RE_VertexArray.h.
void RE_VertexArray::resetBuffer | ( | bool | delete_cached = false , |
bool | mark_as_unused = true |
||
) |
bool RE_VertexArray::setArray | ( | RE_Render * | r, |
const void * | data, | ||
int | offset = 0 , |
||
int | sublen = 0 , |
||
int | array_index = 0 |
||
) |
|
inline |
Definition at line 147 of file RE_VertexArray.h.
void RE_VertexArray::setAttributeName | ( | const char * | attrib | ) |
void RE_VertexArray::setBufferType | ( | RE_BufferType | type | ) |
void RE_VertexArray::setCacheTag | ( | RE_CacheTagHandle | h | ) |
void RE_VertexArray::setCacheVersion | ( | RE_CacheVersion | v | ) |
bool RE_VertexArray::setCapacity | ( | int | cap | ) |
bool RE_VertexArray::setExtraBufferData | ( | RE_CachedExtraData * | data | ) |
void RE_VertexArray::setFormat | ( | RE_GPUType | type, |
int | vectorsize, | ||
bool | normalized = true |
||
) |
|
inline |
Definition at line 326 of file RE_VertexArray.h.
Definition at line 142 of file RE_VertexArray.h.
void RE_VertexArray::setPersistent | ( | RE_PersistentBufferMode | mode | ) |
Set the buffer to use persistent mapped buffers, optionally with coherent behaviour (writes seen automatically). RE_EXT_BUFFER_STORAGE must be supported, or false will be returned and the setting will have no effect.
bool RE_VertexArray::setupForAttribIndex | ( | RE_Render * | r, |
int | attrib_location, | ||
RE_GPUType | t, | ||
int | stride | ||
) |
void RE_VertexArray::setUsage | ( | RE_BufferUsageHint | h | ) |
Hint to the GL driver how this buffer will be used. May only be set before the buffer is created (initialize(), setArray(), etc).
bool RE_VertexArray::unbind | ( | RE_Render * | r | ) |
bool RE_VertexArray::unbindAttrib | ( | RE_Render * | r | ) |
bool RE_VertexArray::unbindBuffer | ( | RE_Render * | r, |
RE_BufferBinding | point, | ||
int | index = 0 , |
||
int | array_index = 0 |
||
) |
|
protected |
Definition at line 366 of file RE_VertexArray.h.
|
protected |
Definition at line 350 of file RE_VertexArray.h.
|
protected |
Definition at line 360 of file RE_VertexArray.h.
|
protected |
Definition at line 342 of file RE_VertexArray.h.
|
protected |
Definition at line 343 of file RE_VertexArray.h.
|
protected |
Definition at line 341 of file RE_VertexArray.h.
|
protected |
Definition at line 353 of file RE_VertexArray.h.
|
protected |
Definition at line 348 of file RE_VertexArray.h.
|
protected |
Definition at line 358 of file RE_VertexArray.h.
|
protected |
Definition at line 352 of file RE_VertexArray.h.
|
protected |
Definition at line 365 of file RE_VertexArray.h.
|
protected |
Definition at line 361 of file RE_VertexArray.h.
|
protected |
Definition at line 362 of file RE_VertexArray.h.
|
protected |
Definition at line 349 of file RE_VertexArray.h.
|
protected |
Definition at line 355 of file RE_VertexArray.h.
|
protected |
Definition at line 346 of file RE_VertexArray.h.
|
protected |
Definition at line 347 of file RE_VertexArray.h.
|
protected |
Definition at line 357 of file RE_VertexArray.h.
|
protected |
Definition at line 359 of file RE_VertexArray.h.
|
protected |
Definition at line 363 of file RE_VertexArray.h.
|
protected |
Definition at line 364 of file RE_VertexArray.h.
|
protected |
Definition at line 376 of file RE_VertexArray.h.
|
protected |
Definition at line 344 of file RE_VertexArray.h.
|
protected |
Definition at line 354 of file RE_VertexArray.h.
|
protected |
Definition at line 345 of file RE_VertexArray.h.
|
staticprotected |
Definition at line 351 of file RE_VertexArray.h.