VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDepthOfFieldDrawable.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2020 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
11 
14 
16 
18 
19 #include <osg/Texture>
20 
21 namespace osg
22 {
23  class Texture2D;
24  class State;
25 }
26 
27 namespace makVrv
28 {
29  class DtDe;
30 
32  struct DtDofParams
33  {
34  double camNear;
35  double camFar;
36 
41 
42  int viewWidth;
44 
46  DtDofParams();
47  };
48 
49 
52 
54  template <>
55  inline const char* creatorTypeName<DtDepthOfFieldDrawable>(void) { return "DtDepthOfFieldDrawableCreator"; }
56 
60  {
61  public:
63  virtual ~DtDepthOfFieldDrawable();
64  protected:
67 
70  private:
73 
76 
79 
80  public:
82  virtual void drawImplementation(osg::RenderInfo& renderInfo) const;
83 
90  //virtual void releaseGLObjects(osg::State* state = 0) const;
91 
93  virtual void setDepthTexture(osg::Texture* texture);
94 
96  virtual void setParams(DtDofParams& params);
97  protected:
99  virtual void createProgramIfNecessary(void) const;
100 
101  virtual void cleanupGpuMemory(void);
102  protected:
105 
107  mutable unsigned int myMutableDofProgram;
108 
111 
120 
121  Vector2_32 myVrvFilterTaps[12];
122 
125  mutable bool myMutableTapsDirty;
126  };
127 
128 
129 }
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
DtVirtualBaseClassCreator< DtDepthOfFieldDrawable > DtDepthOfFieldDrawableCreator
Definition: DtDepthOfFieldDrawable.h:50
const char * creatorTypeName< DtDepthOfFieldDrawable >(void)
creator class
Definition: DtDepthOfFieldDrawable.h:55
DtDofParams myParams
parameters
Definition: DtDepthOfFieldDrawable.h:110
2 dimensional vector
int myMutableVrvDepthTexLoc
Definition: DtDepthOfFieldDrawable.h:119
double camFar
Definition: DtDepthOfFieldDrawable.h:35
int viewHeight
Definition: DtDepthOfFieldDrawable.h:43
float vrv_focalDepth
Definition: DtDepthOfFieldDrawable.h:39
int myMutableVrvUseReverseZBufferLoc
Definition: DtDepthOfFieldDrawable.h:114
bool myMutableTapsDirty
are the taps needed to be re-sent to the GPU
Definition: DtDepthOfFieldDrawable.h:125
friend DtDepthOfFieldDrawableCreator
friended, to access constructor above
Definition: DtDepthOfFieldDrawable.h:69
Definition: DtVirtualBaseClassCreator.h:14
Definition: DtPostProcessorDrawable.h:23
float vrv_focalRange
Definition: DtDepthOfFieldDrawable.h:40
double camNear
Definition: DtDepthOfFieldDrawable.h:34
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
This file contains the declaration of the class DtPostProcessorDrawable which is used for rendering p...
structure to exchange/communicate DOF field parameters
Definition: DtDepthOfFieldDrawable.h:32
int myMutableVrvFocalDepthLoc
Definition: DtDepthOfFieldDrawable.h:115
int myMutableVrvFilterTapsLoc
Definition: DtDepthOfFieldDrawable.h:118
Contains DLL export macros.
bool vrv_useReverseZBuffer
Definition: DtDepthOfFieldDrawable.h:38
int myMutableVrvFocalRangeLoc
Definition: DtDepthOfFieldDrawable.h:116
osg::ref_ptr< osg::Texture > myBaseTexture
Definition: DtDepthOfFieldDrawable.h:103
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
unsigned int myMutableDofProgram
the program
Definition: DtDepthOfFieldDrawable.h:107
DtDofParams()
constructor
int viewWidth
Definition: DtDepthOfFieldDrawable.h:42
bool vrv_useAutofocus
Definition: DtDepthOfFieldDrawable.h:37
int myMutableVrvUseAutofocusLoc
locations of various shader parameters
Definition: DtDepthOfFieldDrawable.h:113
osg::ref_ptr< osg::Texture > myDepthTexture
Definition: DtDepthOfFieldDrawable.h:104
class used to render dof during the post processor camera draw
Definition: DtDepthOfFieldDrawable.h:59
int myMutableVrvzNearFarLoc
Definition: DtDepthOfFieldDrawable.h:117

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)