Vertex() public method

public Vertex ( float x, float y ) : void
x float
y float
return void
Exemplo n.º 1
0
        void DrawQuad(GraphicsInterface GI, float left, float top, float right, float bottom)
        {
            GI.PushMatrix();
            GI.Rotate(Rotation);

            GI.Drawing.Quads.Begin();
            // Left bottom
            GI.TexCoord(0.0f, 0.0f);
            GI.Vertex(left, bottom, 0.0f);

            // Left top
            GI.TexCoord(0.0f, 1.0f);
            GI.Vertex(left, top, 0.0f);

            // Right top
            GI.TexCoord(1.0f, 1.0f);
            GI.Vertex(right, top, 0.0f);

            // Right bottom
            GI.TexCoord(1.0f, 0.0f);
            GI.Vertex(right, bottom, 0.0f);
            GI.Drawing.Quads.End();

            GI.PopMatrix();
        }
Exemplo n.º 2
0
        protected override void RenderContent(GraphicsInterface gi)
        {
            int p1, p2, p3;

            for (int i = 0; i < triangles.Length; i++)
            {
                p1 = triangles[i].p1;
                p2 = triangles[i].p2;
                p3 = triangles[i].p3;

                gi.Color(1, 1, 1, 0.95f);
                gi.Drawing.Triangles.Begin();
                gi.Normal(normals[p1]);
                gi.TexCoord(uvMap[p1, 0], uvMap[p1, 1]);
                gi.Vertex(positions[p1]);

                gi.Normal(normals[p2]);
                gi.TexCoord(uvMap[p2, 0], uvMap[p2, 1]);
                gi.Vertex(positions[p2]);

                gi.Normal(normals[p3]);
                gi.TexCoord(uvMap[p3, 0], uvMap[p3, 1]);
                gi.Vertex(positions[p3]);

                gi.Drawing.Triangles.End();
            }
        }
Exemplo n.º 3
0
    protected override void RenderContent(GraphicsInterface gi)
    {
        gi.Normal(0, 0, 1);

        gi.Begin(BeginMode.Lines);
        gi.Vertex(fxbase, fybase - 5, fzbase);
        gi.Vertex(fxbase, fybase + fHeight * fSize + 0.5f, fzbase);
        gi.End();
    }
Exemplo n.º 4
0
    void RenderFrontFacesOfTeeth(GraphicsInterface gi)
    {
        // draw front face
        for (int i = 0; i <= fTeeth; i++)
        {
            gi.Drawing.Lines.Begin();
            angle = i * 2.0f * (float)Math.PI / fTeeth;

            gi.Vertex(r0 * (float)Math.Cos(angle), r0 * (float)Math.Sin(angle), fWidth * 0.5f);
            gi.Vertex(r1 * (float)Math.Cos(angle), r1 * (float)Math.Sin(angle), fWidth * 0.5f);

            gi.Vertex(r1 * (float)Math.Cos(angle + 3 * da), r1 * (float)Math.Sin(angle + 3 * da), fWidth * 0.5f);
            gi.Vertex(r1 * (float)Math.Cos(angle + 4 * da), r1 * (float)Math.Sin(angle + 4 * da), fWidth * 0.5f);

            gi.Drawing.Lines.End();
        }
    }
Exemplo n.º 5
0
        protected override void RenderContent(GraphicsInterface gi)
        {
            int i, j;
            float theta, phi, theta1;
            float cosTheta, sinTheta;
            float cosTheta1, sinTheta1;
            float ringDelta, sideDelta;

            ringDelta = (float)(2.0f * Math.PI / fRings);
            sideDelta = (float)(2.0f * Math.PI / fSides);

            theta = 0.0f;
            cosTheta = 1.0f;
            sinTheta = 0.0f;

            for (i = fRings - 1; i >= 0; i--)
            {
                theta1 = theta + ringDelta;
                cosTheta1 = (float)Math.Cos(theta1);
                sinTheta1 = (float)Math.Sin(theta1);
                gi.Drawing.QuadStrip.Begin();

                phi = 0.0f;

                for (j = fSides; j >= 0; j--)
                {
                    float cosPhi, sinPhi, dist;

                    phi += sideDelta;
                    cosPhi = (float)Math.Cos(phi);
                    sinPhi = (float)Math.Sin(phi);
                    dist = fOuterRadius + fInnerRadius * cosPhi;

                    gi.Normal(cosTheta1 * cosPhi, -sinTheta1 * cosPhi, sinPhi);
                    gi.Vertex(cosTheta1 * dist, -sinTheta1 * dist, fInnerRadius * sinPhi);
                    gi.Normal(cosTheta * cosPhi, -sinTheta * cosPhi, sinPhi);
                    gi.Vertex(cosTheta * dist, -sinTheta * dist, fInnerRadius * sinPhi);
                }
                gi.Drawing.QuadStrip.End();
                theta = theta1;
                cosTheta = cosTheta1;
                sinTheta = sinTheta1;
            }
        }
Exemplo n.º 6
0
        protected override void RenderContent(GraphicsInterface GI)
        {
            for (iStrip = -fExtent; iStrip <= fExtent; iStrip += fStep)
            {
                GI.Drawing.TriangleStrip.Begin();
                for (iRun = fExtent; iRun >= -fExtent; iRun -= fStep)
                {
                    if ((iBounce % 2) == 0)
                        fColor = 1.0f;
                    else
                        fColor = 0.0f;

                    GI.Color(fColor, fColor, fColor, 0.75f);
                    GI.Vertex(iStrip, y, iRun);
                    GI.Vertex(iStrip + fStep, y, iRun);

                    iBounce++;
                }
                GI.Drawing.TriangleStrip.End();
            }
            GI.ShadeModel(ShadingModel.Smooth);
        }
Exemplo n.º 7
0
        public static void DrawTextureImageUnrotatedAndOrthographically(GraphicsInterface gi, int clientWidth, int clientHeight, GLTexture2D texture,
          int drawX, int drawYTextMode, // i.e., 0 == draw TOP of image at TOP of viewport, Y-axis points DOWN
          int drawWidth, int drawHeight)
        {
            // Change rendering conditions
            gi.Features.DepthTest.Disable();
            gi.Features.CullFace.Disable();

            // Preserve current matrices, and switch to an orthographic view, and 
            //   do scaling and translation as necessary.
            gi.MatrixMode(MatrixMode.Projection);
            gi.PushMatrix();
            gi.MatrixMode(MatrixMode.Modelview);
            gi.PushMatrix();


            gi.MatrixMode(MatrixMode.Projection);
            gi.LoadIdentity();
            gi.Ortho(0, (clientWidth - 1), 0, (clientHeight - 1), -1.0, 1.0);

            gi.MatrixMode(MatrixMode.Modelview);
            gi.LoadIdentity();



            if (null != texture)
            {
                // Enable texture
                texture.Bind();
            }

            // Enable blending
            gi.Features.Blend.Enable();
            gi.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);


            // Draw a quad

            gi.Drawing.Quads.Begin();

            // TOP-LEFT
            gi.TexCoord(0.0f, 1.0f);
            gi.Color(ColorRGBA.White);
            gi.Vertex((drawX), ((clientHeight - 1) - drawYTextMode), 0.0f);

            // BOTTOM-LEFT
            gi.TexCoord(0.0f, 0.0f);
            gi.Color(1.0f, 1.0f, 1.0f, 1.0f);
            gi.Vertex(drawX, ((clientHeight - 1) - (drawYTextMode + drawHeight)), 0.0f);

            // BOTTOM-RIGHT
            gi.TexCoord(1.0f, 0.0f);
            gi.Color(1.0f, 1.0f, 1.0f, 1.0f);
            gi.Vertex((drawX + (drawWidth)), ((clientHeight - 1) - (drawYTextMode + drawHeight)), 0.0f);

            // TOP-RIGHT
            gi.TexCoord(1.0f, 1.0f);
            gi.Color(1.0f, 1.0f, 1.0f, 1.0f);
            gi.Vertex((drawX + (drawWidth)), ((clientHeight - 1) - drawYTextMode), 0.0f);

            gi.Drawing.Quads.End();


            // Disable blending
            gi.Features.Blend.Disable();

            if (null != texture)
            {
                // Disable texture
                gi.Features.Texturing2D.Disable();
                gi.BindTexture(TextureBindTarget.Texture2d, 0);
            }


            // Restore original matrices.
            gi.MatrixMode(MatrixMode.Modelview);
            gi.PopMatrix();
            gi.MatrixMode(MatrixMode.Projection);
            gi.PopMatrix();


            // Restore rendering conditions
            gi.FrontFace(FrontFaceDirection.Ccw); // MUST DO AFTER USING wglUseFontOutlines LISTS!!!
            gi.Features.DepthTest.Enable();
            gi.Features.CullFace.Enable();
        }
Exemplo n.º 8
0
    void RenderInsideRadiusCylinder(GraphicsInterface gi)
    {
        float angle;

        // draw inside radius cylinder
        for (int i = 0; i <= fTeeth; i++)
        {
            angle = i * 2.0f * (float)Math.PI / fTeeth;
            gi.Drawing.Lines.Begin();

            gi.Normal(-(float)Math.Cos(angle), -(float)Math.Sin(angle), 0.0f);
            gi.Vertex(r0 * (float)Math.Cos(angle), r0 * (float)Math.Sin(angle), -fWidth * 0.5f);
            gi.Vertex(r0 * (float)Math.Cos(angle), r0 * (float)Math.Sin(angle), fWidth * 0.5f);
            gi.Vertex(r0 * (float)Math.Cos(angle), r0 * (float)Math.Sin(angle), -fWidth * 0.5f);
            gi.Vertex(r0 * (float)Math.Cos(angle + 4 * da), r0 * (float)Math.Sin(angle + 4 * da), -fWidth * 0.5f);
            gi.Vertex(r0 * (float)Math.Cos(angle), r0 * (float)Math.Sin(angle), fWidth * 0.5f);
            gi.Vertex(r0 * (float)Math.Cos(angle + 4 * da), r0 * (float)Math.Sin(angle + 4 * da), fWidth * 0.5f);
            gi.Drawing.Lines.End();
        }

    }