Чому простір кліпів завжди називають «однорідним простором кліпу»?


12

Я помітив майже в усьому, що я прочитав до цього часу, що термін "простір кліпів" є висунутим словом "однорідний". Тепер я розумію, що це приблизно означає "все те саме", але я не розумію, чому існує явна потреба сказати "однорідний простір кліпу". Коли простір кліпу не є однорідним і чому нам потрібно диференціюватись? І з цього приводу, що саме означає, що ми називаємо це "однорідним простором кліпу"? Однорідний по відношенню до чого? Яким чином вершини "все однакові"?

Відповіді:


22

Простір кліпу називається однорідним, оскільки значення в ньому використовують однорідні координати , тобто вони мають форму [xyzw] замість [xyz] . Для того, щоб отримати останнє, перспективний поділ все ж має відбутися:

 [x y z w]   →   [x/w y/w z/w]
homogeneous     normalized device
clip space      coordinates (NDC)

Причина відсікання виконується перед перспективним поділом, оскільки підрозділи - це дорогі операції. Замість тестування, наприклад, |x| > 1 в просторі NDC, ми можемо просто протестувати |x| > |w|в однорідному просторі кліпу, що дає точно такий же результат, і дозволяє виконувати відсікання перед поділом.


2
Запропоновано пояснити, чому відсікання в однорідному просторі 4D дешевше, ніж у 3D-просторі NDC. Я думаю, що це вперше помітили Джим Блінн та ME Ньюелл. Навіть після відсікання вцілілі точки зазнають цього (дорогого) перспективного поділу, однак кількість очок тепер буде значно меншою після відсікання.
— legends2k

Що ви тут маєте на увазі під "відсіканням", а точніше, під "відсіканням виконується"?

"Причина відсікання виконується перед перспективним поділом, тому що поділи - це дорогі операції" неправильно. це тому, що ти не можеш нічого спроектувати за допомогою z <= 0. вона логічно не може потрапити в площину проекції. тому також найближча площина не може бути 0. Все повинно бути перед камерою. тому відсікання має відбуватися перед проекцією.
— Калюжа
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.