示例#1
0
 internal void UpdateViewport()
 {
     fbo.Bind();
     fbo.SetTextureBuffer(FrameBufferObject.TargetBuffer.Color, PixelInternalFormat.R32f, PixelFormat.Red, PixelType.Float, renderer.Screen.Width, renderer.Screen.Height);
     fbo.DrawBuffers(new[] { DrawBuffersEnum.ColorAttachment0 });
     fbo.UnBind();
 }
示例#2
0
        internal Touch(NewRenderer renderer)
        {
            this.renderer = renderer;

            objectStates = new List <ObjectState>();
            touchFaces   = new List <FaceState>();
            try
            {
                pickingShader = new Shader("default", "picking", true);
                pickingShader.Activate();
                pickingShader.Deactivate();
            }
            catch
            {
                Interface.AddMessage(MessageType.Error, false, "Initialising the touch shader failed- Falling back to legacy openGL.");
                Interface.CurrentOptions.IsUseNewRenderer = false;
            }


            fbo = new FrameBufferObject();
            fbo.Bind();
            fbo.SetTextureBuffer(FrameBufferObject.TargetBuffer.Color, PixelInternalFormat.R32f, PixelFormat.Red, PixelType.Float, renderer.Screen.Width, renderer.Screen.Height);
            fbo.DrawBuffers(new[] { DrawBuffersEnum.ColorAttachment0 });
            fbo.UnBind();
        }
示例#3
0
文件: Touch.cs 项目: zbx1425/OpenBVE
        internal Touch(NewRenderer renderer)
        {
            this.renderer   = renderer;
            touchableObject = new List <ObjectState>();

            if (!renderer.ForceLegacyOpenGL)
            {
                fbo = new FrameBufferObject();
                fbo.Bind();
                fbo.SetTextureBuffer(FrameBufferObject.TargetBuffer.Color, PixelInternalFormat.R32f, PixelFormat.Red, PixelType.Float, renderer.Screen.Width, renderer.Screen.Height);
                fbo.DrawBuffers(new[] { DrawBuffersEnum.ColorAttachment0 });
                fbo.UnBind();
            }
        }