I’m using Tao Framework, C# and Visual studio 12.
When I draw lines, or quads (2D), or anything, color always stays the same (textures are drawn correctly, though). I don’t know what to do really, cause I searched in entire web and didn’t find anything that could solve the problem. Please help!
Drawing сode example:
public static void Draw4Angle(RGBubColor Color, FPoint p1, FPoint p2, FPoint p3, FPoint p4)
{
Gl.glColor3ub(Color.r, Color.g, Color.b);
Gl.glBegin(Gl.GL_QUADS);
Gl.glVertex2d(p1.x, p1.y);
Gl.glVertex2d(p2.x, p2.y);
Gl.glVertex2d(p3.x, p3.y);
Gl.glVertex2d(p4.x, p4.y);
Gl.glEnd();
Visualizer.Invalidate();
}
Initialization:
public static void GlutTune2D(SimpleOpenGlControl Graph)
{
Visualizer = Graph;
WorldH = Visualizer.Height;
WorldW = Visualizer.Width;
Glut.glutInit();
Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH);
// очитка окна
Gl.glClearColor(255, 155, 155, 0.2f);
// установка порта вывода в соотвествии с размерами элемента anT
Gl.glViewport(0, 0, Graph.Width, Graph.Height);
// настройка проекции
Gl.glMatrixMode(Gl.GL_PROJECTION);
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
Gl.glLoadIdentity();
// теперь необходимо корректно настроить 2D ортогональную проекцию
// в зависимости от того, какая сторона больше
// мы немного варьируем то, как будет сконфигурированный настройки проекции
double ScreenW, ScreenH;
if ((float)Visualizer.Width <= (float)Visualizer.Height)
{
ScreenW = 500.0;
ScreenH = 500.0 * (float)Visualizer.Height / (float)Visualizer.Width;
Glu.gluOrtho2D(0.0, ScreenW, 0.0, ScreenH);
}
else
{
ScreenW = 500.0 * (float)Visualizer.Width / (float)Visualizer.Height;
ScreenH = 500.0;
Glu.gluOrtho2D(0.0, 500.0 * (float)Visualizer.Width / (float)Visualizer.Height, 0.0, 500.0);
}
GlH = Convert.ToInt32(ScreenH);
GlW = Convert.ToInt32(ScreenW);
Gl.glEnable(Gl.GL_ALPHA_TEST);
// Gl.glBlendFunc(Gl.GL_ONE, Gl.GL_ONE);
Gl.glEnable(Gl.GL_BLEND);
Gl.glEnable(Gl.GL_COLOR_MATERIAL);
}
public static void DevilTune()
{
// инициализация библиотеки openIL
Il.ilInit();
Ilu.iluInit();
Ilut.ilutInit();
Ilut.ilutRenderer(Ilut.ILUT_OPENGL);
Il.ilEnable(Il.IL_ORIGIN_SET);
}
Visualizer is
private static SimpleOpenGlControl Visualizer;