Тестирование глубины GLKit не работает

Я использую учебные пособия Рэя Вендерлиха, чтобы создать простое приложение OpenGlES 2 с использованием GLKit, и столкнулся с некоторыми проблемами.

Я изменил пример кода для отображения двух кубов, добавив данные вершин и индексов в существующие структуры данных вершин и индексов. Он работает и рисует на экране два кубика.

Проблема в том, что когда новый куб находится за старым, он просвечивает. Однако, когда старый куб находится за новым, он не просвечивает.

Возможно, мое тестирование глубины испорчено?

Я не могу размещать изображения из-за своей репутации :( Вот ссылка на исходный код: https://www.dropbox.com/s/4xrq3gmnmbcz02m/EthanGillCubeSnap.zip

Любая помощь высоко ценится!


person Ethan Gill    schedule 17.06.2013    source источник


Ответы (1)


В строке 279 HelloGLKitViewController.m я добавил строку ниже, и она отобразилась правильно:

view.drawableDepthFormat = GLKViewDrawableDepthFormat24;

Вы должны убедиться, что установили размер буфера глубины в вашем GLKView, иначе буфер не будет создан, что и происходило с вами раньше.

person marchinram    schedule 17.06.2013
comment
Спасибо Спасибо спасибо! Я знал, что это была какая-то глупость, которую я забыл. Я бы проголосовал, но нет репутации.. - person Ethan Gill; 19.06.2013
comment
Спасибо!! Это действительно спасло меня после часа борьбы. Я бы сделал больше голосов, чем один, если бы мог. - person Lukas Petr; 28.10.2014