Что-то не так в моем коде где-то, но для любого количества примитивов, которые я рисую, несмотря на вызов glClearColor и затем выбор цвета с помощью glColor3f, цвета, которые появляются, абсолютно случайны ...
Так что в моемРендеринг класса I проходит по всем объектам и вызывает их методы рисования, для примитивов они будут выглядеть так:
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();
}
Но текст появляется вместо зеленого вместо зеленого?