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