Open CASCADE Technology
7.3.0
|
Tool class for generating reusable data for gradient or texture background rendering. More...
#include <OpenGl_BackgroundArray.hxx>
Data Structures | |
struct | OpenGl_GradientParameters |
Public Member Functions | |
OpenGl_BackgroundArray (const Graphic3d_TypeOfBackground theType) | |
Main constructor. More... | |
virtual void | Render (const Handle< OpenGl_Workspace > &theWorkspace) const override |
Render primitives to the window. More... | |
bool | IsDefined () const |
Check if background parameters are set properly. More... | |
void | SetTextureParameters (const Aspect_FillMethod theFillMethod) |
Sets background texture parameters. More... | |
void | SetTextureFillMethod (const Aspect_FillMethod theFillMethod) |
Sets texture fill method. More... | |
Aspect_FillMethod | TextureFillMethod () const |
Gets background texture fill method. More... | |
Aspect_GradientFillMethod | GradientFillMethod () const |
Gets background gradient fill method. More... | |
const OpenGl_Vec4 & | GradientColor (const Standard_Integer theIndex) const |
Returns color of gradient background for the given index. More... | |
void | SetGradientFillMethod (const Aspect_GradientFillMethod theType) |
Sets type of gradient fill method. More... | |
void | SetGradientParameters (const Quantity_Color &theColor1, const Quantity_Color &theColor2, const Aspect_GradientFillMethod theType) |
Sets background gradient parameters. More... | |
Public Member Functions inherited from OpenGl_PrimitiveArray | |
OpenGl_PrimitiveArray (const OpenGl_GraphicDriver *theDriver) | |
Empty constructor. More... | |
OpenGl_PrimitiveArray (const OpenGl_GraphicDriver *theDriver, const Graphic3d_TypeOfPrimitiveArray theType, const Handle< Graphic3d_IndexBuffer > &theIndices, const Handle< Graphic3d_Buffer > &theAttribs, const Handle< Graphic3d_BoundBuffer > &theBounds) | |
Default constructor. More... | |
virtual | ~OpenGl_PrimitiveArray () |
Destructor. More... | |
virtual void | Release (OpenGl_Context *theContext) override |
Release OpenGL resources (VBOs) More... | |
Standard_Boolean | IsInitialized () const |
Return true if VBOs initialization has been performed. VBO initialization is performed during first Render() call. Notice that this flag does not indicate VBOs validity. More... | |
void | Invalidate () const |
Invalidate VBO content without destruction. More... | |
GLint | DrawMode () const |
virtual Standard_Boolean | IsFillDrawMode () const override |
Return TRUE if primitive type generates shaded triangulation. More... | |
const Handle< Graphic3d_IndexBuffer > & | Indices () const |
const Handle< Graphic3d_Buffer > & | Attributes () const |
const Handle< Graphic3d_BoundBuffer > & | Bounds () const |
Standard_Size | GetUID () const |
Returns unique ID of primitive array. More... | |
void | InitBuffers (const Handle< OpenGl_Context > &theContext, const Graphic3d_TypeOfPrimitiveArray theType, const Handle< Graphic3d_IndexBuffer > &theIndices, const Handle< Graphic3d_Buffer > &theAttribs, const Handle< Graphic3d_BoundBuffer > &theBounds) |
Initialize indices, attributes and bounds with new data. More... | |
const Handle< OpenGl_VertexBuffer > & | IndexVbo () const |
Returns index VBO. More... | |
const Handle< OpenGl_VertexBuffer > & | AttributesVbo () const |
Returns attributes VBO. More... | |
Public Member Functions inherited from OpenGl_Element | |
OpenGl_Element () | |
Standard_Boolean | RenderFiltered (const Handle< OpenGl_Workspace > &theWorkspace, const Handle< OpenGl_RenderFilter > &theFilter) const |
Render element if it passes the filtering procedure. This method should be used for elements which can be used in scope of rendering algorithms. E.g. elements of groups during recursive rendering. If render filter is null, pure rendering is performed. More... | |
Internal structure for storing gradient parameters | |
Graphic3d_TransformPers | myTrsfPers |
transformation persistence More... | |
Graphic3d_TypeOfBackground | myType |
Type of background: texture or gradient. More... | |
Aspect_FillMethod | myFillMethod |
Texture parameters. More... | |
OpenGl_GradientParameters | myGradientParams |
Gradient parameters. More... | |
Standard_Integer | myViewWidth |
view width used for array initialization More... | |
Standard_Integer | myViewHeight |
view height used for array initialization More... | |
Standard_Boolean | myToUpdate |
Shows if array parameters were changed and data (myAttribs storage) is to be updated. More... | |
Standard_Boolean | init (const Handle< OpenGl_Workspace > &theWorkspace) const |
Fill attributes arrays for background array according to its type: More... | |
Standard_Boolean | createGradientArray () const |
Initializes gradient arrays. More... | |
Standard_Boolean | createTextureArray (const Handle< OpenGl_Workspace > &theWorkspace) const |
Initializes texture arrays. More... | |
void | invalidateData () |
Marks array parameters as changed, on next rendering stage array data is to be updated. More... | |
Additional Inherited Members | |
Public Types inherited from OpenGl_PrimitiveArray | |
enum | { DRAW_MODE_NONE = -1 } |
OpenGL does not provide a constant for "none" draw mode. So we define our own one that does not conflict with GL constants and utilizes common GL invalid value. More... | |
Static Public Member Functions inherited from OpenGl_Element | |
template<typename theResource_t > | |
static void | Destroy (OpenGl_Context *theContext, theResource_t *&theElement) |
Pointer to the context is used because this method might be called when the context is already being destroyed and usage of a handle would be unsafe. More... | |
Protected Member Functions inherited from OpenGl_PrimitiveArray | |
Standard_Boolean | buildVBO (const Handle< OpenGl_Context > &theCtx, const Standard_Boolean theToKeepData) const |
VBO initialization procedures. More... | |
void | clearMemoryGL (const Handle< OpenGl_Context > &theGlCtx) const |
Protected Member Functions inherited from OpenGl_Element | |
virtual | ~OpenGl_Element () |
Protected Attributes inherited from OpenGl_PrimitiveArray | |
Handle< OpenGl_VertexBuffer > | myVboIndices |
Handle< OpenGl_VertexBuffer > | myVboAttribs |
Handle< Graphic3d_IndexBuffer > | myIndices |
Handle< Graphic3d_Buffer > | myAttribs |
Handle< Graphic3d_BoundBuffer > | myBounds |
GLshort | myDrawMode |
Standard_Boolean | myIsFillType |
Standard_Boolean | myIsVboInit |
Standard_Size | myUID |
Unique ID of primitive array. More... | |
Tool class for generating reusable data for gradient or texture background rendering.
OpenGl_BackgroundArray::OpenGl_BackgroundArray | ( | const Graphic3d_TypeOfBackground | theType | ) |
Main constructor.
|
protected |
Initializes gradient arrays.
|
protected |
Initializes texture arrays.
theWorkspace | OpenGl workspace that stores texture in the current enabled face aspect. |
|
inline |
Returns color of gradient background for the given index.
|
inline |
Gets background gradient fill method.
|
protected |
Fill attributes arrays for background array according to its type:
|
protected |
Marks array parameters as changed, on next rendering stage array data is to be updated.
bool OpenGl_BackgroundArray::IsDefined | ( | ) | const |
Check if background parameters are set properly.
|
overridevirtual |
Render primitives to the window.
Reimplemented from OpenGl_PrimitiveArray.
void OpenGl_BackgroundArray::SetGradientFillMethod | ( | const Aspect_GradientFillMethod | theType | ) |
Sets type of gradient fill method.
void OpenGl_BackgroundArray::SetGradientParameters | ( | const Quantity_Color & | theColor1, |
const Quantity_Color & | theColor2, | ||
const Aspect_GradientFillMethod | theType | ||
) |
Sets background gradient parameters.
void OpenGl_BackgroundArray::SetTextureFillMethod | ( | const Aspect_FillMethod | theFillMethod | ) |
Sets texture fill method.
void OpenGl_BackgroundArray::SetTextureParameters | ( | const Aspect_FillMethod | theFillMethod | ) |
Sets background texture parameters.
|
inline |
Gets background texture fill method.
|
protected |
Texture parameters.
|
mutableprotected |
Gradient parameters.
|
mutableprotected |
Shows if array parameters were changed and data (myAttribs storage) is to be updated.
|
protected |
transformation persistence
|
protected |
Type of background: texture or gradient.
|
mutableprotected |
view height used for array initialization
|
mutableprotected |
view width used for array initialization