2010-06-24 4 views
1

Я пишу код Java OpenGL (хотя принципы одинаковы в C++ openGL). У меня есть ситуация, когда я хочу отображать некоторые предметы поверх других. Я могу это сделать, отключив проверку глубины или установив ее в GL_ALWAYS) для этих элементов, и это хорошо работает. Проблема в том, что цвета этих предметов сверху кажутся затемненными предметами под ним. Я не уверен, что это проблема освещения, или если это проблема смешивания, но я пытаюсь показать цвет элемента, не подвергая его воздействию цветов вокруг него, независимо от позиции z этого элемента (поскольку для глубинного тестирования установлено значение ВСЕГДА). Есть ли настройки освещения или смешивания, которые я должен использовать для этого?Смешивание OpenGL (Java)

спасибо, Джефф

+0

2 вопроса: имеете ли вы в виду, что вы хотите, чтобы все, что было нарисовано последним, всегда отображалось в определенном пикселе, независимо от того, что было сделано до и независимо от глубины; во-вторых, вы уверены, что не используете прозрачность где-нибудь? – DJClayworth

+0

@DJClayworth, я хочу, чтобы последний объект был нарисован тем, чтобы показывать в определенном месте, правильно, что хорошо работает без теста глубины. И, да, я не пользуюсь прозрачностью. Когда я поворачиваю сцену, это выглядит правильно. На самом деле, мне кажется, нужен двухпроходный рендеринг, где я создаю базу сцены, а затем группу объектов без теста глубины и выдаю весь результат на базовой сцене. –

ответ

1

Я думаю, что в этой ситуации, я бы оставить настройки глубины в одиночку, но изменить значение Z объектов на основе порядка рисования (для тех элементов, которые необходимо сделать на основе того, вместо нормальной глубины).

glBegin(GL_WHATEVER); 
    for (int i=0; i<num_objects; i++) 
     glVertex(object[i].x, object[i].y, i/-100.0f); 
glEnd(GL_WHATEVER); 
+0

Спасибо. В этом приложении, однако, я добавляю вещи на поверхность земного шара, и пользователи могут вращать земной шар. Если значения z изменены, то элементы на самом деле не будут отображаться на поверхности. –

Смежные вопросы