Как стать автором
Обновить

Комментарии 21

Очень не показательная картинка, на мой взгляд, лучше было бы показать анимацию.
окей, возможно на досуге сделаю видео
но лучше скомпилировать код и самому посмотреть :)
Как для меня, статья не о чем. Уже слюнки потекли в ожидании чего-то практического и тут такой облом…
ну эта статья — туториал по d3d, вобщем-то, а не гайд по написанию мегареалистичной воды.

для последнего можно смотреть сэмплы FFT Ocean и Island из NVIDIA D3D 11 SDK:
developer.nvidia.com/nvidia-graphics-sdk-11-direct3d
Хорошо, тогда измени заголовок, ибо его начало говорит совсем о другом.
На картинки вода очень нереалистичная… используя 2 треугольника и искажение текстур в шейдере можно добиться намного большего с минимум усилий.
Кстати просветите — webgl — всегда полагается исключительно на процессор и не использует видеокарту в текущих реализациях или у меня просто что то не то с конфигурацией? Ибо пример тормозит — полностью загружая одно ядро процессора…
а у меня как всегда просто ругнулся что нет поддержки webGL (ubuntu+intel столетней давности)
видимо, у вас используется програмная реализация webGl типа mesa
А как можно задействовать аппаратную? ОС, браузер, железо?
Возможно, конфиги браузера, драйвера на железо.
It will also only work if your graphics card supports OpenGL 2.0, so it might be a pain to get working
Your browser does not support WebGL.
Отлично.
как фанат OpenGL вы должны понимать что от GL там только рисование пикселов.
а весь рэйтрэйсинг, каустика, тени, и прочее сделано на жаваскрипте.
прекрасно отображается, ff6/w7x64; crome/w7x64
Абстрактное описание архитектуры D3D — не есть туториал, а «водой» такую картинку перестали называть ещё лет 10 назад до появления программируемого конвейера.
>Абстрактное описание архитектуры D3D — не есть туториал,
это только первая часть :)

> а «водой» такую картинку перестали называть ещё лет 10 назад до появления программируемого конвейера.
Окей, окей, раз я вижу это уже третий комментарий на эту тему, тогда я специально для крутых программистов графики, которые уже раз 20 писали воду «как в крузисе», и которым с моей поделки становится смешно, напишу:

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

Публикации

Изменить настройки темы

Истории