VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtReadFramebufferCallback.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
15 
16 #include <osg/Camera>
17 #include <vector>
18 #include <list>
19 #include <boost/signal.hpp>
20 
21 
22 namespace makVrv
23 {
24  class DtProcessImageTask;
25  class DtOsgChannel;
26 
27  class DtEncoderIO;
28 
34  {
35  public:
37  friend class DtVideoStream;
38 
40  virtual ~DtReadFramebufferCallback();
41 
43  virtual void operator()(osg::RenderInfo& renderInfo) const;
44 
45  protected:
46 
49 
51  virtual bool init();
52 
54  virtual void unInit();
55 
57  virtual void setupPixelBufferObjects( int numBuffers );
58 
60  virtual bool createProcessImageTask( DtDe& de, const DtVideoStream& stream );
61 
63  virtual bool setPixelFormatFromString( const DtUnicode& pxfString );
64 
66  virtual bool setReadBufferFromString( const DtUnicode& rbString );
67 
69  virtual bool setDataTypeFromString( const DtUnicode& dtString );
70 
71  private:
74 
77 
79  DtReadFramebufferCallback& operator=( const DtReadFramebufferCallback& orig );
80 
81  protected:
84 
87 
90 
92  double myFrequency;
93 
96 
98  int myWidth;
99 
101  int myHeight;
102 
104  int myX;
105 
107  int myY;
108 
111 
114 
117 
119  std::vector<unsigned int> myPbos;
120 
123 
126 
129 
132 
135 
138 
140 
143 
146  };
147 }
DtReadFramebufferProcessData myProcessData
hardware frame buffer data
Definition: DtReadFramebufferCallback.h:145
A DtVideoStream instance will create a single streaming video pipeline on the channel indicated by wi...
Definition: DtVideoStream.h:33
A DtReadFramebufferCallback instance is installed as the draw callback of the camera attached to the ...
Definition: DtReadFramebufferCallback.h:32
A unicode string.
Definition: DtUnicode.h:33
int myReadIndex
Read buffer index.
Definition: DtReadFramebufferCallback.h:125
Contains the DtVideoStream class declaration.
bool myIsInitialized
is everything initialized
Definition: DtReadFramebufferCallback.h:134
This is a non-extendable container class used to send the information to the NVidia encoder...
Definition: DtReadFramebufferProcessData.h:20
bool myUseReadPixels
if set to true use CPU encoding / false GPU encoding
Definition: DtReadFramebufferCallback.h:95
DtEncoderIO * myEncoderIO
hardware encoding IO object
Definition: DtReadFramebufferCallback.h:142
DtProcessImageTask * myTask
Image processing task.
Definition: DtReadFramebufferCallback.h:131
#define DT_DLL_VRVVIDEOSTREAM
Definition: vrvVideoStream.h:20
DtDe & myDe
Copy of the DtDe.
Definition: DtReadFramebufferCallback.h:86
Contains the DtProcessImageTask class declaration.
This class provides the OSG-specific implementation of a DtChannel.
Definition: DtOsgChannel.h:75
osg::ref_ptr< osg::Image > myImage
Image pointer.
Definition: DtReadFramebufferCallback.h:128
DtVideoStream & myStream
Current VideoStream.
Definition: DtReadFramebufferCallback.h:83
int myY
Position in Y.
Definition: DtReadFramebufferCallback.h:107
GLenum myPixelFormat
Pixel format used.
Definition: DtReadFramebufferCallback.h:110
GLenum myReadBuffer
GL buffer used (back/front/back_hardware/front_hardware)
Definition: DtReadFramebufferCallback.h:116
bool myIsUsingHardware
Are using hardware encoding.
Definition: DtReadFramebufferCallback.h:137
int myHeight
height of the image
Definition: DtReadFramebufferCallback.h:101
GLenum myDataType
Data type format.
Definition: DtReadFramebufferCallback.h:113
bool myReadFromTexture
Definition: DtReadFramebufferCallback.h:139
std::vector< unsigned int > myPbos
Pixel Buffer Object.
Definition: DtReadFramebufferCallback.h:119
Contains the DtReadFramebufferProcessData class declaration.
voidpf stream
Definition: ioapi.h:39
unsigned int GLenum
Definition: DtGlTextureBufferObject.h:18
The EncoderIO class is responsible to initialize CUDA and NVidia encoder then will be responsible to ...
Definition: DtEncoderIO.h:74
DtProcessImageTask creates and manages all the process image pipeline elements.
Definition: DtProcessImageTask.h:36
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
int myWidth
width of the image
Definition: DtReadFramebufferCallback.h:98
double myFrequency
streaming frequency
Definition: DtReadFramebufferCallback.h:92
int myWriteIndex
Write buffer index.
Definition: DtReadFramebufferCallback.h:122
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains DLL export macros.
int myX
Position in X.
Definition: DtReadFramebufferCallback.h:104
DtOsgChannel * myChannel
Ptr to the Channel.
Definition: DtReadFramebufferCallback.h:89

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)