private void SurfaceView_Render(object sender, GLSurfaceViewEventArgs e) { GLSurfaceView glSurfaceView = (GLSurfaceView)sender; Gl.Viewport(0, 0, glSurfaceView.Width, glSurfaceView.Height); Gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); Gl.Clear(ClearBufferMask.ColorBufferBit); Es2_Render(); }
private void GlSurface_Render(object sender, GLSurfaceViewEventArgs e) { GLSurfaceView senderControl = (GLSurfaceView)sender; float senderAspectRatio = (float)senderControl.Width / senderControl.Height; // Clear Gl.Viewport(0, 0, senderControl.Width, senderControl.Height); Gl.Clear(ClearBufferMask.ColorBufferBit); _CubeScene.CurrentView.ProjectionMatrix = new PerspectiveProjectionMatrix(45.0f, senderAspectRatio, 0.1f, 100.0f); _CubeScene.CurrentView.LocalModel.SetIdentity(); _CubeScene.CurrentView.LocalModel.Translate(_ViewStrideLat, _ViewStrideAlt, 0.0f); _CubeScene.CurrentView.LocalModel.RotateY(_ViewAzimuth); _CubeScene.CurrentView.LocalModel.RotateX(_ViewElevation); _CubeScene.CurrentView.LocalModel.Translate(0.0f, 0.0f, _ViewLever); _CubeScene.UpdateViewMatrix(); _CubeScene.Draw(_Context); }
private void GlSurface_ContextCreated(object sender, GLSurfaceViewEventArgs e) { // Wrap GL context with GraphicsContext _Context = new GraphicsContext(e.DeviceContext, e.RenderContext); _CubeScene = new SceneGraph(SceneGraphFlags.None); _CubeScene.SceneRoot = new SceneObjectGeometry(); _CubeScene.SceneRoot.ObjectState.DefineState(new DepthTestState(DepthFunction.Less)); _CubeScene.CurrentView = new SceneObjectCamera(); _CubeScene.SceneRoot.Link(_CubeScene.CurrentView); SceneObjectGeometry geometry = new SceneObjectGeometry(); geometry.ProgramTag = ShadersLibrary.Instance.CreateProgramTag("OpenGL.Standard"); geometry.AddGeometry(VertexArrays.CreateSphere(3.0f, 8, 8)); _CubeScene.SceneRoot.Link(geometry); _CubeScene.Create(_Context); Gl.ClearColor(1.0f, 0.1f, 0.1f, 1.0f); }
private void SurfaceView_ContextDestroying(object sender, GLSurfaceViewEventArgs e) { Es2_ContextDestroying(); }
private void SurfaceView_ContextCreated(object sender, GLSurfaceViewEventArgs e) { Es2_ContextCreated(); }
private void GlSurface_ContextDestroying(object sender, GLSurfaceViewEventArgs e) { //_CubeScene.Dispose(); //_Context.Dispose(); }