Вычислите четверку ограничения сферы с вершинным шейдером

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

Какие-либо предположения относительно того, как они на самом деле сделали это? Положение и радиус известны в мировых координатах, и проекция является перспективой. Это означает, что сфера будет спроектирована как круг?

8
задан user1118321 15 March 2015 в 05:40
поделиться

2 ответа

Я нашел статью, в которой описывается, что вам нужно - вычисление ограничивающей квадрики. См .:

http://web4.cs.ucl.ac.uk/staff/t.weyrich/projects/quadrics/pbg06.pdf

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

Некоторые личные мысли:

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

Если вы можете определить длину хорды, то соотношение даст точный ответ, но в данный момент это немного выше меня.

альтернативный текст http://xavierho.com/temp/Sphere-Screen-Space.png

Конечно, это лишь приблизительное приближение, иногда с большой ошибкой, но это могло бы наладить дела быстро, легко.

В противном случае , см. Документ по ссылке выше и используйте правильный способ. =]

2
ответ дан 6 December 2019 в 00:54
поделиться

В общем, сфера в перспективе выглядит как эллипс:

alt text
(источник: jrank.org )

Изображение выше находится внизу эта статья .

Раздел 6 этой статьи описывает, как получается ограничивающая трапеция проекции сферы. До появления компьютеров художники и рисовальщики должны разбираться в этом вручную.

0
ответ дан 6 December 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: