VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtIndirectLightPointDrawComponent.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
16 
19 
20 #include <osg/StateSet>
21 
22 namespace osg
23 {
24  class State;
25 }
26 
27 namespace makVrv
28 {
29  class DtIndirectGeometryRegistrar;
30  class DtVirtualProgramCache;
31  class DtIndirectEffectTexturesTemplate;
32  class DtOsgLightPointManager;
33  class DtIndirectDefaultTexturesContainer;
34  class DtIndirectGlTextureObjectManager;
35 
36  class DtGlProgram;
37  class DtGlBuffer;
38 
41 
44 
46  template <>
47  inline const char* creatorTypeName<DtIndirectLightPointDrawComponent>(void) { return "DtIndirectLightPointDrawComponentCreator"; }
48 
49  class DtIndirectShaderConstants;
50 
53  {
54  public:
57 
60  protected:
63  private:
66 
69 
72 
73  public:
75  virtual void initialize(const DtIndirectEffectTexturesTemplate& effectTexturesState, unsigned int numTextCoordArrays);
76 
78  virtual void apply(osg::RenderInfo& renderInfo) override;
79 
81  virtual void draw(osg::RenderInfo& renderInfo, const int offsetCommandBuffer, GLenum indicesType, int maxCommands
82  , DtGlBuffer* gpuShaderUbo, int gpuShaderBinding, DtIndirectShaderConstants* shaderConstants) override;
83 
85  virtual bool shouldDraw(bool isShadowPass) override;
86 
87  protected:
89  virtual void draw(const int offsetCommandBuffer, GLenum indicesType, int maxCommands);
90 
92  virtual void slot_debugLabelModeChanged(DtDebugLabelMode newDebugLabelMode);
93 
94  protected:
97 
99 
101 
104 
106  };
107 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
This manager manages the lifetime of the actual gl texture objects (gl unsigned ints) in the indirect...
Definition: DtIndirectGlTextureObjectManager.h:60
DtIndirectGlTextureObjectManager & myIndirectGlTextureObjectManager
Definition: DtIndirectLightPointDrawComponent.h:105
Contains makVrv::DtOsgLightPointManager class.
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:22
Contains the DtIndirectDrawComponent class declaration.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSignalConnectionManager myConnections
Definition: DtIndirectLightPointDrawComponent.h:100
loads and contains various core default textures used by the indirect system
Definition: DtIndirectDefaultTexturesContainer.h:30
DtDebugLabelMode
Definition: DtOsgLightPointManager.h:101
A generic OpenGL buffer. This can be: -&gt; a vertex buffer -&gt; an index buffer -&gt; a shader storage buffe...
Definition: DtGlBuffer.h:29
DtVirtualBaseClassCreator< DtIndirectLightPointDrawComponent > DtIndirectLightPointDrawComponentCreator
creator
Definition: DtIndirectLightPointDrawComponent.h:40
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:19
Base class to provide boost signal/slot management.
friend DtIndirectLightPointDrawComponentCreator
only creator can create
Definition: DtIndirectLightPointDrawComponent.h:56
const char * creatorTypeName< DtIndirectLightPointDrawComponent >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtIndirectLightPointDrawComponent.h:47
osg::ref_ptr< osg::Uniform > myDigitTextureUniform
Definition: DtIndirectLightPointDrawComponent.h:95
Contains DLL export macros.
Interface class to manage/configure drawing of a subset of rendering components within an indirect ge...
Definition: DtIndirectDrawComponent.h:33
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:72
Definition: DtIndirectShaderConstants.h:42
DtIndirectDefaultTexturesContainer & myDefaultTexturesContainer
cache to avoid repeated look ups via DtIndirectDefaultTexturesContainer::instance(myDe) ...
Definition: DtIndirectLightPointDrawComponent.h:103
Class that allows you to abstractly register effect texture types the effect texture types are client...
Definition: DtIndirectEffectTexturesTemplate.h:40
osg::ref_ptr< osg::Uniform > myDebugLabelModeUniform
Definition: DtIndirectLightPointDrawComponent.h:96
class to draw a subset of light points of an indirect geometry
Definition: DtIndirectLightPointDrawComponent.h:52
DtOsgLightPointManager & myLightPointManager
Definition: DtIndirectLightPointDrawComponent.h:98

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)