Visualization Library 2.1.0
A lightweight C++ OpenGL middleware for 2D/3D graphics
|
[Download] [Tutorials] [All Classes] [Grouped Classes] |
Base interface for all DrawRangeElements* sub classes. More...
#include <DrawRangeElements.hpp>
Public Member Functions | |
void | setRangeStart (int rstart) |
Sets the range start. More... | |
int | rangeStart () const |
Returns the range start. More... | |
void | setRangeEnd (int rend) |
Sets the range end. More... | |
int | rangeEnd () const |
Returns the range end. More... | |
virtual bool | primitiveRestartEnabled () const |
Returns whether the primitive-restart functionality is enabled or not. More... | |
void | setPrimitiveRestartEnabled (bool enabled) |
Enables the primitive-restart functionality. More... | |
void | setBaseVertex (int base_vertex) |
If base_vertx is != 0 glDrawRangeElementsBaseVertex/glDrawRangeElementsInstancedBaseVertex will be used instead of their non *BaseVertx counterparts. More... | |
int | baseVertex () const |
Returns the currently used base vertex. More... | |
Public Member Functions inherited from vl::DrawCall | |
DrawCall () | |
Constructor. More... | |
DrawCall & | operator= (const DrawCall &other) |
Assignment operator. More... | |
void | setPrimitiveType (EPrimitiveType type) |
Sets the draw call's primitive type. More... | |
EPrimitiveType | primitiveType () const |
Returns the draw call's primitive type. More... | |
virtual void | render (bool use_bo=true) const =0 |
Executes the draw call. More... | |
virtual ref< DrawCall > | clone () const =0 |
Returns a clone of the draw call. More... | |
virtual void | updateDirtyBufferObject (EBufferObjectUpdateMode)=0 |
Updates the index buffer's BufferObject if marked as dirty. More... | |
virtual void | deleteBufferObject ()=0 |
Deletes the index buffer's BufferObject. More... | |
void | setEnabled (bool enable) |
Enables/disables the draw call. More... | |
bool | isEnabled () const |
True if the draw call is enabled. More... | |
virtual TriangleIterator | triangleIterator () const =0 |
Returns a TriangleIterator used to iterate through the triangles of a DrawCall. More... | |
virtual IndexIterator | indexIterator () const =0 |
Returns a IndexIterator used to iterate through the virtual indices of a DrawCall. More... | |
u32 | countIndices () const |
Counts the number of virtual indices of a DrawCall., i.e. More... | |
u32 | countTriangles () const |
Counts the number of virtual triangles of a DrawCall., i.e. More... | |
virtual int | instances () const |
Returns the number of instances for this set of primitives. More... | |
virtual unsigned int | primitiveRestartIndex () |
Returns the primitive restart index used by the draw call or 0 if primitive restart is not supported. More... | |
void | setPatchParameter (PatchParameter *patch_param) |
Attach a PatchParameter to a DrawCall to be used when using primitive-type PT_PATCHES. More... | |
PatchParameter * | patchParameter () |
The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES. More... | |
const PatchParameter * | patchParameter () const |
The PatchParameter attached to a DrawCall to be used when using primitive-type PT_PATCHES. More... | |
Public Member Functions inherited from vl::Object | |
Object () | |
Constructor. More... | |
Object (const Object &other) | |
Copy constructor: copies the name, ref count mutex and user data. More... | |
Object & | operator= (const Object &other) |
Copy operator: copies the object's name, ref count mutex and user data. More... | |
const std::string & | objectName () const |
The name of the object, by default set to the object's class name. More... | |
void | setObjectName (const char *name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setObjectName (const std::string &name) |
The name of the object, by default set to the object's class name in debug builds. More... | |
void | setRefCountMutex (IMutex *mutex) |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
IMutex * | refCountMutex () |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
const IMutex * | refCountMutex () const |
The mutex used to protect the reference counting of an Object across multiple threads. More... | |
int | referenceCount () const |
Returns the number of references of an object. More... | |
void | incReference () const |
Increments the reference count of an object. More... | |
void | decReference () |
Decrements the reference count of an object and deletes it if both automaticDelete() is true the count reaches 0. More... | |
void | setAutomaticDelete (bool autodel_on) |
If set to true the Object is deleted when its reference count reaches 0. More... | |
bool | automaticDelete () const |
If set to true the Object is deleted when its reference count reaches 0. More... | |
template<class T > | |
T * | as () |
Casts an Object to the specified class. More... | |
template<class T > | |
const T * | as () const |
Casts an Object to the specified class. More... | |
Protected Attributes | |
int | mRangeStart |
int | mRangeEnd |
GLuint | mBaseVertex |
bool | mPrimitiveRestartEnabled |
Protected Attributes inherited from vl::DrawCall | |
ref< PatchParameter > | mPatchParameter |
EPrimitiveType | mType |
bool | mEnabled |
Protected Attributes inherited from vl::Object | |
std::string | mObjectName |
IMutex * | mRefCountMutex |
int | mReferenceCount |
bool | mAutomaticDelete |
Additional Inherited Members | |
Protected Member Functions inherited from vl::DrawCall | |
void | applyPatchParameters () const |
Protected Member Functions inherited from vl::Object | |
virtual | ~Object () |
Base interface for all DrawRangeElements* sub classes.
Implements the index-type-independent interface of the class. That is you can cast to DrawRangeElementsBase* and access its members without needing to know whether the actual class is a vl::DrawRangeElementsUInt, vl::DrawRangeElementsUShort or vl::DrawRangeElementsUByte.
Definition at line 53 of file DrawRangeElements.hpp.
|
inline |
Returns the currently used base vertex.
For more information see also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml
Definition at line 84 of file DrawRangeElements.hpp.
References mBaseVertex.
Referenced by vl::Geometry::shrinkDrawCalls(), and vl::DrawRangeElements< ArrayUShort1 >::triangleIterator().
|
inlinevirtual |
Returns whether the primitive-restart functionality is enabled or not.
See http://www.opengl.org/registry/specs/NV/primitive_restart.txt
Reimplemented from vl::DrawCall.
Definition at line 71 of file DrawRangeElements.hpp.
References mPrimitiveRestartEnabled.
Referenced by vl::DrawRangeElements< ArrayUShort1 >::render(), and vl::DrawRangeElements< ArrayUShort1 >::triangleIterator().
|
inline |
Returns the range end.
See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml
Definition at line 68 of file DrawRangeElements.hpp.
References mRangeEnd.
Referenced by vl::Geometry::shrinkDrawCalls().
|
inline |
Returns the range start.
See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml
Definition at line 62 of file DrawRangeElements.hpp.
References mRangeStart.
Referenced by vl::Geometry::shrinkDrawCalls().
|
inline |
If base_vertx is != 0 glDrawRangeElementsBaseVertex/glDrawRangeElementsInstancedBaseVertex will be used instead of their non *BaseVertx counterparts.
Note that using base_vertx != requires OpenGL 3.2 or higher or ARB_draw_elements_base_vertex. For more information see also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml
Definition at line 80 of file DrawRangeElements.hpp.
References mBaseVertex.
Referenced by vl::Geometry::shrinkDrawCalls().
|
inline |
Enables the primitive-restart functionality.
See http://www.opengl.org/registry/specs/NV/primitive_restart.txt
Definition at line 74 of file DrawRangeElements.hpp.
References mPrimitiveRestartEnabled.
Referenced by vl::Geometry::shrinkDrawCalls().
|
inline |
Sets the range end.
See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml
Definition at line 65 of file DrawRangeElements.hpp.
References mRangeEnd.
Referenced by vl::Geometry::shrinkDrawCalls().
|
inline |
Sets the range start.
See also http://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml
Definition at line 59 of file DrawRangeElements.hpp.
References mRangeStart.
Referenced by vl::Geometry::shrinkDrawCalls().
|
protected |
Definition at line 89 of file DrawRangeElements.hpp.
Referenced by baseVertex(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::indexIterator(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setBaseVertex().
|
protected |
|
protected |
Definition at line 88 of file DrawRangeElements.hpp.
Referenced by vl::DrawRangeElements< ArrayUShort1 >::computeRange(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), rangeEnd(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setRangeEnd().
|
protected |
Definition at line 87 of file DrawRangeElements.hpp.
Referenced by vl::DrawRangeElements< ArrayUShort1 >::computeRange(), vl::DrawRangeElements< ArrayUShort1 >::DrawRangeElements(), vl::DrawRangeElements< ArrayUShort1 >::operator=(), rangeStart(), vl::DrawRangeElements< ArrayUShort1 >::render(), and setRangeStart().
Visualization Library 2.1.0 Reference Documentation
Updated on Wed Mar 10 2021 16:02:49.
© Copyright Michele Bosi. All rights reserved.