0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view...
[occt.git] / src / OpenGl / OpenGl_TextureBufferArb.hxx
index 92e63ef..fe8bf81 100644 (file)
@@ -30,7 +30,7 @@
 //! are declared in this class.
 class OpenGl_TextureBufferArb : public OpenGl_VertexBuffer
 {
-
+  DEFINE_STANDARD_RTTIEXT(OpenGl_TextureBufferArb, OpenGl_VertexBuffer)
 public:
 
   //! Helpful constants
@@ -45,7 +45,7 @@ public:
   Standard_EXPORT virtual ~OpenGl_TextureBufferArb();
 
   //! Override VBO target
-  Standard_EXPORT virtual GLenum GetTarget() const;
+  Standard_EXPORT virtual GLenum GetTarget() const Standard_OVERRIDE;
 
   //! Returns true if TBO is valid.
   //! Notice that no any real GL call is performed!
@@ -56,11 +56,11 @@ public:
   }
 
   //! Destroy object - will release GPU memory if any.
-  Standard_EXPORT virtual void Release (OpenGl_Context* theGlCtx);
+  Standard_EXPORT virtual void Release (OpenGl_Context* theGlCtx) Standard_OVERRIDE;
 
   //! Creates VBO and Texture names (ids) if not yet generated.
   //! Data should be initialized by another method.
-  Standard_EXPORT bool Create (const Handle(OpenGl_Context)& theGlCtx);
+  Standard_EXPORT bool Create (const Handle(OpenGl_Context)& theGlCtx) Standard_OVERRIDE;
 
   //! Perform TBO initialization with specified data.
   //! Existing data will be deleted.
@@ -76,23 +76,39 @@ public:
                              const GLsizei  theElemsNb,
                              const GLuint*  theData);
 
+  //! Perform TBO initialization with specified data.
+  //! Existing data will be deleted.
+  Standard_EXPORT bool Init (const Handle(OpenGl_Context)& theGlCtx,
+                             const GLuint     theComponentsNb,
+                             const GLsizei    theElemsNb,
+                             const GLushort*  theData);
+
+  //! Perform TBO initialization with specified data.
+  //! Existing data will be deleted.
+  Standard_EXPORT bool Init (const Handle(OpenGl_Context)& theGlCtx,
+                             const GLuint    theComponentsNb,
+                             const GLsizei   theElemsNb,
+                             const GLubyte*  theData);
+
   //! Bind TBO to specified Texture Unit.
   Standard_EXPORT void BindTexture (const Handle(OpenGl_Context)& theGlCtx,
-                                    const GLenum theTextureUnit = GL_TEXTURE0) const;
+                                    const Graphic3d_TextureUnit   theTextureUnit) const;
 
   //! Unbind TBO.
   Standard_EXPORT void UnbindTexture (const Handle(OpenGl_Context)& theGlCtx,
-                                      const GLenum theTextureUnit = GL_TEXTURE0) const;
+                                      const Graphic3d_TextureUnit   theTextureUnit) const;
+
+  //! Returns name of TBO.
+  GLuint TextureId() const { return myTextureId; }
+
+  //! Returns internal texture format.
+  GLenum TextureFormat() const { return myTexFormat; }
 
 protected:
 
   GLuint myTextureId; //!< texture id
   GLenum myTexFormat; //!< internal texture format
 
-public:
-
-  DEFINE_STANDARD_RTTI(OpenGl_TextureBufferArb) // Type definition
-
 };
 
 DEFINE_STANDARD_HANDLE(OpenGl_TextureBufferArb, OpenGl_VertexBuffer)