Open CASCADE Technology
7.5.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... | |
void | Render (const Handle< OpenGl_Workspace > &theWorkspace, Graphic3d_Camera::Projection theProjection) const |
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 | Render (const Handle< OpenGl_Workspace > &theWorkspace) const override |
Render primitives to the window. More... | |
virtual void | Release (OpenGl_Context *theContext) override |
Release OpenGL resources (VBOs) More... | |
virtual Standard_Size | EstimatedDataSize () const override |
Returns estimated GPU memory usage for holding data without considering overheads and allocation alignment rules. More... | |
virtual void | UpdateDrawStats (Graphic3d_FrameStatsDataTmp &theStats, bool theIsDetailed) const override |
Increment draw calls statistics. 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... | |
virtual void | DumpJson (Standard_OStream &theOStream, Standard_Integer theDepth=-1) const override |
Dumps the content of me into the stream. More... | |
Public Member Functions inherited from OpenGl_Element | |
OpenGl_Element () | |
virtual void | UpdateMemStats (Graphic3d_FrameStatsDataTmp &theStats) const |
Increment memory usage statistics. Default implementation puts EstimatedDataSize() into Graphic3d_FrameStatsCounter_EstimatedBytesGeom. More... | |
virtual void | SynchronizeAspects () |
Update parameters of the drawable elements. More... | |
Internal structure for storing gradient parameters | |
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 Handle< OpenGl_Context > &theCtx) const |
Initializes gradient arrays. More... | |
Standard_Boolean | createTextureArray (const Handle< OpenGl_Workspace > &theWorkspace) const |
Initializes texture arrays. More... | |
Standard_Boolean | createCubeMapArray () const |
Initializes cubemap 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 | updateVBO (const Handle< OpenGl_Context > &theCtx) const |
Patch VBO sub-date within invalidated range. More... | |
void | clearMemoryGL (const Handle< OpenGl_Context > &theGlCtx) const |
Release GL memory. More... | |
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 cubemap arrays.
|
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.
void OpenGl_BackgroundArray::Render | ( | const Handle< OpenGl_Workspace > & | theWorkspace, |
Graphic3d_Camera::Projection | theProjection | ||
) | const |
Render primitives to the window.
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 |
Type of background: texture or gradient.
|
mutableprotected |
view height used for array initialization
|
mutableprotected |
view width used for array initialization