VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtSkyDrawable.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
15 
16 #include <osg/Drawable>
17 
18 namespace SilverLining
19 {
20  class Atmosphere;
21  class ThreadCameraStreamData;
22 }
23 
24 namespace osg
25 {
26  class Camera;
27  class GLExtensions;
28 }
29 
30 namespace makVrv
31 {
32  class DtSilverliningGroup;
33 
36 
39 
41  template <>
42  inline const char* creatorTypeName<DtSkyDrawable>(void) { return "DtSkyDrawableCreator"; }
43 
46  class DT_DLL_VRVOSG DtSkyDrawable : public osg::Drawable
47  {
48 
49  public:
51 
53  DtSkyDrawable(const DtSkyDrawable& copy, const osg::CopyOp& copyop);
54 
56  virtual ~DtSkyDrawable();
57  protected:
58 
61  public:
62 
64  virtual osg::Object* cloneType() const { return nullptr; }
65  virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new DtSkyDrawable(*this, copyop); }
66 
68  virtual void setGeocentricMode(bool mode);
69 
71  virtual void setLensFlare(bool enabled);
72 
74  virtual void drawImplementation(osg::RenderInfo& renderInfo) const;
75 
77  virtual void releaseGLObjects(osg::State* state = 0) const;
78 
80  virtual void setSkyBoxSize(double size);
81 
83  virtual double getSkyBoxSize() const;
84 
85  protected:
86 
87  virtual void updateSensorFXUniforms(const SilverLining::Atmosphere* atmosphere, const osg::Camera* camera, osg::State& state, SilverLining::ThreadCameraStreamData* tcsData) const;
88 
90  virtual void updateShaderSkyUserUniforms(
91  const SilverLining::Atmosphere* atmosphere, const osg::Camera* camera,
92  osg::State& state, SilverLining::ThreadCameraStreamData* tcsData) const;
93 
94  protected:
95 
98  double myBoxSize;
100 
102  };
103 }
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual osg::Object * clone(const osg::CopyOp &copyop) const
Definition: DtSkyDrawable.h:65
voidpf void uLong size
Definition: ioapi.h:39
virtual osg::Object * cloneType() const
required functions for derriving from osg::Drawable
Definition: DtSkyDrawable.h:64
A group node which adds a silver-lining sky and will light all Children with the proper lighting para...
Definition: DtSilverliningGroup.h:82
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
const char * creatorTypeName< DtSkyDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtSkyDrawable.h:42
DtVirtualBaseClassCreator< DtSkyDrawable, DtSilverliningGroup * > DtSkyDrawableCreator
creator
Definition: DtSkyDrawable.h:35
bool myGeocentricFlag
Definition: DtSkyDrawable.h:97
The sky drawable.
Definition: DtSkyDrawable.h:46
double myBoxSize
Definition: DtSkyDrawable.h:98
DtDe & myDe
Definition: DtSkyDrawable.h:101
const char int mode
Definition: ioapi.h:38
bool myLensFlareFlag
Definition: DtSkyDrawable.h:99
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:70
DtSilverliningGroup * myParent
Definition: DtSkyDrawable.h:96
friend DtSkyDrawableCreator
Definition: DtSkyDrawable.h:50

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)