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

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

#0
23:14, 21 июля 2009

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

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


#1
23:14, 21 июля 2009

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

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

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

Как?))

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

#3
0:07, 22 июля 2009

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) или соответствующий шейдер решают проблему полностью.

#4
11:12, 22 июля 2009

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

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

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

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

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

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