Кстати просветите — webgl — всегда полагается исключительно на процессор и не использует видеокарту в текущих реализациях или у меня просто что то не то с конфигурацией? Ибо пример тормозит — полностью загружая одно ядро процессора…
Абстрактное описание архитектуры D3D — не есть туториал, а «водой» такую картинку перестали называть ещё лет 10 назад до появления программируемого конвейера.
>Абстрактное описание архитектуры D3D — не есть туториал,
это только первая часть :)
> а «водой» такую картинку перестали называть ещё лет 10 назад до появления программируемого конвейера.
Окей, окей, раз я вижу это уже третий комментарий на эту тему, тогда я специально для крутых программистов графики, которые уже раз 20 писали воду «как в крузисе», и которым с моей поделки становится смешно, напишу:
1) Симуляция воды это очень сложный таск, и для небольшого туториала вроде моего — слишком объемный. Нет, ну правда, это не тема для туториала.
2) Вода, там где она красиво смотрится, обязана этим не самой даже себе, а объектам в сцене, которые красиво отражаются, красиво смотрятся под водой и так далее. У меня здесь из объектов(кроме воды) только скайбокс, а это негусто, мягко говоря; хотя, для туториала такого рода — самое то.
3) Тут слишком простая «wave model»(а большая часть реализма компьютерной воды идет из нее). Банальная сумма волн(причем только двух. Кстати, если поиграться с параметрами, добавить больше разных волн, будет смотреться лучше) в вершинном шейдере. Реалистичная модель волн требует либо сложных симуляций жидкостей(fluid dynamics) вокселями, либо сложных алгоритмов основанных на FFT(см. NVIDIA SDK 11, FFT Ocean, про который я уже упоминал), либо хотя бы кучи препросчитанных карт высот. И первое и второе это слишком круто для статьи такого уровня, а третьего у меня нет, и делать лень.
4) Пена, каустика — опять же, для туториала это слишком много.
Я думаю, для цикла статей про реалистичную воду подходящее название будет соответственно «Реалистичная вода на Direct3D». И в этом цикле как бы не будет рассказываться про самые основы D3D, как вот в этой части. Я думаю, это очевидно.
ИМХО не следовало в статью добавлять описание конвейера и архитектуры d3d, кто заинтересовался статьей — уже имеет познания в этой области, а кто нет — лучше почитать MSDN. Лучше начать с математических выкладок рендеринга самой воды.
Рисуем воду на Direct3D. Часть 1. Архитектура графического конвейера и API