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(); }
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(); }
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(); } }