globjects
2.0.0.690708773bba
Strict OpenGL objects wrapper.
|
#include <globjects/include/globjects/VertexArray.h>
Classes | |
struct | MultiDrawArraysRange |
struct | MultiDrawElementsBaseVertexRange |
struct | MultiDrawElementsRange |
Public Types | |
enum | AttributeImplementation { AttributeImplementation::DirectStateAccessARB, AttributeImplementation::VertexAttribBindingARB, AttributeImplementation::Legacy } |
Public Types inherited from globjects::Object | |
enum | NameImplementation { NameImplementation::DebugKHR, NameImplementation::Legacy } |
Public Member Functions | |
VertexArray () | |
virtual | ~VertexArray () |
virtual void | accept (ObjectVisitor &visitor) override |
void | bind () const |
VertexAttributeBinding * | binding (gl::GLuint bindingIndex) |
const VertexAttributeBinding * | binding (gl::GLuint bindingIndex) const |
void | enable (gl::GLint attributeIndex) |
void | disable (gl::GLint attributeIndex) |
std::vector< VertexAttributeBinding * > | bindings () |
std::vector< const VertexAttributeBinding * > | bindings () const |
void | drawArrays (gl::GLenum mode, gl::GLint first, gl::GLsizei count) const |
void | drawArraysInstanced (gl::GLenum mode, gl::GLint first, gl::GLsizei count, gl::GLsizei instanceCount) const |
void | drawArraysInstancedBaseInstance (gl::GLenum mode, gl::GLint first, gl::GLsizei count, gl::GLsizei instanceCount, gl::GLuint baseInstance) const |
void | drawArraysIndirect (gl::GLenum mode, const void *indirect=nullptr) const |
void | multiDrawArrays (gl::GLenum mode, gl::GLint *first, const gl::GLsizei *count, gl::GLsizei drawCount) const |
void | multiDrawArraysIndirect (gl::GLenum mode, const void *indirect, gl::GLsizei drawCount, gl::GLsizei stride) const |
void | drawElements (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices=nullptr) const |
void | drawElementsBaseVertex (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLint baseVertex) const |
void | drawElementsInstanced (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLsizei primitiveCount) const |
void | drawElementsInstancedBaseInstance (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLsizei instanceCount, gl::GLuint baseInstance) const |
void | drawElementsInstancedBaseVertex (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLsizei instanceCount, gl::GLint baseVertex) const |
void | drawElementsInstancedBaseVertexBaseInstance (gl::GLenum mode, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLsizei instanceCount, gl::GLint baseVertex, gl::GLuint baseInstance) const |
void | multiDrawElements (gl::GLenum mode, const gl::GLsizei *count, gl::GLenum type, const void **indices, gl::GLsizei drawCount) const |
void | multiDrawElementsBaseVertex (gl::GLenum mode, const gl::GLsizei *count, gl::GLenum type, const void **indices, gl::GLsizei drawCount, gl::GLint *baseVertex) const |
void | multiDrawElementsIndirect (gl::GLenum mode, gl::GLenum type, const void *indirect, gl::GLsizei drawCount, gl::GLsizei stride) const |
void | drawRangeElements (gl::GLenum mode, gl::GLuint start, gl::GLuint end, gl::GLsizei count, gl::GLenum type, const void *indices=nullptr) const |
void | drawRangeElementsBaseVertex (gl::GLenum mode, gl::GLuint start, gl::GLuint end, gl::GLsizei count, gl::GLenum type, const void *indices, gl::GLint baseVertex) const |
void | multiDrawArrays (gl::GLenum mode, const std::vector< MultiDrawArraysRange > &ranges) const |
void | multiDrawElements (gl::GLenum mode, gl::GLenum type, const std::vector< MultiDrawElementsRange > &ranges) const |
void | multiDrawElementsBaseVertex (gl::GLenum mode, gl::GLenum type, const std::vector< MultiDrawElementsBaseVertexRange > &ranges) const |
virtual gl::GLenum | objectType () const override |
Public Member Functions inherited from globjects::Object | |
gl::GLuint | id () const |
std::string | name () const |
void | setName (const std::string &name) |
bool | hasName () const |
bool | isDefault () const |
void | detach () |
Static Public Member Functions | |
static void | hintAttributeImplementation (AttributeImplementation impl) |
static std::unique_ptr< VertexArray > | fromId (gl::GLuint id) |
static std::unique_ptr< VertexArray > | defaultVAO () |
static void | unbind () |
Static Public Member Functions inherited from globjects::Object | |
static void | hintNameImplementation (NameImplementation impl) |
Static Public Member Functions inherited from globjects::Instantiator< VertexArray > | |
static std::unique_ptr< VertexArray > | create (Args &&...args) |
static std::unique_ptr< VertexArray > | fromId (gl::GLuint id, Args &&...args) |
Protected Member Functions | |
VertexArray (std::unique_ptr< IDResource > &&resource) | |
Protected Member Functions inherited from globjects::Object | |
Object (std::unique_ptr< IDResource > &&resource) | |
virtual | ~Object () |
Protected Attributes | |
std::map< gl::GLuint, std::unique_ptr< VertexAttributeBinding > > | m_bindings |
Protected Attributes inherited from globjects::Object | |
std::unique_ptr< IDResource > | m_resource |
void * | m_objectLabelState |
|
strong |
globjects::VertexArray::VertexArray | ( | ) |
|
virtual |
|
protected |
|
static |
|
static |
|
static |
|
overridevirtual |
Implements globjects::Object.
void globjects::VertexArray::bind | ( | ) | const |
|
static |
VertexAttributeBinding* globjects::VertexArray::binding | ( | gl::GLuint | bindingIndex | ) |
const VertexAttributeBinding* globjects::VertexArray::binding | ( | gl::GLuint | bindingIndex | ) | const |
void globjects::VertexArray::enable | ( | gl::GLint | attributeIndex | ) |
void globjects::VertexArray::disable | ( | gl::GLint | attributeIndex | ) |
std::vector<VertexAttributeBinding *> globjects::VertexArray::bindings | ( | ) |
std::vector<const VertexAttributeBinding *> globjects::VertexArray::bindings | ( | ) | const |
void globjects::VertexArray::drawArrays | ( | gl::GLenum | mode, |
gl::GLint | first, | ||
gl::GLsizei | count | ||
) | const |
void globjects::VertexArray::drawArraysInstanced | ( | gl::GLenum | mode, |
gl::GLint | first, | ||
gl::GLsizei | count, | ||
gl::GLsizei | instanceCount | ||
) | const |
void globjects::VertexArray::drawArraysInstancedBaseInstance | ( | gl::GLenum | mode, |
gl::GLint | first, | ||
gl::GLsizei | count, | ||
gl::GLsizei | instanceCount, | ||
gl::GLuint | baseInstance | ||
) | const |
void globjects::VertexArray::drawArraysIndirect | ( | gl::GLenum | mode, |
const void * | indirect = nullptr |
||
) | const |
void globjects::VertexArray::multiDrawArrays | ( | gl::GLenum | mode, |
gl::GLint * | first, | ||
const gl::GLsizei * | count, | ||
gl::GLsizei | drawCount | ||
) | const |
void globjects::VertexArray::multiDrawArraysIndirect | ( | gl::GLenum | mode, |
const void * | indirect, | ||
gl::GLsizei | drawCount, | ||
gl::GLsizei | stride | ||
) | const |
void globjects::VertexArray::drawElements | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices = nullptr |
||
) | const |
void globjects::VertexArray::drawElementsBaseVertex | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLint | baseVertex | ||
) | const |
void globjects::VertexArray::drawElementsInstanced | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLsizei | primitiveCount | ||
) | const |
void globjects::VertexArray::drawElementsInstancedBaseInstance | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLsizei | instanceCount, | ||
gl::GLuint | baseInstance | ||
) | const |
void globjects::VertexArray::drawElementsInstancedBaseVertex | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLsizei | instanceCount, | ||
gl::GLint | baseVertex | ||
) | const |
void globjects::VertexArray::drawElementsInstancedBaseVertexBaseInstance | ( | gl::GLenum | mode, |
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLsizei | instanceCount, | ||
gl::GLint | baseVertex, | ||
gl::GLuint | baseInstance | ||
) | const |
void globjects::VertexArray::multiDrawElements | ( | gl::GLenum | mode, |
const gl::GLsizei * | count, | ||
gl::GLenum | type, | ||
const void ** | indices, | ||
gl::GLsizei | drawCount | ||
) | const |
void globjects::VertexArray::multiDrawElementsBaseVertex | ( | gl::GLenum | mode, |
const gl::GLsizei * | count, | ||
gl::GLenum | type, | ||
const void ** | indices, | ||
gl::GLsizei | drawCount, | ||
gl::GLint * | baseVertex | ||
) | const |
void globjects::VertexArray::multiDrawElementsIndirect | ( | gl::GLenum | mode, |
gl::GLenum | type, | ||
const void * | indirect, | ||
gl::GLsizei | drawCount, | ||
gl::GLsizei | stride | ||
) | const |
void globjects::VertexArray::drawRangeElements | ( | gl::GLenum | mode, |
gl::GLuint | start, | ||
gl::GLuint | end, | ||
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices = nullptr |
||
) | const |
void globjects::VertexArray::drawRangeElementsBaseVertex | ( | gl::GLenum | mode, |
gl::GLuint | start, | ||
gl::GLuint | end, | ||
gl::GLsizei | count, | ||
gl::GLenum | type, | ||
const void * | indices, | ||
gl::GLint | baseVertex | ||
) | const |
void globjects::VertexArray::multiDrawArrays | ( | gl::GLenum | mode, |
const std::vector< MultiDrawArraysRange > & | ranges | ||
) | const |
void globjects::VertexArray::multiDrawElements | ( | gl::GLenum | mode, |
gl::GLenum | type, | ||
const std::vector< MultiDrawElementsRange > & | ranges | ||
) | const |
void globjects::VertexArray::multiDrawElementsBaseVertex | ( | gl::GLenum | mode, |
gl::GLenum | type, | ||
const std::vector< MultiDrawElementsBaseVertexRange > & | ranges | ||
) | const |
|
overridevirtual |
Implements globjects::Object.
|
protected |