VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtLightingComponentStateAttribute.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/StateAttribute>
15 
16 #include <unordered_map>
17 #include <map>
18 
19 namespace osg
20 {
21  class State;
22 }
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtLightingComponentStateAttribute;
28  class DtOsgLightingComponent;
29 
30  class DtGlDeleteObjectManager;
31 
34  class DT_DLL_VRVOSG DtLightingComponentStateAttribute : public osg::StateAttribute
35  {
36  public:
38  DtLightingComponentStateAttribute(DtOsgLightingComponent& parent, DtDe& de, osg::StateAttribute::Type type);
39 
41  DtLightingComponentStateAttribute(const DtLightingComponentStateAttribute& copy, const osg::CopyOp& copyOp =
42  osg::CopyOp::SHALLOW_COPY);
43 
46  private:
51  public:
53  virtual void apply(osg::State& state) const;
54 
56  virtual void releaseGLObjects(osg::State* state/* =0 */) const;
57 
58  public:
60  virtual int compare(const StateAttribute& sa) const;
61 
63  virtual osg::Object* cloneType() const override;
64  virtual osg::Object* clone(const osg::CopyOp& copyop) const override;
65  virtual bool isSameKindAs(const osg::Object* obj) const override;
66  virtual const char* libraryName() const override;
67  virtual const char* className() const override;
68  virtual Type getType() const override;
69  protected:
70  const osg::StateAttribute::Type myType;
72 
74 
75  bool myEnabled = true;
76  };
77 }
const osg::StateAttribute::Type myType
Definition: DtLightingComponentStateAttribute.h:70
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtDe & myDe
Definition: DtLightingComponentStateAttribute.h:71
Manage buffer object binding state, via glBindBufferBase.
Definition: DtLightingComponentStateAttribute.h:34
Contains DLL export macros.
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
DtOsgLightingComponent & myParent
Definition: DtLightingComponentStateAttribute.h:73
State component that injects lighting shaders and uniforms into a state set. It also has a DtLightCom...
Definition: DtOsgLightingComponent.h:57

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)