知らない人のために、C#コンソールアプリケーションにはTao.opengl、Tao.freeglutが必要です。
さて、私の問題のために:私の家庭教師は私たちに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();
}
}
}
アプリケーションを実行すると、表示されるのはすべて白なので、エラーはコピーして貼り付けたinit()メソッド内にあると100%確信しています。
Gl.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
Gl.glOrthoの値を変更する必要があることは100%確信していますが、問題は、その使用方法がわからないことです。
エラーを修正してください。そうすれば、私が描いた4つの三角形が表示され、簡単な説明でわかりやすくなります。