VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDepthOfField.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 
12 // Get proper local export symbol
14 
17 
18 namespace makVrv
19 {
20  class DtDepthOfFieldDrawable;
21  class DtWindow;
22 
27  {
28  public:
30  DtDepthOfField(DtDe& de, const std::string& postProcessType, bool handles2D);
31 
33  virtual ~DtDepthOfField();
34  private:
37 
40 
42  DtDepthOfField& operator=(const DtDepthOfField&);
43  public:
45  virtual void setFocalRange(float range);
46 
48  virtual void setFocalDepth(float depth);
49 
51  virtual void setAutofocus(bool useAutofocus);
52 
54  virtual bool update(DtChannel *channel);
55 
56  protected:
58  virtual void slot_windowRemoved(DtWindow* window);
59 
60  protected:
62 
63  // Focal distance is set by sampling the depth buffer in the center
64  float myFocalRange;
65  float myFocalDepth;
68 
71 
73  };
74 
75  //
76  // Creator
77  //
78 
83  : public DtPostProcessorCreator
84  {
85  public:
87  friend class DtPostProcessManager;
88 
91 
93  virtual ~DtDepthOfFieldCreator();
94 
95  protected:
97  virtual DtPostProcessor* create(DtDe& de, const std::string& postProcessType);
98  };
99 
100 }
Abstract Base class.
Definition: DtWindow.h:25
Definition: featureContext.h:37
DtPostProcessorCreator is the common base class for all post processor creators.
Definition: DtPostProcessor.h:213
float myFocalDepth
Definition: DtDepthOfField.h:65
This class provides an OSG-specific implementation of camera depth of field.
Definition: DtDepthOfField.h:26
int myViewportHeight
Definition: DtDepthOfField.h:70
The abstract Channel Class.
Definition: DtChannel.h:29
float myFocalRange
Definition: DtDepthOfField.h:64
This class provides the OSG-specific management of post-processing effects.
Definition: DtPostProcessManager.h:25
#define DT_DLL_VRVPOSTPROCESSOR
Definition: vrvPostProcessor.h:19
Contains DLL export macros.
Contains makVrv::DtDepthOfFieldDrawable class.
DtDe & myDe
Definition: DtDepthOfField.h:61
bool myUseReverseZBuffer
Definition: DtDepthOfField.h:67
bool myUseAutofocus
Definition: DtDepthOfField.h:66
A DtDepthOfFieldCreator instance is registered with the post process element factory to create DtPost...
Definition: DtDepthOfField.h:82
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int myViewportWidth
Definition: DtDepthOfField.h:69
This class provides the OSG-specific implementation of a post processor.
Definition: DtPostProcessor.h:62
osg::ref_ptr< DtDepthOfFieldDrawable > myDofDrawable
Definition: DtDepthOfField.h:72

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)