Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 private void SurfaceView_ContextDestroying(object sender, GLSurfaceViewEventArgs e)
 {
     Es2_ContextDestroying();
 }
Beispiel #5
0
 private void SurfaceView_ContextCreated(object sender, GLSurfaceViewEventArgs e)
 {
     Es2_ContextCreated();
 }
Beispiel #6
0
 private void GlSurface_ContextDestroying(object sender, GLSurfaceViewEventArgs e)
 {
     //_CubeScene.Dispose();
     //_Context.Dispose();
 }