VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectOpenGLState.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
17 
19 
20 namespace makVrv
21 {
26  {
27  public:
29  DtIndirectOpenGLState(bool cullFaceEnabled
30  , bool blendingEnabled, bool alphaToCoverageEnabled
31  , const DtIndirectBlendFunction& blendFunction, const DtIndirectBlendEquation& blendEquation
32  , const DtIndirectPolygonOffset& polyOffset, GLenum primitiveType);
33 
36 
39 
41  DtIndirectOpenGLState &operator=(const DtIndirectOpenGLState& other);
42 
45 
46  public:
48  virtual bool cullFaceEnabled(void) const;
50  virtual void setCullFaceEnabled(bool val);
52 
54  virtual void setPolygonOffset(const DtIndirectPolygonOffset& polyOffset);
56  virtual const DtIndirectPolygonOffset& polygonOffset(void) const;
58 
60  virtual bool blendingEnabled(void) const;
62  virtual void setBlendingEnabled(bool val);
64 
66  virtual bool alphaToCoverageEnabled(void) const;
68  virtual void setAlphaToCoverageEnabled(bool val);
70 
72  virtual void setBlendFunction(const DtIndirectBlendFunction& blendFunction);
74  virtual const DtIndirectBlendFunction& blendFunction(void) const;
76 
78  virtual void setBlendEquation(const DtIndirectBlendEquation& blendEquation);
80  virtual const DtIndirectBlendEquation& blendEquation(void) const;
82 
85  virtual void apply(bool reverseZ) const;
86 
88  virtual const SetInts& modes(void) const;
89 
91  virtual const SetInts& attributes(void) const;
92 
96  virtual bool operator==(const DtIndirectOpenGLState& rhs) const;
97 
99  virtual bool operator!=(const DtIndirectOpenGLState& rhs) const;
100 
102  virtual GLenum primitiveType() const;
103 
104  public:
105 
106  //Sets up a DtIndirectOpenGLState object to use for light sources since it is constant and needs to match in a few places.
107  static DtIndirectOpenGLState lightSourceState();
108 
109  protected:
112 
115 
118 
121 
124 
127 
129 
132  };
133 
135  std::ostream& operator <<(std::ostream& o, const DtIndirectOpenGLState& stateset);
136 
139  {
140  size_t operator()(const DtIndirectOpenGLState& key) const;
141  };
142 
143 }
Contains the DtIndirectBlendEquation class declaration.
std::set< int > SetInts
Definition: DtCommonTypes.h:22
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
non virtual Container class for holding on to the different states that are found for indirect geomet...
Definition: DtIndirectOpenGLState.h:25
size_t operator()(const DtIndirectOpenGLState &key) const
Contains the DtIndirectBlendFunction class declaration.
DT_DLL_VRFGUICORE makVrv::DtMessage & operator<<(DtMessage &msg, const makVrf::DtNetworkMessageAgentInterface &)
Hasher for the concurrent_unordered_map.
Definition: DtIndirectOpenGLState.h:138
bool myAlphaToCoverageEnabled
a2C enabled or not
Definition: DtIndirectOpenGLState.h:117
bool myBlendingEnabled
blending enabled or not
Definition: DtIndirectOpenGLState.h:114
DtIndirectBlendFunction myBlendFunction
the blending function
Definition: DtIndirectOpenGLState.h:120
non virtual container class for defining a blending function
Definition: DtIndirectBlendFunction.h:29
DtIndirectPolygonOffset myPolygonOffset
the polygon offset
Definition: DtIndirectOpenGLState.h:126
DtIndirectBlendEquation myBlendEquation
the blending equation
Definition: DtIndirectOpenGLState.h:123
SetInts mySetAttributes
Definition: DtIndirectOpenGLState.h:131
SetInts mySetModes
Definition: DtIndirectOpenGLState.h:130
non virtual container class for defining a blending equation
Definition: DtIndirectBlendEquation.h:30
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:18
bool myCullFaceEnabled
culling enabled or not
Definition: DtIndirectOpenGLState.h:111
bool operator==(const DtTextureAtlasIndexParser::StringOrFloatAttrib &lhs, const DtTextureAtlasIndexParser::StringOrFloatAttrib &rhs)
needed for search comparison code
Definition: DtTextureAtlasIndexParser.h:153
non virtual container class for defining a polygon offset state
Definition: DtIndirectPolygonOffset.h:18
Contains DLL export macros.
GLenum myPrimitiveType
Definition: DtIndirectOpenGLState.h:128
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Contains the DtIndirectPolygonOffset class declaration.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)