XaeroX, да, в DX10 еще есть понятие как "Поточное постороение вершин", благодаря которому и достигается высокая скорость. Я скоро вернусь и как можно подробнее обьясню что это такое.
__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)
Высокая скорость - это когда игра работает на РиваТНТ без тормозов.
О какой "высокой скорости" может идти речь на карточках с поддержкой ДХ10? Там в любом случае офигенная скорость будет благодаря высокой частоте гпу и скорости работы памяти.
XaeroX, как хочешь это понимай, но НИ ОДНА игра еще не использовала данный вид оптимизации расстановки вершин, даже крайзис или чистое небо, или фаркрай 2. В DX10 так же есть понятие постоянно повторяющийся цикл и однопроходный цикл.
Записывается бесконечный так:
C++ Source Code:
1
[roll]
2
for( аргументы цикла )
3
{
4
код цикла
5
}
Допустим, что i у нас возрастает до 255. Когда прошел первый пересчет, то счетчик обнуляется и заново цикл начинает работать.
C unroll(однопроходный) все по-другому, i у нас только один раз возрастает по 255.
__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)
ZONER
Я все равно не понял смысл этого шейдерного кода.
Это типа такая модная ДХ10-вская фича - возможность создавать бесконечный цикл и вешать графический процессор?
А что касается понятий roll/unroll - емнип, они относятся к реализации цикла. Roll-цикл выполняется прямо на GPU с помощью инструкций перехода, а Unroll - разворачивается перед исполнением в линейную последовательность команд. И ДХ10 тут причем? Это еще в SM3.0 было реализовано.