VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWaterOnScreenDrawable.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2025 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
11 
14 
15 #include <vrvMath/DtVector2.h>
16 
19 
20 namespace makVrv
21 {
22  class DtDe;
23  class DtGlProgram;
24  class DtGlTexture;
25  class DtWaterOnScreen;
26 
30  {
32  : vrv_effectIntensity(1.0f)
33  , vrv_offset(0.0f)
34  , vrv_opacity(1.0f)
35  , vrv_aspectRatio(1.0f)
36  , vrv_fovy(1.57f)
37  {}
38 
40  float vrv_offset;
41  float vrv_opacity;
42 
44  float vrv_fovy;
45  };
46 
49 
51  template <>
52  inline const char* creatorTypeName<DtWaterOnScreenDrawable>(void) { return "DtWaterOnScreenDrawableCreator"; }
53 
56  {
57  public:
59  virtual ~DtWaterOnScreenDrawable();
60 
62  virtual void releaseGLObjects(osg::State* state) const;
63 
64  protected:
66  DtWaterOnScreenDrawable(DtDe &de, DtWaterOnScreen& waterOnScreenEffect);
67 
70 
71  private:
73  DtWaterOnScreenDrawable() = delete;
74 
77 
79  DtWaterOnScreenDrawable& operator=(const DtWaterOnScreenDrawable&) = delete;
80 
81  public:
83  virtual void drawImplementation(osg::RenderInfo& renderInfo) const;
84 
91  //virtual void releaseGLObjects(osg::State* state = 0) const;
92 
94  virtual void setNormalMap(DtGlTexture* texture);
95 
97  virtual void setParameters(const DtWaterOnScreenParameters& params);
98 
99  protected:
101  virtual void createProgramIfNecessary(void) const;
102 
103  virtual void cleanupGpuMemory();
104 
105  virtual void slot_reloadShaders();
106  protected:
107 
109 
111 
113 
115 
120 
122 
123  mutable int myMutableVrvFovLoc;
125 
127  };
128 }
DtWaterOnScreenParameters myParams
Definition: DtWaterOnScreenDrawable.h:114
2 dimensional vector
This class provides an OSG-specific implementation of water drops on the screen.
Definition: DtWaterOnScreenEffect.h:41
float vrv_fovy
Definition: DtWaterOnScreenDrawable.h:44
A convenience class to represent an OpenGL Shader Program.
Definition: DtGlProgram.h:66
int myMutableVrvEffectIntensityLoc
locations of various uniforms for the shaders
Definition: DtWaterOnScreenDrawable.h:117
int myMutableVrvWaterNormalsLoc
Definition: DtWaterOnScreenDrawable.h:121
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
float vrv_effectIntensity
Definition: DtWaterOnScreenDrawable.h:39
int myMutableVrvFovLoc
Definition: DtWaterOnScreenDrawable.h:123
float vrv_offset
Definition: DtWaterOnScreenDrawable.h:40
Definition: DtPostProcessorDrawable.h:33
int myMutableVrvAspectRatioLoc
Definition: DtWaterOnScreenDrawable.h:124
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
DtGlTexture * myNormalMap
Definition: DtWaterOnScreenDrawable.h:112
class used to render water on screen effects during the post processor camera draw ...
Definition: DtWaterOnScreenDrawable.h:55
This file contains the declaration of the class DtPostProcessorDrawable which is used for rendering p...
DtWaterOnScreenParameters()
Definition: DtWaterOnScreenDrawable.h:31
Contains DLL export macros.
DtVirtualBaseClassCreator< DtWaterOnScreenDrawable, DtWaterOnScreen & > DtWaterOnScreenDrawableCreator
Definition: DtWaterOnScreenDrawable.h:47
DtGlProgram * myMutableWaterOnScreenProgram
Definition: DtWaterOnScreenDrawable.h:110
float vrv_aspectRatio
Definition: DtWaterOnScreenDrawable.h:43
const char * creatorTypeName< DtWaterOnScreenDrawable >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtWaterOnScreenDrawable.h:52
float vrv_opacity
Definition: DtWaterOnScreenDrawable.h:41
Base class to provide boost signal/slot management.
DtSignalConnectionManager myConnections
Definition: DtWaterOnScreenDrawable.h:126
friend DtWaterOnScreenDrawableCreator
friended, to access constructor above
Definition: DtWaterOnScreenDrawable.h:69
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
DtWaterOnScreen & myWaterOnScreenEffect
Definition: DtWaterOnScreenDrawable.h:108
int myMutableVrvOffsetLoc
Definition: DtWaterOnScreenDrawable.h:118
structure to exchange/communicate various parameters for the water on screen effect ...
Definition: DtWaterOnScreenDrawable.h:29
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlTexture.h:20
int myMutableVrvOpacityLoc
Definition: DtWaterOnScreenDrawable.h:119

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)