|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Astafiev 2:5000/228.16 08 May 2001 11:31:26 To : Edik Ryzhov Subject : realtime raytracing --------------------------------------------------------------------------------
AA>> Есть довольно интеpесный и малоизвестный способ, Volumetric,
AA>> можно
ER> Hy капец, ты пpям как маленький. Во-пеpвых, хpен ты столько памяти
ER> найдешь, во-втоpых, скоpость _HЕ_ больше, даже если юзать асм.
:)))))
предположим, на своем компьютере мне 16mb памяти искать особо не надо,
(тебе не знаю, случайно с malloc не знаком? ;)
откуда такая удивительная уверенность?
Еще и капец, еще и я маленький...
1.
сколько у нас там памяти на GeForce? или прочих современных видео(!) картах?
2. Сколько системной памяти? Меньше 16 Мб? :)))
3. Этот метод реализован уже даже АППАРАТHО , а не только "асм".
4. Трассирование выполняется до пересечения "луча" с телом, но не далее.
5.
Конечно же, данный способ несовершенен, но у него есть как недостатки так и
достоинства. Среди достоинств - криволинейные поверхности, да вообще какие
угодно поверхности и тела. Легко передается глубина полу-прозрачных тел, легко
делаются срезы.
Берем куб рейкастинга размером 256x256x256 (допустим). Имеем матрицу 256x256.
Воткнем внутри куба несколько поверхностей выс. порядков.
В случае традиционного рейкаста будем решать на каждый пиксел по одной системе
уравнений на каждую поверхность (полигон) ибо все сложные поверхности придется
бить на более простые. Причем, каждый луч еще нужно домножать на матрицы
поворота. Способ будет зависеть от производительности FPU.
В случае VolumeTrace нам нужно перебрать для каждого луча количество вокселей
равное 0..SQRT(256^2+256^2). Способ в значит мере зависит от производительности
подсистемы памяти.
Так ответь мне, что быстрее, воксели перебирать или уравнения решать?
Это с учетом того, что можно сделать оптимизации типа обьединять "пустые"
воксели в Sub-Voxels, т.е. грубо говоря, начинать трейсить куб с низким
разрешением, "крупными вокселями"... SuperVolumes
6. Volumetric Raytracing (в маленьком кубике конечно, 32x32x32) я делал
еще в 1996 году, на спектруме.
7. на том же tog, ссылку на который я кидал совсем недавно можно найти другую
ссылку, на хардварную реализацию, но с помощью микропроцессора. Мужики
реализовали realtime volymetric raytracer, 30 fps на кубе 256x256x256
кстати, в pdf-ке, что я читал очень здорово сделано - прямо в реальном времени
выстраивается сцена из кубиков :)
А ты тут раскричался... ;)
--- Alex Raider / Flash inc.
* Origin: Alex Raider/ Flash inc. 1992-2001 (2:5000/228.16)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/174643af7eedf.html, оценка из 5, голосов 10
|