Vertex Buffer Object - is a general storage object for vertex attributes (position, normal, color). Notice that you should use OpenGl_IndexBuffer specialization for array of indices.
More...
|
| | OpenGl_VertexBuffer () |
| | Create uninitialized VBO.
|
| |
| virtual | ~OpenGl_VertexBuffer () |
| | Destroy object.
|
| |
| virtual unsigned int | GetTarget () const override |
| | Return buffer target GL_ARRAY_BUFFER.
|
| |
| void | BindVertexAttrib (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theAttribLoc) const |
| | Bind this VBO to active GLSL program.
|
| |
| void | UnbindVertexAttrib (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theAttribLoc) const |
| | Unbind any VBO from active GLSL program.
|
| |
| void | BindAttribute (const Handle< OpenGl_Context > &theCtx, const Graphic3d_TypeOfAttribute theMode) const |
| | Bind this VBO and enable specified attribute in OpenGl_Context::ActiveProgram() or FFP.
|
| |
| void | UnbindAttribute (const Handle< OpenGl_Context > &theCtx, const Graphic3d_TypeOfAttribute theMode) const |
| | Unbind this VBO and disable specified attribute in OpenGl_Context::ActiveProgram() or FFP.
|
| |
|
- Returns
- true if buffer contains per-vertex color attribute
|
| virtual bool | HasColorAttribute () const |
| |
| virtual bool | HasNormalAttribute () const |
| |
| virtual void | BindAllAttributes (const Handle< OpenGl_Context > &theGlCtx) const |
| | Bind all vertex attributes to active program OpenGl_Context::ActiveProgram() or for FFP. Default implementation does nothing.
|
| |
| virtual void | BindPositionAttribute (const Handle< OpenGl_Context > &theGlCtx) const |
| | Bind vertex position attribute only. Default implementation does nothing.
|
| |
| virtual void | UnbindAllAttributes (const Handle< OpenGl_Context > &theGlCtx) const |
| | Unbind all vertex attributes. Default implementation does nothing.
|
| |
| | OpenGl_Buffer () |
| | Create uninitialized buffer.
|
| |
| virtual | ~OpenGl_Buffer () |
| | Destroy object.
|
| |
| virtual bool | IsVirtual () const |
| | Return TRUE if this is a virtual (for backward compatibility) VBO object.
|
| |
| bool | IsValid () const |
| |
| unsigned int | GetComponentsNb () const |
| |
| Standard_Integer | GetElemsNb () const |
| |
| void | SetElemsNb (Standard_Integer theNbElems) |
| | Overrides the number of vertex attributes / number of vertexes. It is up to user specifying this number correct (e.g. below initial value)!
|
| |
| unsigned int | GetDataType () const |
| |
| Standard_Byte * | GetDataOffset () const |
| |
| virtual bool | Create (const Handle< OpenGl_Context > &theGlCtx) |
| | Creates buffer object name (id) if not yet generated. Data should be initialized by another method.
|
| |
| virtual void | Release (OpenGl_Context *theGlCtx) override |
| | Destroy object - will release GPU memory if any.
|
| |
| virtual void | Bind (const Handle< OpenGl_Context > &theGlCtx) const |
| | Bind this buffer object.
|
| |
| virtual void | Unbind (const Handle< OpenGl_Context > &theGlCtx) const |
| | Unbind this buffer object.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const float *theData) |
| | Notice that buffer object will be unbound after this call.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const unsigned int *theData) |
| | Notice that buffer object will be unbound after this call.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const unsigned short *theData) |
| | Notice that buffer object will be unbound after this call.
|
| |
| bool | Init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const Standard_Byte *theData) |
| | Notice that buffer object will be unbound after this call.
|
| |
| bool | SubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, const float *theData) |
| | Notice that buffer object will be unbound after this call. Function replaces portion of data within this buffer object using glBufferSubData(). The buffer object should be initialized before call.
|
| |
| bool | GetSubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, float *theData) |
| | Read back buffer sub-range. Notice that buffer object will be unbound after this call. Function reads portion of data from this buffer object using glGetBufferSubData().
|
| |
| bool | SubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, const unsigned int *theData) |
| | Notice that buffer object will be unbound after this call. Function replaces portion of data within this buffer object using glBufferSubData(). The buffer object should be initialized before call.
|
| |
| bool | GetSubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, unsigned int *theData) |
| | Read back buffer sub-range. Notice that buffer object will be unbound after this call. Function reads portion of data from this buffer object using glGetBufferSubData().
|
| |
| bool | SubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, const unsigned short *theData) |
| | Notice that buffer object will be unbound after this call. Function replaces portion of data within this buffer object using glBufferSubData(). The buffer object should be initialized before call.
|
| |
| bool | GetSubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, unsigned short *theData) |
| | Read back buffer sub-range. Notice that buffer object will be unbound after this call. Function reads portion of data from this buffer object using glGetBufferSubData().
|
| |
| bool | SubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, const Standard_Byte *theData) |
| | Notice that buffer object will be unbound after this call. Function replaces portion of data within this buffer object using glBufferSubData(). The buffer object should be initialized before call.
|
| |
| bool | GetSubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, Standard_Byte *theData) |
| | Read back buffer sub-range. Notice that buffer object will be unbound after this call. Function reads portion of data from this buffer object using glGetBufferSubData().
|
| |
| virtual Standard_Size | EstimatedDataSize () const override |
| | offset to data
|
| |
| virtual bool | init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const void *theData, const unsigned int theDataType, const Standard_Integer theStride) |
| | Initialize buffer with new data.
|
| |
| bool | init (const Handle< OpenGl_Context > &theGlCtx, const unsigned int theComponentsNb, const Standard_Integer theElemsNb, const void *theData, const unsigned int theDataType) |
| | Initialize buffer with new data.
|
| |
| virtual bool | subData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, const void *theData, const unsigned int theDataType) |
| | Update part of the buffer with new data.
|
| |
| virtual bool | getSubData (const Handle< OpenGl_Context > &theGlCtx, const Standard_Integer theElemFrom, const Standard_Integer theElemsNb, void *theData, const unsigned int theDataType) |
| | Read back buffer sub-range.
|
| |
| virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override |
| | Dumps the content of me into the stream.
|
| |
| | OpenGl_Resource () |
| | Empty constructor.
|
| |
| virtual | ~OpenGl_Resource () |
| | Destructor. Inheritors should call Clean (NULL) within it.
|
| |
Public Member Functions inherited from Standard_Transient |
| | Standard_Transient () |
| | Empty constructor.
|
| |
| | Standard_Transient (const Standard_Transient &) |
| | Copy constructor – does nothing.
|
| |
| Standard_Transient & | operator= (const Standard_Transient &) |
| | Assignment operator, needed to avoid copying reference counter.
|
| |
| virtual | ~Standard_Transient () |
| | Destructor must be virtual.
|
| |
| virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
| | Returns a type descriptor about this object.
|
| |
| Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
| | Returns a true value if this is an instance of Type.
|
| |
| Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
| | Returns a true value if this is an instance of TypeName.
|
| |
| Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
| | Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
| | Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
|
| |
| Standard_Transient * | This () const |
| | Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
|
| |
| Standard_Integer | GetRefCount () const noexcept |
| | Get the reference counter of this object.
|
| |
| void | IncrementRefCounter () noexcept |
| | Increments the reference counter of this object.
|
| |
| Standard_Integer | DecrementRefCounter () noexcept |
| | Decrements the reference counter of this object; returns the decremented value.
|
| |
| virtual void | Delete () const |
| | Memory deallocator for transient classes.
|
| |
Vertex Buffer Object - is a general storage object for vertex attributes (position, normal, color). Notice that you should use OpenGl_IndexBuffer specialization for array of indices.