42 #ifndef vtkOpenVRRenderWindow_h
43 #define vtkOpenVRRenderWindow_h
45 #include "vtkRenderingOpenVRModule.h"
46 #include "vtkOpenGLRenderWindow.h"
48 #define SDL_MAIN_HANDLED
69 virtual void Start(
void);
183 vr::IVRSystem *
GetHMD() {
return this->HMD; };
188 void UpdateHMDMatrixPose();
200 {
return this->LeftEyeDesc.m_nRenderFramebufferId; };
202 {
return this->LeftEyeDesc.m_nResolveFramebufferId; };
204 {
return this->RightEyeDesc.m_nRenderFramebufferId; };
206 {
return this->RightEyeDesc.m_nResolveFramebufferId; };
208 width = this->RenderWidth; height = this->RenderHeight; };
221 return this->TrackedDevicePose[idx]; };
236 SDL_Window *WindowId;
253 bool CreateFrameBuffer(
int nWidth,
int nHeight,
265 void SetupDistortion();
266 void RenderDistortion();
274 vr::TrackedDeviceIndex_t unDevice,
275 vr::TrackedDeviceProperty prop,
276 vr::TrackedPropertyError *peError = NULL );
280 vtkOpenVRModel *FindOrLoadRenderModel(
const char *modelName );
283 vtkOpenVRModel *TrackedDeviceToRenderModel[ vr::k_unMaxTrackedDeviceCount ];
284 vr::TrackedDevicePose_t TrackedDevicePose[ vr::k_unMaxTrackedDeviceCount ];
virtual void Finalize()=0
Finalize the rendering process.
int IsDirect()
Is this render window using hardware acceleration? 0-false, 1-true.
FramebufferDesc RightEyeDesc
GLuint m_nResolveFramebufferId
virtual void SetPosition(int a[2])
Set the position of the window.
vr::TrackedDevicePose_t & GetTrackedDevicePose(vr::TrackedDeviceIndex_t idx)
Get the most recent pose of any tracked devices.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void * GetGenericParentId()
Dummy stubs for vtkWindow API.
static vtkRenderWindow * New()
Construct an instance of vtkRenderWindow with its screen size set to 300x300, borders turned on...
virtual int * GetScreenSize()=0
Get the current size of the screen in pixels.
virtual void SetNextWindowId(void *)
Dummy stubs for vtkWindow API.
vr::IVRRenderModels * OpenVRRenderModels
virtual void SetDisplayId(void *)
Dummy stubs for vtkWindow API.
GLuint m_nRenderFramebufferId
virtual int SupportsOpenGL()
Does this render window support OpenGL? 0-false, 1-true.
virtual void SetSize(int a[2])
Set the size of the window in screen coordinates in pixels.
void GetRenderBufferSize(int &width, int &height)
Get the frame buffers used for rendering.
virtual void WindowRemap(void)
Remap the rendering window.
void SetWindowId(void *)
Dummy stubs for vtkWindow API.
void SetParentInfo(char *)
Dummy stubs for vtkWindow API.
vtkOpenGLVertexBufferObject * DistortionVBO
Handle lens distortion.
void ShowCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
GLuint m_nRenderTextureId
void SetParentId(void *)
Dummy stubs for vtkWindow API.
virtual bool IsCurrent()=0
Tells if this window is the current graphics context for the calling thread.
virtual void CreateAWindow()
Create a not-off-screen window.
GLuint GetRightResolveBufferId()
Get the frame buffers used for rendering.
void SetWindowInfo(char *)
Dummy stubs for vtkWindow API.
a simple class to control print indentation
virtual void DestroyWindow()=0
Destroy a not-off-screen window.
vtkTransform * HMDTransform
const char * ReportCapabilities()
Get report of capabilities for the render window.
virtual void MakeCurrent()=0
Attempt to make this window the current graphics context for the calling thread.
void SetNextWindowInfo(char *)
Dummy stubs for vtkWindow API.
virtual void Frame()=0
A termination method performed at the end of the rendering process to do things like swapping buffers...
virtual int GetEventPending()
Check to see if a mouse button has been pressed or mouse wheel activated.
virtual void StereoRenderComplete()
Handles work required once both views have been rendered when using stereo rendering.
create a window for renderers to draw into
GLuint GetLeftRenderBufferId()
Get the frame buffers used for rendering.
virtual void StereoMidpoint()
Intermediate method performs operations required between the rendering of the left and right eye...
virtual void Start()=0
Initialize the rendering process.
virtual void * GetGenericContext()
Dummy stubs for vtkWindow API.
virtual void * GetGenericDrawable()
Dummy stubs for vtkWindow API.
GLuint GetRightRenderBufferId()
Get the frame buffers used for rendering.
virtual void SetPosition(int, int)
Set/Get the position in screen coordinates of the rendering window.
virtual void Render()
Ask each renderer owned by this RenderWindow to render its image and synchronize this process...
GLuint GetLeftResolveBufferId()
Get the frame buffers used for rendering.
std::vector< vtkOpenVRModel * > VTKRenderModels
virtual void * GetGenericDisplayId()
Dummy stubs for vtkWindow API.
virtual void ReleaseGraphicsResources(vtkRenderWindow *)
Free up any graphics resources associated with this window a value of NULL means the context may alre...
virtual void StereoUpdate()
Update system if needed due to stereo rendering.
virtual void Initialize(void)
Initialize the rendering window.
virtual void * GetGenericWindowId()
Dummy stubs for vtkWindow API.
FramebufferDesc LeftEyeDesc
virtual void SetSize(int a[2])
Set the size of the window in pixels.
vtkOpenGLHelper Distortion
Handle lens distortion.
virtual void SetFullScreen(int)
Turn on/off rendering full screen window size.
vr::IVRSystem * GetHMD()
Get the system pointer.
void HideCursor()
Hide or Show the mouse cursor, it is nice to be able to hide the default cursor if you want VTK to di...
GLuint m_nResolveTextureId