webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | List of all members
gl::VertexArray Class Referencefinal

#include <VertexArray.h>

Inheritance diagram for gl::VertexArray:
gl::LabeledObject

Public Types

enum  DirtyBitType {
  DIRTY_BIT_ELEMENT_ARRAY_BUFFER, DIRTY_BIT_ATTRIB_0_ENABLED, DIRTY_BIT_ATTRIB_MAX_ENABLED = DIRTY_BIT_ATTRIB_0_ENABLED + gl::MAX_VERTEX_ATTRIBS, DIRTY_BIT_ATTRIB_0_POINTER = DIRTY_BIT_ATTRIB_MAX_ENABLED,
  DIRTY_BIT_ATTRIB_MAX_POINTER = DIRTY_BIT_ATTRIB_0_POINTER + gl::MAX_VERTEX_ATTRIBS, DIRTY_BIT_ATTRIB_0_DIVISOR = DIRTY_BIT_ATTRIB_MAX_POINTER, DIRTY_BIT_ATTRIB_MAX_DIVISOR = DIRTY_BIT_ATTRIB_0_DIVISOR + gl::MAX_VERTEX_ATTRIBS, DIRTY_BIT_UNKNOWN = DIRTY_BIT_ATTRIB_MAX_DIVISOR,
  DIRTY_BIT_MAX = DIRTY_BIT_UNKNOWN
}
 
typedef std::bitset< DIRTY_BIT_MAXDirtyBits
 

Public Member Functions

 VertexArray (rx::GLImplFactory *factory, GLuint id, size_t maxAttribs)
 
 ~VertexArray ()
 
GLuint id () const
 
void setLabel (const std::string &label) override
 
const std::stringgetLabel () const override
 
const VertexAttributegetVertexAttribute (size_t attributeIndex) const
 
void detachBuffer (GLuint bufferName)
 
void setVertexAttribDivisor (size_t index, GLuint divisor)
 
void enableAttribute (size_t attributeIndex, bool enabledState)
 
void setAttributeState (size_t attributeIndex, gl::Buffer *boundBuffer, GLint size, GLenum type, bool normalized, bool pureInteger, GLsizei stride, const void *pointer)
 
void setElementArrayBuffer (Buffer *buffer)
 
const BindingPointer< Buffer > & getElementArrayBuffer () const
 
size_t getMaxAttribs () const
 
const std::vector< VertexAttribute > & getVertexAttributes () const
 
rx::VertexArrayImplgetImplementation () const
 
size_t getMaxEnabledAttribute () const
 
void syncImplState ()
 
bool hasAnyDirtyBit () const
 
- Public Member Functions inherited from gl::LabeledObject
virtual ~LabeledObject ()
 

Member Typedef Documentation

◆ DirtyBits

Member Enumeration Documentation

◆ DirtyBitType

Enumerator
DIRTY_BIT_ELEMENT_ARRAY_BUFFER 
DIRTY_BIT_ATTRIB_0_ENABLED 
DIRTY_BIT_ATTRIB_MAX_ENABLED 
DIRTY_BIT_ATTRIB_0_POINTER 
DIRTY_BIT_ATTRIB_MAX_POINTER 
DIRTY_BIT_ATTRIB_0_DIVISOR 
DIRTY_BIT_ATTRIB_MAX_DIVISOR 
DIRTY_BIT_UNKNOWN 
DIRTY_BIT_MAX 

Constructor & Destructor Documentation

◆ VertexArray()

gl::VertexArray::VertexArray ( rx::GLImplFactory factory,
GLuint  id,
size_t  maxAttribs 
)

◆ ~VertexArray()

gl::VertexArray::~VertexArray ( )

Member Function Documentation

◆ detachBuffer()

void gl::VertexArray::detachBuffer ( GLuint  bufferName)

◆ enableAttribute()

void gl::VertexArray::enableAttribute ( size_t  attributeIndex,
bool  enabledState 
)

◆ getElementArrayBuffer()

const BindingPointer<Buffer>& gl::VertexArray::getElementArrayBuffer ( ) const
inline

◆ getImplementation()

rx::VertexArrayImpl* gl::VertexArray::getImplementation ( ) const
inline

◆ getLabel()

const std::string & gl::VertexArray::getLabel ( ) const
overridevirtual

Implements gl::LabeledObject.

◆ getMaxAttribs()

size_t gl::VertexArray::getMaxAttribs ( ) const
inline

◆ getMaxEnabledAttribute()

size_t gl::VertexArray::getMaxEnabledAttribute ( ) const
inline

◆ getVertexAttribute()

const VertexAttribute & gl::VertexArray::getVertexAttribute ( size_t  attributeIndex) const

◆ getVertexAttributes()

const std::vector<VertexAttribute>& gl::VertexArray::getVertexAttributes ( ) const
inline

◆ hasAnyDirtyBit()

bool gl::VertexArray::hasAnyDirtyBit ( ) const
inline

◆ id()

GLuint gl::VertexArray::id ( ) const

◆ setAttributeState()

void gl::VertexArray::setAttributeState ( size_t  attributeIndex,
gl::Buffer boundBuffer,
GLint  size,
GLenum  type,
bool  normalized,
bool  pureInteger,
GLsizei  stride,
const void pointer 
)

◆ setElementArrayBuffer()

void gl::VertexArray::setElementArrayBuffer ( Buffer buffer)

◆ setLabel()

void gl::VertexArray::setLabel ( const std::string label)
overridevirtual

Implements gl::LabeledObject.

◆ setVertexAttribDivisor()

void gl::VertexArray::setVertexAttribDivisor ( size_t  index,
GLuint  divisor 
)

◆ syncImplState()

void gl::VertexArray::syncImplState ( )

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