Example #1
0
        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;
        }
        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);
        }