forked from bartvdbraak/blender
8ed439b89e
This function allows the user to run specific code for each of the rendered stereoscopic eyes in the Game Engine. The initial use case is to set the camera projection matrix in a scene.pre_draw callback function for each eye, to be used in VR (Virtual Reality) installations. Reviewed by Mitchell Stokes and Campbell Barton, thank you guys. Sample Test Python Script: """ import bge import bgl import blf def init(): """init function - runs once""" scene = bge.logic.getCurrentScene() scene.post_draw.append(write) def write(): """write on screen - depending on the eye""" width = bge.render.getWindowWidth() height = bge.render.getWindowHeight() # OpenGL setup bgl.glMatrixMode(bgl.GL_PROJECTION) bgl.glLoadIdentity() bgl.gluOrtho2D(0, width, 0, height) bgl.glMatrixMode(bgl.GL_MODELVIEW) bgl.glLoadIdentity() eye = bge.render.getStereoEye() if eye == bge.render.LEFT_EYE: blf.position(0, (width * 0.2), (height * 0.3), 0) blf.size(0, 40, 72) blf.draw(0, "Left") else: # bge.render.RIGHT_EYE: blf.position(0, (width * 0.7), (height * 0.3), 0) blf.size(0, 40, 72) blf.draw(0, "Right") """ |
||
---|---|---|
.. | ||
BlenderRoutines | ||
Converter | ||
Expressions | ||
GameLogic | ||
GamePlayer | ||
Ketsji | ||
Network | ||
Physics | ||
Rasterizer | ||
SceneGraph | ||
VideoTexture | ||
CMakeLists.txt | ||
SConscript |