VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgStateComponent.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2020 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/Referenced>
15 #include <osg/ref_ptr>
16 
17 #include <string>
18 
19 namespace osg
20 {
21  class StateSet;
22 }
23 
24 namespace makVrv
25 {
26  class DtDe;
27 
28  class DtOsgShaderFilesCache;
29 
34  class DT_DLL_VRVOSG DtOsgStateComponent : public osg::Referenced
35  {
36  public:
39 
40  private:
42  DtOsgStateComponent() = delete;
43 
45  DtOsgStateComponent(const DtOsgStateComponent& rhs) = delete;
46 
48  DtOsgStateComponent& operator = (const DtOsgStateComponent& rhs) = delete;
49 
50  public:
52  virtual bool install(osg::StateSet* stateset) =0;
53 
55  virtual bool uninstall(osg::StateSet* stateset) =0;
56 
57  protected:
58 
60  virtual ~DtOsgStateComponent();
61 
63  virtual const std::string& loadShaderSource(const std::string& strFileName) const;
64 
65  protected:
66 
68 
70  };
71 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
class for holding loader shader files, so that they are not repeatedly loaded from disk ...
Definition: DtOsgShaderFilesCache.h:27
DtOsgShaderFilesCache & myShaderFilesCache
Definition: DtOsgStateComponent.h:69
Base class for components that affect the state on a subset of the scene graph, injecting state...
Definition: DtOsgStateComponent.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:72
DtDe & myDe
Definition: DtOsgStateComponent.h:67

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)