Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 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. Лучше начать с математических выкладок рендеринга самой воды.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации