Максимальная глубина буфера глубины OpenGL - PullRequest
1 голос
/ 16 сентября 2011

Поскольку пиксели буфера глубины могут иметь цвета только от 0 до 255 (я прав?), Максимальное расстояние прорисовки также будет ограничено этими границами.

  • Это правда?
  • Как с этим справляются современные игры?
  • А как насчет промежуточных значений? Как 125,5?

Ответы [ 2 ]

4 голосов
/ 16 сентября 2011
  • Нет, это не правда.Обычно даже невозможно использовать 8-битный буфер глубины из-за ограниченного диапазона, который это обеспечит.Минимум обычно 16-битный с 24-битным (за исключением 8 верхних бит 32 для буфера трафарета), наиболее распространенным.Также возможно использовать буферы глубины с плавающей запятой и 32-битные целочисленные буферы.
  • Используя большую глубину.
  • В случае значения, такого как 125,5, оно фактически округляется или усекается126 или 125. Однако в целом через OpenGL вы фактически передали бы значение глубины от 1 до -1 (после проекции и деления w) в OpenGL.Затем это значение отправляется во время выполнения OpenGL, которое преобразует его в фактическое значение глубины.Таким образом, вы можете изменить битовую глубину буфера глубины, и все будет работать.
0 голосов
/ 16 сентября 2011

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

Я помню главное меню Guildwars.Он выглядит огромным, но если вы посмотрите внимательно, это действительно круглая текстура.

Здесь представлены пиксели буфера глубины, чтобы убедиться, что объекты, которые визуализируются дальше, чем существующий объект, не отображаются.Если два объекта имеют одинаковую глубину, они могут все равно сделать это или нет;В любом случае, вы не ищите такой точности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...