Esempio n. 1
0
        private void Draw()
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            if (Height != 0)
            {
                SetViewAndProjection();
            }

            renderer.DrawLine(new vec3(0), new vec3(10, 0, 0), new vec3(1, 0, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 10, 0), new vec3(0, 1, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 0, 10), new vec3(0, 0, 1));

            float[,] heightfield = new float[, ]
            {
                { 1, 2, 3, 4, 4, 1, 1, 3, 4, },
                { 1, 3, 6, 4, 4, 4, 4, 5, 1, },
                { 2, 3, 4, 4, 3, 4, 4, 1, 1, },
                { 2, 3, 4, 4, 3, 4, 4, 1, 1, },
                { 2, 3, 4, 4, 3, 4, 4, 1, 1, },
                { 2, 3, 4, 4, 3, 4, 4, 1, 1, },
                { 2, 3, 4, 4, 3, 4, 4, 1, 1, },
                { 2, 3, 3, 3, 3, 3, 3, 1, 1, },
                { 2, 1, 1, 1, 1, 1, 1, 1, 1, },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, },
                { 1, 1, 1, 1, 1, 1, 1, 1, 1, },
            };
            renderer.DrawHeightfield(heightfield2, scaleXY);

            glControl.SwapBuffers();
        }
Esempio n. 2
0
        private void Draw()
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            var intersectionPoint = ComputeLinePlaneIntersectionPoint();


            if (Height != 0)
            {
                SetViewAndProjection();
            }

            renderer.DrawLine(new vec3(0), new vec3(10, 0, 0), new vec3(1, 0, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 10, 0), new vec3(0, 1, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 0, 10), new vec3(0, 0, 1));
            renderer.DrawRectangle(new vec3(0), planeSize, planeDirection, new vec3(0));
            renderer.DrawLine(rayPoint, rayPoint + rayDirection * 2000, new vec3(0.3f, 0.4f, 0.5f));
            renderer.DrawPoint(rayPoint, new vec3(1, 0, 0));
            if (intersectionPoint.HasValue)
            {
                intersectionPointLabel.Text = String.Format("{0:0.00}, {1:0.00}, {2:0.00}", intersectionPoint.Value.x, intersectionPoint.Value.y, intersectionPoint.Value.z);
                renderer.DrawPoint(intersectionPoint.Value, new vec3(0.5f, 0.4f, 0.3f));
            }
            else
            {
                intersectionPointLabel.Text = "No intersection";
            }

            glControl.SwapBuffers();
        }
Esempio n. 3
0
        private void GlControl_OnPaintEvent(object sender, PaintEventArgs e)
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            triangle.Draw();
            lineCQ.Draw();
            pointQ.Draw();
            pointR.Draw();

            glControl.SwapBuffers();
        }
Esempio n. 4
0
        private void GlControl_OnPaintEvent(object sender, PaintEventArgs e)
        {
            shader.Use();
            GL.Enable(EnableCap.LineSmooth);
            GL.ClearColor(0.0f, 0.2f, color, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            GL.BindVertexArray(vao);
            GL.DrawArrays(PrimitiveType.Triangles, 0, verticesPosition.Length / 3);
            GL.Disable(EnableCap.LineSmooth);

            glControl.SwapBuffers();
        }
Esempio n. 5
0
        private void Draw()
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);

            if (Height != 0)
            {
                SetViewAndProjection();
            }

            renderer.DrawLine(new vec3(0), new vec3(10, 0, 0), new vec3(1, 0, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 10, 0), new vec3(0, 1, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 0, 10), new vec3(0, 0, 1));
            //renderer.DrawGlass(data, sectorsCount);
            //renderer.DrawGlass(new float[] { 10, 10, 5, 5, 10, 0 }, sectorsCount);
            renderer.DrawSphere(50, new vec3(0.4f, 0.6f, 0.7f), sectorsCount);

            glControl.SwapBuffers();
        }
Esempio n. 6
0
        private void Draw()
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            var intersectionPoint = ComputeLinePlaneIntersectionPoint();
            var intersection      = ComputeIntersection();


            if (Height != 0)
            {
                SetViewAndProjection();
            }

            renderer.DrawLine(new vec3(0), new vec3(10, 0, 0), new vec3(1, 0, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 10, 0), new vec3(0, 1, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 0, 10), new vec3(0, 0, 1));
            renderer.DrawCylinder(5, 8, sectorsCount);

            glControl.SwapBuffers();
        }
Esempio n. 7
0
        private void Draw()
        {
            GL.ClearColor(0.0f, 0.2f, 0.2f, 1.0f);
            GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
            var intersectionPoint = ComputeLinePlaneIntersectionPoint();
            var intersection      = ComputeIntersection();


            if (Height != 0)
            {
                SetViewAndProjection();
            }

            renderer.DrawLine(new vec3(0), new vec3(10, 0, 0), new vec3(1, 0, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 10, 0), new vec3(0, 1, 0));
            renderer.DrawLine(new vec3(0), new vec3(0, 0, 10), new vec3(0, 0, 1));
            renderer.DrawSphere(sphereRadius, new vec3(0), 16);
            renderer.DrawPoint(rayPoint, new vec3(0.5f, 0.5f, 0.0f));
            renderer.DrawLine(rayPoint, rayPoint + rayDirection * 1000, new vec3(0.7f, 0.1f, 0.3f));

            if (intersection == null)
            {
                intersectionLabel.Text = "No intersection";
            }
            else
            {
                renderer.DrawPoint(intersection.Item1, new vec3(0.5f, 0.5f, 0.8f));
                if (intersection.Item2.HasValue)
                {
                    intersectionLabel.Text = String.Format("point 1 = ({0}); point 2 = ({1})", Str(intersection.Item1), Str(intersection.Item2.Value));
                    renderer.DrawPoint(intersection.Item2.Value, new vec3(0.5f, 0.5f, 0.8f));
                }
                else
                {
                    intersectionLabel.Text = String.Format("point 1 = ({0});", Str(intersection.Item1));
                }
            }

            glControl.SwapBuffers();
        }