VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVolumetricLighting.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2021 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
11 
13 
15 
17 
18 namespace makVrv
19 {
20  class DtWindow;
21  class DtVolumetricDrawable;
22 
26  {
27  public:
29  DtVolumetricLighting(DtDe& de, const std::string& postProcessType, bool handles2D);
30 
32  virtual ~DtVolumetricLighting();
33  private:
36 
39 
41  DtVolumetricLighting& operator=(const DtVolumetricLighting&);
42  public:
43 
45  virtual bool update(DtChannel *channel);
46 
48  virtual void slot_reloadShaders();
49  virtual void slot_setGodRayEffects(bool enabled);
50 
52  virtual osg::Texture* outputTexture();
53 
55  virtual bool localEnabled();
56 
58  virtual bool effectItrEnabled(EffectMap::iterator &effect);
59  virtual bool postProcessorEnabled() const;
60 
65  virtual void setInputTexture(const DtChannel* channel, osg::Texture* texture) override;
66 
68  virtual bool needsOcclusionTexture() const override;
69 
70  protected:
72 
75  };
76 
77  //
78  // Creator
79  //
80 
85  : public DtPostProcessorCreator
86  {
87  public:
89  friend class DtPostProcessManager;
90 
93 
95  virtual ~DtVolumetricLightingCreator();
96 
97  protected:
99  virtual DtPostProcessor* create(DtDe& de, const std::string& postProcessType);
100  };
101 
102 }
DtPostProcessorCreator is the common base class for all post processor creators.
Definition: DtPostProcessor.h:232
bool myLocalEnabled
Definition: DtVolumetricLighting.h:74
The abstract Channel Class.
Definition: DtChannel.h:35
DtVolumetricDrawable * myVolumeDrawable
Definition: DtVolumetricLighting.h:73
A DtVolumetricLightingCreator instance is registered with the post process element factory to create ...
Definition: DtVolumetricLighting.h:84
This class provides the OSG-specific management of post-processing effects.
Definition: DtPostProcessManager.h:25
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
class used to render crepuscular rays during the post processor camera draw
Definition: DtVolumetricDrawable.h:46
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
Contains DLL export macros.
This class provides an implementation of crepuscular rays as a post process.
Definition: DtVolumetricLighting.h:25
Base class to provide boost signal/slot management.
DtSignalConnectionManager myConnections
Definition: DtVolumetricLighting.h:71
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
This class provides the OSG-specific implementation of a post processor. A post processor has a type ...
Definition: DtPostProcessor.h:66

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)