Сегодня вдруг в голове сложилась картина, что CS + R/W buffers можно использовать для очень многих вещей, помимо A-buffer или DOF/фильтрации:
1) Тесселяция (Fermi?), примеры есть в SDK.
2) Т. н. Blend Shaders.
3) Silhouette generation (в обход GS).
4) LIDR - можно использовать битовые операции для хранения индексов источников света.
5) Deferred Shading вообще, похоже в этой области намечаются большие перемены.
Также несколько слов о противостоянии DirectCompute/CUDA/OpenCL.
Я несколько раз натыкался на статьи, где рассказывается, как применять DirectCompute для GPGPU. Лично я считаю, что Microsoft изначально планировала DirectCompute как узкий инструмент исключительно для графических вычислений (там, где связка VS/PS неээфективна), и использовать его в составе DirectX 11 (Vista/7) для GPGPU по крайней мере странно.
OpenCL vs CUDA. Неочевидно, что организации,, занимающиеся GPGPU, нуждаются остро в переносимости своих программ на железо другого производителя. Т. е., скажем, просто покупается кластер NVIDIA Tesla, и под него затачивается CUDA-программа, служащая целям организации. Где тут OpenCL - непонятно. Даже если нужна переносимость, то с развитием GPGPU перспективы OpenCL программ через 5-10 лет весьма туманны. Или вот выйдёт скоро Fermi. Под него - новая CUDA, учитывающая все тонкости железа. Логично, что скорее всего и использоваться будет именно она.
вторник, 5 января 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
С OpenCL будет та же фигня, что с OpenGL. Будет миллион расширений от конкретных производителей, которые будут устаканиваться в новых версиях стандарта с опозданием в несколько лет :(
ОтветитьУдалитьА через 5-10 лет все придет к полной программируемости: С++ и какие-нибудь интринсики для fixed function. Fermi осталось до этого полшага и то больше в окружении, чем в самой железке
Я больше верю не в Fermi, а в Fusion. Или Cell.
ОтветитьУдалить