glColor не работает, появляется случайный цвет

Где-то что-то не так в моем коде, но для любого количества примитивов, которые я рисую, несмотря на вызов glClearColor, а затем выбор цвета с помощью glColor3f, цвета, которые появляются, полностью случайны .. .

Итак, в моем классе визуализации я перебираю все объекты и вызываю их методы рисования, для примитивов они будут выглядеть так:

inline void PrimitiveDrawer::drawWireframePrism(Vector3 pos, float radius, Vector3 col){

    glClearColor( 1.0f, 1.0f, 1.0f, 1.0f );
    glColor3f(col.x, col.y, col.z);

    glLineWidth(3);
    glBegin (GL_LINE_LOOP); 
        ...
glEnd()

Но независимо от того, какой цвет я выберу, я всегда получаю разные ...Интересно, что все примитивные линии, которые я рисую с помощью этого метода, принимают цвет моделей, которые они связывают (они предназначены для ограничивающих объемов для сеток) ... Может ли это иметь отношение к загрузчикам моделей, которые я использую?

Это влияет на каждую фигуру (кроме фигур вокруг моделей), где каждый GL_LINE имеет один и тот же цвет (по какой-то причине зеленый), включая glutBitMapCharacter, который я пытаюсь нарисовать ... Это основная мысль, которая беспокоит меня, поскольку Я хотел бы выбрать цвет для рисования текста, сейчас я делаю это:

void renderBitmapString(float x, float y, void *font,char *string)
{

  char *c;
  glRasterPos2f(x, y);
  for (c=string; *c != '\0'; c++) {
    glutBitmapCharacter(font, *c);
  }
}

void drawText(char text[20], float x, float y){
    glPushMatrix();
    setOrthographicProjection();
    glLoadIdentity();
    glClearColor( 0, 0, 0, 0 );
    glColor4f(0, 0, 1, 1);
    renderBitmapString(x, y,(void *)font, text);
    resetPerspectiveProjection();
    glPopMatrix();
}

Но текст становится зеленым, а не синим?

0
задан Alex 21 November 2011 в 15:47
поделиться