Для тех, кто не знает, для консольного приложения 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();
}
}
}
При запуске приложения отображается только белый цвет, поэтому я на 100% уверен, что ошибка внутри метода init (), который я скопировал и вставил, строка
Gl.glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
Я на 100% уверен, что значения Gl.glOrtho должны быть изменены, но проблема в том, что я не знаю, как их использовать.
Пожалуйста, исправьте мою ошибку, чтобы она могла показать 4 нарисованных мною треугольника, а небольшое объяснение сделает ее более очевидной и приемлемой.