VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectShaderConstants.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 
15 
19 
20 namespace osg
21 {
22  class State;
23 }
24 
25 namespace makVrv
26 {
27  class DtGlProgram;
28  class DtGlBuffer;
29  class DtDe;
30  class DtOsgLightPointManager;
31 
34 
37 
39  template <>
40  inline const char* creatorTypeName<DtIndirectShaderConstants>(void) { return "DtIndirectShaderConstantsCreator"; }
41 
43  {
44  public:
47  virtual ~DtIndirectShaderConstants();
48 
50  DtIndirectShaderConstants& operator=(const DtIndirectShaderConstants& rhs) = delete;
51  protected:
54  public:
55  virtual void update(DtGlBuffer* shaderBufferUbo, const osg::State* state, const DtOsgLightPointManager& lightPointManager);
56 
57  virtual void init(const DtGlProgram* program) override;
58  protected:
59  virtual void reset(void) override;
60 
61  public:
62  // These are used in the vertex shader
65 
66  // These are used in the pixel shader
70 
71  // These are used by both
72  int myTime;
73  // x = soften intensity
74  // y = light point max range
75  // z = whether soft pass
77  public:
78  static const std::string DigitTextureUniformName;
79  static const std::string LightPointUniformName;
80  static const std::string EnableLightingUniformName;
81 
82  static const float defaultMaxRange;
83  static const float defaultLightPointOffset;
84 
87 
90 
92  };
93 }
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
DtDe & myDe
Definition: DtIndirectShaderConstants.h:91
const char * creatorTypeName< DtIndirectShaderConstants >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectShaderConstants.h:40
DtValueAndLoc< Matrix4_32 > model_view_matrix
Definition: DtIndirectShaderConstants.h:88
int myLightPointSoftenIntensityMaxRangePass
Definition: DtIndirectShaderConstants.h:76
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
int myDirectionLight
Definition: DtIndirectShaderConstants.h:68
interface class for managing program constants
Definition: DtProgramConstants.h:70
static const std::string LightPointUniformName
Definition: DtIndirectShaderConstants.h:79
4 dimensional vector
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:65
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:106
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
DtValueAndLoc< Vector4_32 > vrv_missingTextureColor
Definition: DtIndirectShaderConstants.h:86
DtValueAndLoc< Vector4_32 > vrv_debugIndirectColor
Definition: DtIndirectShaderConstants.h:85
static const float defaultLightPointOffset
Definition: DtIndirectShaderConstants.h:83
Definition: DtProgramConstants.h:22
Contains makVrv::DtProgramConstants class.
DtValueAndLoc< Matrix4_32 > projection_matrix
Definition: DtIndirectShaderConstants.h:89
A generic OpenGL buffer. This can be: -&gt; a vertex buffer -&gt; an index buffer -&gt; a shader storage buffe...
Definition: DtGlBuffer.h:29
static const std::string EnableLightingUniformName
Definition: DtIndirectShaderConstants.h:80
int myDigitNumber
Definition: DtIndirectShaderConstants.h:67
static const std::string DigitTextureUniformName
Definition: DtIndirectShaderConstants.h:78
int myTexturedLightPoint
Definition: DtIndirectShaderConstants.h:69
Contains DLL export macros.
friend DtIndirectShaderConstantsCreator
Definition: DtIndirectShaderConstants.h:45
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
static const float defaultMaxRange
Definition: DtIndirectShaderConstants.h:82
int myTime
Definition: DtIndirectShaderConstants.h:72
Definition: DtIndirectShaderConstants.h:42
int myIsDaylight
Definition: DtIndirectShaderConstants.h:63
DtVirtualBaseClassCreator< DtIndirectShaderConstants > DtIndirectShaderConstantsCreator
creator
Definition: DtIndirectShaderConstants.h:33
4 dimensional matrix
int myLightPointOffset
Definition: DtIndirectShaderConstants.h:64

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)