VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgFrameTextureBlitterManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
17 
18 #include <osg/observer_ptr>
19 #include <osg/Node>
20 #include <osg/Light>
21 
22 #include <matrix/vlVector.h>
23 
24 #include <boost/unordered_map.hpp>
25 
26 namespace osg
27 {
28  class Light;
29  class LightSource;
30  class State;
31  class StateSet;
32  class Matrixd;
33 }
34 
35 namespace makVrv
36 {
37  class DtGlRenderTexture;
38 
39  class DtGlDeleteObjectManager;
40 
41  class DtChannelManager;
42  class DtChannel;
43 
47  {
48  public:
51 
53  virtual void releaseGLObjects();
54 
56  virtual DtGlRenderTexture* updateAndGetDepthTexture(osg::RenderInfo& renderInfo);
57 
58  virtual DtGlRenderTexture* findDepthTexture(osg::RenderInfo& renderInfo);
59 
61  virtual void slot_channelDestroyed(DtChannelManager* channelManager, DtChannel* channel);
62 
64  // by this manager. This manager is responsible for those textures.
65  // This is called in the slot_channelDestroyed signal and also when
66  // a window is about to be destroyed.
67  virtual void deleteRenderTextureForCamera(const osg::Camera* camera);
68 
70  static DtOsgFrameTextureBlitterManager& instance(DtDe& de);
71 
73  static const std::string& theClassName();
74 
75  protected:
78 
81 
82  virtual void flushInvalidCameras(void);
83 
84  protected:
86 
88 
90  {
92  virtual ~TextureAndFrame();
95  };
96 
97  typedef std::map<osg::observer_ptr<const osg::Camera>, TextureAndFrame> CameraToRenderTextureMap;
99 
100  // For listening for channel creation
102  };
103 }
DtDe & myDe
Definition: DtOsgFrameTextureBlitterManager.h:85
DtGlDeleteObjectManager & myGlDeleteObjectManager
Definition: DtOsgFrameTextureBlitterManager.h:87
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A helper classes for creating a RTT target, optionally including depth buffer.
Definition: DtGlRenderToTexture.h:47
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
int myFrameNumber
Definition: DtOsgFrameTextureBlitterManager.h:94
The abstract Channel Class.
Definition: DtChannel.h:35
Light class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: DtOsgFrameTextureBlitterManager.h:89
std::map< osg::observer_ptr< const osg::Camera >, TextureAndFrame > CameraToRenderTextureMap
Definition: DtOsgFrameTextureBlitterManager.h:97
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
Base class to provide boost signal/slot management.
Manager to delete GLBuffer in the main thread.
Definition: DtGlDeleteObjectManager.h:44
DtOsgFrameTextureBlitterManager responsible for copying depth buffer to render to target...
Definition: DtOsgFrameTextureBlitterManager.h:46
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
CameraToRenderTextureMap myDepthRenderTextureMap
Definition: DtOsgFrameTextureBlitterManager.h:98
Contains makVrv::DtOsgShaderManager class.
DtGlRenderTexture * myTexture
Definition: DtOsgFrameTextureBlitterManager.h:93
DtSignalConnectionManager myConnections
Definition: DtOsgFrameTextureBlitterManager.h:101

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)