예제 #1
0
        public void Run()
        {
            _engine   = new DemoGameEngine();
            _renderer = new DemoRenderer(_engine.GetWindow());

            var shader = new Shader(_vertexShaderPath, _fragmentShaderPath);

            // (x, y, z) coordinate pairs
            float[] vertices =
            {
                0.0f,   0.5f, 0.0f, // top
                0.5f,  -0.5f, 0.0f, // bottom right
                -0.5f, -0.5f, 0.0f  // bottom left
            };


            var geometry = new List <Geometry> {
                new Geometry(vertices, shader)
            };

            _renderer.SetupGeometry(geometry);

            while (_engine.IsRunning())
            {
                _engine.PollEvents();
                _renderer.DrawScene();
            }

            _renderer.Cleanup();
            _engine.Cleanup();
        }
예제 #2
0
        public void Run()
        {
            _engine   = new DemoGameEngine();
            _renderer = new DemoRenderer(_engine.GetWindow());

            var leftTriangleShader =
                new Shader("Shaders/triangle.vert",
                           "Shaders/orange.frag");

            var rightTriangleShader =
                new Shader("Shaders/triangle.vert",
                           "Shaders/yellow.frag");

            // (x, y, z) coordinate pairs
            var left_triangle = new Geometry(new float[] {
                -1.0f, -0.5f, 0.0f, // left triangle - left point
                -0.5f, 0.5f, 0.0f,  // left triangle - top
                0.0f, -0.5f, 0.0f   // center
            }, shader: leftTriangleShader);

            var right_triangle = new Geometry(new float[] {
                0.5f, 0.5f, 0.0f,  // right triangle - top
                1.0f, -0.5f, 0.0f, // right triangle - right point
                0.0f, -0.5f, 0.0f  // center
            }, shader: rightTriangleShader);

            var geometry = new List <Geometry> {
                left_triangle,
                right_triangle
            };

            _renderer.SetupGeometry(geometry);

            while (_engine.IsRunning())
            {
                _engine.PollEvents();
                _renderer.DrawScene();
            }

            _renderer.Cleanup();
            _engine.Cleanup();
        }
예제 #3
0
        public void Run()
        {
            _engine   = new DemoGameEngine();
            _renderer = new DemoRenderer(_engine.GetWindow());


            var shader = new Shader("Shaders/triangle.vert",
                                    "Shaders/orange.frag");

            // (x, y, z) coordinate pairs
            float[] vertices =
            {
                0.5f,   0.5f, 0.0f, // top right
                0.5f,  -0.5f, 0.0f, // bottom right
                -0.5f, -0.5f, 0.0f, // bottom left
                -0.5f,  0.5f, 0.0f  // top left
            };

            // specify vertex drawing order
            uint[] indices =
            {
                0, 1, 3, // first triangle
                1, 2, 3
            };

            var geometry = new List <Geometry> {
                new Geometry(vertices, indices, shader, DrawingMode.Wireframe)
            };

            _renderer.SetupGeometry(geometry);

            while (_engine.IsRunning())
            {
                _engine.PollEvents();
                _renderer.DrawScene();
            }

            _renderer.Cleanup();
            _engine.Cleanup();
        }
예제 #4
0
        public void Run()
        {
            _engine   = new DemoGameEngine();
            _renderer = new DemoRenderer(_engine.GetWindow());

            var shader = new Shader("Shaders/triangle.vert",
                                    "Shaders/orange.frag");

            // (x, y, z) coordinate pairs
            float[] vertices =
            {
                -1.0f, -0.5f, 0.0f, // left triangle - left point
                -0.5f,  0.5f, 0.0f, // left triangle - top
                0.0f,  -0.5f, 0.0f, // center
                0.5f,   0.5f, 0.0f, // right triangle - top
                1.0f,  -0.5f, 0.0f, // right triangle - right point
            };

            // specify vertex drawing order
            uint[] indices =
            {
                0, 1, 2,
                2, 3, 4
            };

            var triangles = new Geometry(vertices, indices, shader);

            _renderer.SetupGeometry(new List <Geometry> {
                triangles
            });

            while (_engine.IsRunning())
            {
                _engine.PollEvents();
                _renderer.DrawScene();
            }

            _renderer.Cleanup();
            _engine.Cleanup();
        }