ЕК>>Основной вопрос — насколько с помощью порталов/группировки а также оптимизации на asm (SSE, SSE2) реально добиться ЕК>>приемлимеого FPS?
Смотря какой FPS "приемлимый" и смотря какой сложности сцены ты собираешься рендерить...
Рэй-трэйсинг по определению очень тяжелый (относительно глубинной сложности) алгоритм. Так что всё зависит от сложности твоей сцены — много хрустальных люстр и бассейнов — помрёт твой движок хоть как.
На асме ты, конешно, чего-то соптимизируешь (главный затык всегда пересечение тела с лучом, векторные и скалярные произведения хорошо ложатся на SSE2). Порталы и иерархия помогут отсечь лишнее — без них вообще нереально добиться хоть какой-то анимации. Но радикально не спасут. Никуда ты от степенной сложности рэй-трэйсинга не денешься.
Видел картинки с двухпроходного движка: в первый проход считаются фотонные карты, во второй проход — делается рэй-трэйсинг по фотонным картам. Оба прохода сделаны на ускорителе (NV30). Второй проход — пиксельными шейдерами, а первый проход — как рендерёжка в текстуру. Скорость не ахти (1-5 кадров), но упор был на качество. Эффекты глобальной освещённости все присутствуют — мягкие цветные тени, каустики и прочие дела.
Можно гибрид попробовать, с подсчётом фотонных карт на ЦП и трэйсингом на ГП. Если источник света статический, то фотонные карты можно посчитать заранее. Но больших чудес я б и тут не ожидал. Хотя народ активно работает...