对于那些不知道的人,Tao.opengl,Tao.freeglut是C#控制台应用程序所必需的。使用C#在OpenGL中使用投影?
现在,对于我的问题:我的导师要求我们绘制4个矩形,所以我成功绘制了它们。
和复制/粘贴其他代码(其中我们的老师没有解释,由于时间不足)
下面的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tao.FreeGlut;
using Tao.OpenGl;
namespace Homework_1
{
class Triangles
{
static void display()
{
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glColor3f(1.0f,1.0f,1.0f);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(-1.0f,-1.0f,0.0f);
Gl.glVertex3f(1.0f, -1.0f, 0.0f);
Gl.glVertex3f(1.0f, 1.0f, 0.0f);
Gl.glVertex3f(-1.0f, 1.0f, 0.0f);
Gl.glEnd();
Gl.glColor3f(1.0f, 1.0f, 1.0f);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(2.0f, -1.0f, 0.0f);
Gl.glVertex3f(4.0f, -1.0f, 0.0f);
Gl.glVertex3f(4.0f, 1.0f, 0.0f);
Gl.glVertex3f(2.0f, 1.0f, 0.0f);
Gl.glEnd();
Gl.glColor3f(1.0f, 1.0f, 1.0f);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(2.0f, 2.0f, 0.0f);
Gl.glVertex3f(4.0f, 2.0f, 0.0f);
Gl.glVertex3f(4.0f, 4.0f, 0.0f);
Gl.glVertex3f(2.0f, 4.0f, 0.0f);
Gl.glEnd();
Gl.glColor3f(1.0f, 1.0f, 1.0f);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glVertex3f(-1.0f, 2.0f, 0.0f);
Gl.glVertex3f(1.0f, 2.0f, 0.0f);
Gl.glVertex3f(1.0f, 4.0f, 0.0f);
Gl.glVertex3f(-1.0f, 4.0f, 0.0f);
Gl.glEnd();
Gl.glFlush();
}
static void init()
{
Gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
Gl.glMatrixMode(Gl.GL_PROJECTION);
Gl.glLoadIdentity();
Gl.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
public static void Main(String[] argv)
{
Glut.glutInit();
Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB);
Glut.glutInitWindowSize(1000, 1000);
Glut.glutInitWindowPosition(100, 100);
Glut.glutCreateWindow("hello");
init();
Glut.glutDisplayFunc(display);
Glut.glutMainLoop();
}
}
}
运行应用程序时,所有它显示为白色,所以我100%肯定该错误是我复制的init()方法和粘贴,线条
Gl.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
我100%肯定Gl.glOrtho的价值观必须改变内部的,但问题是,我不 知道如何使用它。
请更正我的错误,以便它可以显示我绘制的4个三角形,并且一个小的解释将使其更加明显和可接受。
您应该阅读[NeHe教程](http://nehe.gamedev.net/tutorial/lessons_01__05/22004/)许多人抱怨说他们已经过时了,但他们涵盖了您正在使用的功能,非常好地解释它们,以及如何使用它们以及为什么。 –
那么你是自己解决还是放弃问题,或者你对已经提出的答案还是有些不屑一顾?在formaer案件中,抛弃一个问题是非常糟糕的做法,在后一种情况下,可以自由地提出您可能对某个答案提出的任何问题。 –