OSVR-Core
|
Simple example OpenGL application using the OSVR ClientKit display methods in the C++ API headers. More...
#include <osvr/ClientKit/ClientKit.h>
#include <osvr/ClientKit/Display.h>
#include "SDL2Helpers.h"
#include "OpenGLCube.h"
#include <SDL.h>
#include <SDL_opengl.h>
#include <iostream>
Functions | |
void | render (osvr::clientkit::DisplayConfig &disp) |
The "wrapper" for rendering to a device described by OSVR. More... | |
void | renderScene () |
A simple dummy "draw" function - note that drawing occurs in "room
space" by default. More... | |
int | main (int argc, char *argv[]) |
Simple example OpenGL application using the OSVR ClientKit display methods in the C++ API headers.
void render | ( | osvr::clientkit::DisplayConfig & | disp | ) |
The "wrapper" for rendering to a device described by OSVR.
This function will set up viewport, initialize view and projection matrices to current values, then call renderScene()
as needed (e.g. once for each eye, for a simple HMD.)
For each viewer, eye combination...
Try retrieving the view matrix (based on eye pose) from OSVR
Initialize the ModelView transform with the view matrix we received
For each display surface seen by the given eye of the given viewer...
Set the OpenGL projection matrix based on the one we computed.
Set the matrix mode to ModelView, so render code doesn't mess with the projection matrix on accident.
Call out to render our scene.
Successfully completed a frame render.
void renderScene | ( | ) |
A simple dummy "draw" function - note that drawing occurs in "room space" by default.
(that is, in this example, the modelview matrix when this function is called is initialized such that it transforms from world space to view space)