VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtFrameTextureBlitterManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
15 
17 
18 #include <osg/observer_ptr>
19 #include <osg/Camera>
20 
21 namespace osg
22 {
23  class RenderInfo;
24 }
25 
26 namespace makVrv
27 {
28  class DtGlRenderTexture;
29 
30  class DtGlDeleteObjectManager;
31 
32  class DtChannelManager;
33  class DtChannel;
34 
35 
39  {
40  public:
43 
47  DtFrameTextureBlitterManager& operator=(const DtFrameTextureBlitterManager& rhs) = delete;
48  protected:
51 
52  public:
54  virtual DtGlRenderTexture* updateAndGetDepthTexture(osg::RenderInfo& renderInfo);
55 
56  virtual DtGlRenderTexture* findDepthTexture(const osg::Camera* osgCamera);
57 
58 
59  public:
61  static DtFrameTextureBlitterManager& instance(DtDe& de);
62 
64  static const std::string& theClassName();
65 
66  protected:
68  virtual void slot_channelDestroyed(DtChannelManager* channelManager, DtChannel* channel);
69 
70  virtual void deleteRenderTextureForCamera(const osg::Camera* osgCamera);
71 
72  DtFrameTextureBlitterManagerUserData* findUserData(const osg::Camera* osgCamera);
73  DtKeyedData* findTcsData(const osg::Camera* osgCamera);
74  protected:
76 
78 
79  // For listening for channel creation
81 
82  DtThreadCameraStreamDataManagerBase* myTcsDataManager = nullptr;
84  };
85 }
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:46
DtFrameTextureBlitterManagerUserDataCreator & myUserDataCreator
Definition: DtFrameTextureBlitterManager.h:83
DtSignalConnectionManager myConnections
Definition: DtFrameTextureBlitterManager.h:80
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtGlDeleteObjectManager & myGlDeleteObjectManager
Definition: DtFrameTextureBlitterManager.h:77
Contains the DtThreadCameraStreamDataManager class declaration.
This class is used in conjunction with DtKeyedDataManagerTemplate. It represents data associated with...
Definition: DtKeyedData.h:30
Contains makVrv::DtFrameTextureBlitterManagerUserData class.
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:23
The abstract Channel Class.
Definition: DtChannel.h:35
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Manager for DtKeyedData Used to create/manage DtKeyedData Each entry of DtKeyedData is associated wit...
Definition: DtKeyedDataManagerTemplate.h:48
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
DtFrameTextureBlitterManager responsible for copying depth buffer to render to target.
Definition: DtFrameTextureBlitterManager.h:38
Base class to provide boost signal/slot management.
Vaos are OpenGL context specific. They need to be deleted in the context they are created in...
Definition: DtGlDeleteObjectManager.h:58
DtDe & myDe
Definition: DtFrameTextureBlitterManager.h:75
Contains DLL export macros.
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
This represents per camera, context (tcs) specific data for DtFrameTextureBlitterManager It essential...
Definition: DtFrameTextureBlitterManagerUserData.h:24

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)