| 
 Take a look at the following example. This is a modified version of renderNodeSimple.py with a render node texture on a quad fixed to the screen: 
	Code: 
 """This script demonstrates how to use render nodes to create a virtual video camera.
 Press spacebar to toggle the camera between panning and following the avatar.
 Use the mouse and WASD keys to navigate around the room.
 """
 import viz
 import vizact
 import vizcam
 
 viz.fov(60)
 viz.go()
 
 import vizinfo
 vizinfo.InfoPanel(align=viz.ALIGN_LEFT_BOTTOM)
 
 # Use keyboard/mouse camera
 cam = vizcam.WalkNavigate()
 viz.cam.setHandler(cam)
 
 # Add environment
 model = viz.add('pit.osgb')
 
 # Create render texture for camera video feed
 video = viz.addRenderTexture()
 
 # Create render node for camera
 cam = viz.addRenderNode(size=(1280,720))
 
 # Do not inherit view/projection settings from main window
 cam.setInheritView(False)
 
 # Set FOV for video camera
 cam.setFov(60.0,1280/720.0,0.1,1000.0)
 
 # Render to video feed texture
 cam.setRenderTexture(video)
 
 # Only render once per frame, in case stereo is enabled
 cam.setRenderLimit(viz.RENDER_LIMIT_FRAME)
 
 quad = viz.addTexQuad(pos=[1,0.6,2])
 quad.setReferenceFrame(viz.RF_VIEW)
 quad.texture(video)
 quad.drawOrder(100)
 quad.disable(viz.DEPTH_TEST)
 quad.renderToAllRenderNodesExcept([cam])
 
 # Don't render to texture if screen isn't visible (optimization)
 cam.renderOnlyIfNodeVisible([quad])
 
 # Add avatar walking around in circles
 avatar = viz.addAvatar('vcc_male2.cfg')
 WalkSequence = vizact.sequence(
 vizact.walkTo((0,0,5))
 ,vizact.walkTo((5,0,0))
 ,vizact.walkTo((0,0,-5))
 ,vizact.walkTo((-5,0,0))
 ,viz.FOREVER
 )
 avatar.runAction(WalkSequence)
 
 # Create attachment point for panning camera
 pan_camera = viz.addGroup()
 PanEulers = (100,45,0), (170,45,0)
 pan_camera.setPosition([-10.94835, 11.09378, 13.61334])
 pan_camera.setEuler(PanEulers[0])
 PanAction = vizact.sequence(
 vizact.spinTo(euler=PanEulers[1],speed=5)
 ,vizact.spinTo(euler=PanEulers[0],speed=5)
 ,viz.FOREVER
 )
 pan_camera.runAction(PanAction)
 
 # Create attachment point for following avatar
 avatar_camera = viz.link(avatar,viz.NullLinkable)
 avatar_camera.preTrans([0,2,-2])
 avatar_camera.preEuler([0,10,0])
 
 # Toggle between attachment points with spacebar
 camera_link = viz.link(pan_camera,cam)
 vizact.onkeydown(' ',camera_link.setSrc,vizact.choice([avatar_camera,pan_camera]))
 |