VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtDrawFBOCallback.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/Camera>
15 #include <osg/FrameBufferObject>
16 
17 class DtCVSpan;
18 class DtCVMarkerSeries;
19 
20 namespace osg
21 {
22  class RenderInfo;
23 }
24 
25 namespace makVrv
26 {
27  class DtGlDebugGroup;
28 
30  {
32  PreDrawFBOCallback( osg::FrameBufferObject* fbo);
33  virtual ~PreDrawFBOCallback();
34 
36  virtual void operator () (osg::RenderInfo& renderInfo) const;
37 
39  virtual void enableBindFbo(bool bind);
40 
41  virtual void setProfileSubsystem(const char * profName) {
42  myPerformanceModule = profName;
43  }
44  virtual void setProfileFunction(const char * funcName) {
45  myProfileFunction = funcName;
46  }
47 
48  virtual void endDrawPass(osg::RenderInfo& renderInfo);
49 
50  private:
53  const char* myPerformanceModule;
54  // owned externally so that comparisons work.
55  const char * myProfileFunction;
56  mutable DtCVSpan * mySpan;
59  };
60 
61 
63  {
66 
68  virtual void operator () (osg::RenderInfo& renderInfo) const;
69 
71  void setRestoreDrawBuffer(GLenum bufferAttachment);
72 
74  void setRestoreReadBuffer(GLenum bufferAttachment);
75 
77  void enableUnbindFbo(bool unbind);
78 
80  void setPredrawCallback(PreDrawFBOCallback * predraw_callback) {
81  myPreDrawCallback = predraw_callback;
82  }
83 
84  private:
88 
90  };
91 
92 }
Definition: DtDrawFBOCallback.h:29
Definition: DtGlDebugGroup.h:58
GLenum myReadBufferAttachment
Definition: DtDrawFBOCallback.h:86
Creates a span that demarcates a length of time in the CV tool.
Definition: DtConcurrencyViewerMacros.h:61
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
virtual void setProfileFunction(const char *funcName)
Definition: DtDrawFBOCallback.h:44
const char * myPerformanceModule
Definition: DtDrawFBOCallback.h:53
Creates a series/span line in the CV tool.
Definition: DtConcurrencyViewerMacros.h:27
DtCVMarkerSeries * myMarker
Definition: DtDrawFBOCallback.h:57
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
const char * myProfileFunction
Definition: DtDrawFBOCallback.h:55
virtual void setProfileSubsystem(const char *profName)
Definition: DtDrawFBOCallback.h:41
DtCVSpan * mySpan
Definition: DtDrawFBOCallback.h:56
GLenum myDrawBufferAttachment
Definition: DtDrawFBOCallback.h:85
DtGlDebugGroup * myGlDebugGroup
Definition: DtDrawFBOCallback.h:58
void setPredrawCallback(PreDrawFBOCallback *predraw_callback)
used for ending profiling commands
Definition: DtDrawFBOCallback.h:80
Definition: DtDrawFBOCallback.h:62
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:18
PreDrawFBOCallback * myPreDrawCallback
Definition: DtDrawFBOCallback.h:89
bool myEnableBindFbo
Definition: DtDrawFBOCallback.h:52
Contains DLL export macros.
osg::ref_ptr< osg::FrameBufferObject > mySharedFbo
Definition: DtDrawFBOCallback.h:51
bool myEnableUnbindFbo
Definition: DtDrawFBOCallback.h:87

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)