VR-Forces 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 
17 #include <vrvMath/DtVector4.h>
18 #include <vrvMath/DtMatrix4.h>
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 DebugLabelModeUniformName;
80  static const std::string LightPointUniformName;
81  static const std::string EnableLightingUniformName;
82 
83  static const float defaultMaxRange;
84  static const float defaultLightPointOffset;
85 
88 
91 
93  };
94 }
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
DtDe & myDe
Definition: DtIndirectShaderConstants.h:92
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:89
static const std::string DebugLabelModeUniformName
Definition: DtIndirectShaderConstants.h:79
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:80
4 dimensional vector
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
DtOsgLightPointManager registers LightPoint nodes so their TBO can be created and updated in a single...
Definition: DtOsgLightPointManager.h:128
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
DtValueAndLoc< Vector4_32 > vrv_missingTextureColor
Definition: DtIndirectShaderConstants.h:87
DtValueAndLoc< Vector4_32 > vrv_debugIndirectColor
Definition: DtIndirectShaderConstants.h:86
static const float defaultLightPointOffset
Definition: DtIndirectShaderConstants.h:84
Definition: DtProgramConstants.h:22
Contains makVrv::DtProgramConstants class.
DtValueAndLoc< Matrix4_32 > projection_matrix
Definition: DtIndirectShaderConstants.h:90
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:81
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:76
static const float defaultMaxRange
Definition: DtIndirectShaderConstants.h:83
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)