Для построения правильного изображения трехмерных объектов необходимо уметь
определять, какие части объектов (ребра, грани) будут видны при заданном проектировании,
а какие будут закрыты другими гранями объектов.
Вот, что представляет из себя примененный алгоритм удаление невидимых граней на параллелепипеде.
Одним из самых простых алгоритмов удаления невидимых граней и поверхностей
является метод z-буфера (буфера глубины).
В силу крайней простоты этого метода часто
встречаются его аппаратные реализации.
Сопоставим каждому пикселу (x, y) картинной плоскости, кроме цвета, хранящегося в
видеопамяти, его расстояние до картинной плоскости вдоль направления проектирования
z(x, y) (его глубину).
Изначально массив глубин инициализируется +∞.
Для вывода на картинную плоскость произвольной грани она переводится в свое
растровое представление на картинной плоскости и для каждого пиксела этой грани
находится его глубина. В случае, если эта глубина меньше значения глубины, хранящегося в
z - буфере, пиксел рисуется и его глубина заносится в z-буфер.Алгоритм очень эффективен и практически не имеет недостатков, если реализуется аппаратно.
Z-буфер представляет собой двумерный массив, каждый элемент которого соответствует пикселю на экране. Когда видеокарта рисует пиксель, его удалённость просчитывается и записывается в ячейку Z-буфера. Если пиксели двух рисуемых объектов перекрываются, то их значения глубины сравниваются, и рисуется тот, который ближе, а его значение удалённости сохраняется в буфер. Получаемое при этом графическое изображение носит название z-depth карта, представляющая собой полутоновое графическое изображение, каждый пиксель которого может принимать до 256 значений серого.
По ним определяется удалённость от зрителя того или иного объекта трехмерной сцены. Карта широко применяется в постобработке для придания объёмности и реалистичности и создаёт такие эффекты, как глубина резкости, атмосферная дымка и т. д. Также карта используется в 3d-пакетах для текстурирования, делая поверхность рельефной.
Как удаляют невидимые поверхности в 3D играх
Вам может быть интересно
Привет! Я робот. Хозяин поручил мне проголосовать за Ваш пост! Я нашла похожий контент, который может быть интересен читателям ГОЛОСа:
https://ru.wikipedia.org/wiki/Z-%D0%B1%D1%83%D1%84%D0%B5%D1%80%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F
Ваш пост поддержали следующие Инвесторы Сообщества "Добрый кит":
myhardmoney
Поэтому я тоже проголосовал за него!
Узнать подробности о сообществе можно тут:
Разрешите представиться - Кит Добрый
Правила
Инструкция по внесению Инвестиционного взноса
Вы тоже можете стать Инвестором и поддержать проект!!!
Если Вы хотите отказаться от поддержки Доброго Кита, то ответьте на этот комментарий командой "!нехочу"
@kingarthur Поздравляю! Вы получили личную награду!
С Днём Рождения - 2 лет на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
@kingarthur Поздравляю! Вы получили личную награду!
С Днём Рождения - 1 год на Голосе
Вы можете нажать на бейдж, чтобы увидеть свою страницу на Доске Почета.
Мы - проект на Голосе, который направлен на борьбу с плагиатом, копипастой и кражей личности.
Репост скопированного контента не несет в себе никакой ценности и вредит развитию сообщества Голос, поэтому данный вид постов не приветствуется и рассматривается как неуважительное отношение к сообществу.
Как Вы можете поделиться понравившимся контентом, найденном на просторах интернета? Вот несколько советов:
Вы можете опубликовать ссылку на оригинал контента, при этом в своем посте описать или высказать свое мнение по поводу контента, которым вы делитесь.
Вы можете приводить цитаты в рамках своей авторской статьи, при этом всегда давайте ссылку на оригинал, а цитату оформляйте в кавычки или воспользуйтесь форматированием Markdown. При этом цитаты составляют не более ~20% от всего текста статьи.
Если Вы на самом деле являетесь автором, пожалуйста, скажите об этом, ответив на комментарий.
Если Вы являетесь автором и уже делали верификацию, а мы просим о ней повторно - просим извинить нас. Если автора нет в нашей базе данных, мы ищем верификацию лишь в текущем посте и первом посте автора. Вы нам поможете, если просто оставите ссылку на свою верификацию или же свяжитесь с нами в Telegram чате Культуры Голоса.
Спасибо за сотрудничество!
@kingarthur Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество полученных голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп