Я прохожу учебные пособия по NeHe для OpenGL ... Я на 8-м уроке (рисование куба со смешиванием). http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=08
Я хотел поэкспериментировать и изменить половину граней, чтобы они были непрозрачными, чтобы всегда была полупрозрачная грань, противоположная непрозрачной, и можно было вращать куб ...
Я немного изменил код, там есть весь источник: http://pastebin.com/uzfSk2wB
Я изменил несколько вещей:
- включить смешивание по умолчанию и установить для функции смешивания значение glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- изменен порядок рисования граней и цветов для каждой грани.
- Я установил тестирование глубины
- Я рисую все непрозрачные грани
- Я отключаю тест глубины
- Я рисую все прозрачные грани
Сейчас трудно точно сказать, что происходит, но это определенно не выглядит правильно, я не могу распознать, какое лицо непрозрачно по сравнению с прозрачным, иногда некоторые лица, кажется, не прорисовываются, когда должны ... .etc ...
Похоже, вычисление того, какое лицо спереди по сравнению с спиной, не будет тривиальным (хотя я уверен, что это возможно), я надеюсь, что есть способ, который не должен был бы это делать.
Поиск либо того, что не так в моем коде, либо неправильного способа сделать это в первую очередь.