Приветствую.
Есть сцена, в которой на стене находятся выступающие "нахлобучки". Глубина выступа = 0.23 юнита. За "нахлобучками" отрисовывается стена монолитом.
При реалтайм-рендеринге этой сцены в редакторе Blender, всё в порядке. В своём же движке на OpenGL вывожу - при достаточном отдалении камеры получается z-fighting. Точность Z-буфера - 24 бит, проверял при помощи glGetIntegerv(GL_DEPTH_BITS, &bits). Хотел выставить 32 бита - но система не даёт..
Вот не пойму, почему Blender выводит тоже средствами OpenGL и с этой же сценой нет z-fighting'а, насколько далеко не удаляйся от стены..
Можно конечно в стене под "нахлобучками" вырезать дырки, чтобы не было конфликта, но пока лениво и плюс это приведёт к усложнению геометрии - увеличению числа полигонов..
Для наглядности картинка:
Как видно, выступ довольно явный.. И странно, что в моём движке на большом удалении он приводит к z-файтингу..
Есть ли какие-то идеи? Благодарю.
DEN 3D
> Есть ли какие-то идеи? Благодарю.
пробовал ли ты искать инфу по теме?
отчего еще зависит точность z-buffer'a кроме битности?
Благодарю. Немного увеличил zNear в параметрах камеры - исчез z-fighting.