OpenGl ES glPushAttrib() рендеринг 3D модели

Я знаю, что не могу сделать glPush/PopAttrib в openGL ES, и что я должен сделать это вручную. Мой вопрос: что мне нужно включить / отключить и psuh/pop, чтобы правильно рендерить 3D-модели?

У меня проблема в том, что цвета смешиваются между различными объектами для визуализации. Кроме того, некоторые объекты не имеют текстур, и похоже, что они пытаются применить их к нему.

Есть ли "безопасный", может быть, не оптимизированный способ убедиться, что каждый раз при рендеринге нового объекта состояние openGL "чистое"? Вроде как glPushAttrib(GL_ALL_ATTRIB_BITS)

1 ответ

Решение

Нет, нет Но в OpenGL ES 2.0 возможных состояний гораздо меньше (~ 10), все остальное контролируется вашими собственными шейдерами. По сути, вам просто нужно включить / отключить все возможные состояния, чтобы быть уверенным (и правильно настроить те, которые вы включили).

Список всех состояний можно найти здесь:

http://www.khronos.org/opengles/sdk/docs/man/xhtml/glEnable.xml

Другие вопросы по тегам