Войти
ПрограммированиеФорумГрафика

Z-buffer (Буфер глубины) (комментарии)

#0

Z-buffer (Буфер глубины) (комментарии)

Это сообщение сгенерировано автоматически.

21 июля 2009

#1

NULL_PTR
> Значения глубины точки не находятся в линейной зависимости от расстояния до камеры. Значения у ближней плоскости расположены очень плотно, а с увеличением дальности к дальней плоскости отсечения всё более редко. По этой причине нужно следить за расстояниями, на которых вы ставите плоскости отсечения: ближнюю плоскость не стоит ставить слишком близко! В противном случае можно получить множество артефактов изображения вдали, в особенности z-fighting, когда небольшое изменение ракурса камеры может изменить видимость близко расположенных треугольников.

Возможно в этом месте статьи не хватает упоминания об glEnable(GL_DEPTH_CLAMP_NV).

21 июля 2009

#2
Полученное значение z' затем нормализуется в диапазон [0; 1], где 0 - у ближней плоскости отсечения, и 1 - у дальней.

Как?))

И еще хотелось бы картинге =)

21 июля 2009

#3

Spiteful
> И еще хотелось бы картинге =)
Если я правильно понял слово "картинге", то вот

http://prboom-plus.sourceforge.net/nv_clamp_0.png
http://prboom-plus.sourceforge.net/nv_clamp_1.png

На первом шоте near плоскость отсекает "лишнее" (просвечивается скайбокс). Проблема может быть сведена к минимум с помощью уменьшения значения z-near, но это не поможет избавиться от проблемы полностью - раз, ведет к потери точности z-буффера - два. glEnable(GL_DEPTH_CLAMP_NV) или соответствующий шейдер решают проблему полностью.

22 июля 2009

#4

entryway
> Возможно в этом месте статьи не хватает упоминания об
> glEnable(GL_DEPTH_CLAMP_NV).

Ах так ты из этих, опенжэлистов ? :)

Можно ещё добавить про ARB_float_depth_buffer

http://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt

22 июля 2009

ПрограммированиеФорумГрафика

Тема в архиве.