public StereoRig() { RotationMatrix = new double[9]; TranslationVector = new double[3]; DistortParamsA = new double[4]; DistortParamsB = new double[4]; CameraParamsA = new double[4]; CameraParamsB = new double[4]; shadersInitialized = false; camerasInitialized = false; LoadMicroController(); virtualCameraA = new VirtualCamera(Vector3.Zero, Vector3.Forward, MathHelper.ToRadians(60), 16.0f / 9.0f); virtualCameraB = new VirtualCamera(Vector3.Zero, Vector3.Forward, MathHelper.ToRadians(60), 16.0f / 9.0f); }
void RenderApps(VirtualCamera camera, RenderLayer renderLayer) { GraphicsDevice device = canvas.GetDevice(); DepthStencilBuffer dsOld = device.DepthStencilBuffer; device.DepthStencilBuffer = canvas.GetDepthStencil(); device.SetRenderTarget(0, renderLayer.RenderTarget); device.SetRenderTarget(1, renderLayer.GlowTarget); device.Clear(Color.TransparentBlack); device.RenderState.DepthBufferEnable = true; device.RenderState.DepthBufferWriteEnable = true; device.RenderState.DepthBufferFunction = CompareFunction.LessEqual; device.SetVertexShaderConstant(CanvasShaderConstants.VC_MODELVIEW, camera.ViewProjection); for (int i = 0; i < apps.Count; i++) { apps[i].OnRender(canvas); } device.SetRenderTarget(0, null); device.SetRenderTarget(1, null); device.DepthStencilBuffer = dsOld; }