Алгоритм буфера Z - определение видимой поверхности

У меня есть следующее объяснение алгоритма Z-буфера

введите здесь описание изображения

Есть псевдокод алгоритма из того же источника

введите здесь описание изображения

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

Может ли кто-нибудь сказать мне, если я ошибаюсь?

Я ссылаюсь на http://www.idav.ucdavis.edu/education/GraphicsNotes/Z-Buffer-Algorithm.pdf


person techno    schedule 31.08.2016    source источник
comment
Я не читал документ в формате PDF, но после проверки псевдокода кажется, что псевдокод неверен - просто потому, что z-buffer[x,y] инициализирован до минус бесконечности, похоже, что условие if z-depth ‹ z-buffer[x,y] никогда не будет истинным. Поэтому я бы попытался запустить код с заменой z-depth ‹ z-buffer[x,y] на z-depth › z-buffer[x,y] и посмотреть, получит ли он ожидаемый результат.   -  person John Donn    schedule 31.08.2016
comment
@JohnDonn Спасибо .. это то, что я сделал ..   -  person techno    schedule 31.08.2016
comment
@JohnDonn Не могли бы вы добавить это как ответ, чтобы я мог его принять.   -  person techno    schedule 31.08.2016
comment
Спасибо, но мой действительно не ответ. Если вы нашли это полезным, вы можете просто проголосовать за комментарий.   -  person John Donn    schedule 31.08.2016
comment
@JohnDonn хорошо .......... :)   -  person techno    schedule 01.09.2016


Ответы (1)


Это всего лишь вопрос соглашения, как вычислить Z/глубину. Если вы свяжете левый кадр со сценой (X справа, Y вверх и Z, указывающие на наблюдателя), сравнение будет «больше». Если вы считаете Z как глубину от наблюдателя, сравнение будет «меньше».

person Yves Daoust    schedule 01.09.2016
comment
Вы видели объяснение и псевдокод, который я опубликовал. В объяснении они говорят больше, чем, но когда дело доходит до кода ... его меньше. - person techno; 03.09.2016
comment
@techno: они, вероятно, смешали условности. Вы можете это исправить. - person Yves Daoust; 03.09.2016