示例#1
0
        public static void DrawImage(int x, int y, int w, int h, GLImage img, float r = 1, float g = 1, float b = 1, float a = 1)
        {
            GL.Color4(r, g, b, a);
            img.Bind(0);
            GL.Begin(BeginMode.Quads);

            GL.TexCoord2(0, 0);
            GL.Vertex2(x, y);
            GL.TexCoord2(1, 0);
            GL.Vertex2(x + w, y);
            GL.TexCoord2(1, 1);
            GL.Vertex2(x + w, y + h);
            GL.TexCoord2(0, 1);
            GL.Vertex2(x, y + h);
            GL.End();
            img.Release(0);
        }
示例#2
0
        public void Render()
        {
            NoTile.Bind(0);

            GL.Begin(BeginMode.Quads);

            GL.Color4((float)1, (float)1, (float)1, (float)1);

            for (int y = 0; y < Height; y++)
            {
                for (int x = 0; x < Width; x++)
                {
                    int rX = x * TileW;
                    int rY = y * TileH;

                    rX = rX - (int)CamX;
                    rY = rY - (int)CamY;

                    if (Highlight[x, y])
                    {
                        GL.Color4((float)1, 0, 0, 1);
                    }
                    else
                    {
                        GL.Color4((float)1, 1, 1, 1);
                    }

                    GL.TexCoord2((float)0, 0);
                    GL.Vertex2(rX, rY);
                    GL.TexCoord2((float)1, 0);
                    GL.Vertex2(rX + TileW, rY);
                    GL.TexCoord2((float)1, 1);
                    GL.Vertex2(rX + TileW, rY + TileH);
                    GL.TexCoord2((float)0, 1);
                    GL.Vertex2(rX, rY + TileH);
                }
            }

            GL.End();

            NoTile.Release(0);
        }