Войти
WarZesФорум

Открыл вики для изучения DX11 (комментарии) (10 стр)

Страницы: 19 10 11 12 13 Следующая »
#135
14:37, 8 окт. 2012

[A][R][T]
Да блин, какой-то хаос в голове в последнее время.


#136
14:39, 8 окт. 2012

bazhenovc
> Так это у тебя направленный свет? Чёрт :) Я думал что точечный.
точечный только в следующем уроке, как раз пишу:)

bazhenovc
>
> Да блин, какой-то хаос в голове в последнее время.
ну бывает, тогда уж извиняй за первоначальную агрессию с моей стороны:)

#137
14:41, 8 окт. 2012

war_zes
Это ты извини за наезды не по делу :)

Кстати, для точечного можешь мой пример взять.

#138
14:49, 8 окт. 2012

bazhenovc
> Кстати, для точечного можешь мой пример взять.
ага, гляну

bazhenovc
> Это ты извини за наезды не по делу :)
ну заставлил меня разбираться в вопросе, не скажу что данный разбор был пустой тратой времени:) Главно чтоб было какое-то конкретное замечание, а я уж постараюсь разобраться что не так

#139
15:47, 8 окт. 2012

war_zes
> Che@ter
> > В ДХ11 можно вообще не генерировать вершинный буфер для вершин. Установил
> > буффер в 0 и отправил на рендер 6 точек. Вершинный по номеру вершины ставит
> > ее
> > в нужную позицию.
> И? Это обучение
> Che@ter
> > Ну и можно(нужно) заюзать инстансинг для каждого символа, передавая в шейдер
> > код строки.
> Можно, но инстансинг еще не изучен в уроках
>
Поэтому советую сначала построить план.

#140
16:32, 8 окт. 2012

Che@ter
> Поэтому советую сначала построить план.
план уроков? общий есть, хотя это ну совсем общий:) Тут вот так просто не выбрать темы, никогда не знаешь что понадобится... Вон урок по освещению я считаю не совсем верным, он должен был бы после текстур (чтобы лучше показать формулу освещения, которая требует умножения на diffuse материала, которого у нас нет), но в DX сделали так... Так и я - выбираю тему, а то или другое еще не рассмотрено, приходится откладывать

Единственное что будет точно это план уровней:
- начальный, уже завершен, по урокам из SDK... Возможно чуток дополню, особенно теоретически, когда сам больше разберусь)
- базовый, идет сейчас. Углубление начальных знаний, углубление понимания GAPI Direct3D, минимум шейдеров (только общие без сложных тем)
- Эффекты и шейдеры, далее наоборот все уроки будут завязаны на разнообразных эффектах - создании воды, глобального освещения и прочего
- совсем уж сложные архитектурные темы (многопоточный рендер к примеру) и оптимизация

Возможно между вторым и третьим будут еще уровни. Кстати, подкиньте идеи чего б еще в базовом рассмотреть... Сейчас я собираюсь рассмотреть оба оставшихся вида освещений, смешивание текстур, применение нескольких шейдеров на объект, инстансинг, фрустум, billboard, mapping (альфа, бамп, тени и прочее)... Ну еще какие темы между этим. А больше пока и нет идей:)

#141
19:59, 8 окт. 2012

war_zes
> Сейчас я собираюсь рассмотреть оба оставшихся вида освещений

ых ищо очень много :)

#142
20:04, 8 окт. 2012

innuendo
> ых ищо очень много :)
я имел ввиду те которые упомянуты в статье простого освещения:)

#143
5:27, 14 окт. 2012

Обновление фреймворка - http://ru.directx.wikia.com/wiki/DirectX_11_шаг_за_шагом:_Обновление_фреймворка

точечный источник света - http://ru.directx.wikia.com/wiki/DirectX_11_шаг_за_шагом:Точечное_освещение

bazhenovc
критикуй, у тебя это хорошо получается:)

#144
14:13, 14 окт. 2012

war_zes
:)

lightToPixelVec /= d;
Не смотря на то, что ты d уже вычислил, лучше тут использовать normalize(). Ты не учёл случай когда d == 0
if( howMuchLight > 0.0f )
if в пиксельном шейдере это очень тяжелая операция, старайся его избегать всеми возможными методами. Например вот такими:
float howMuchLight = max(0, dot(lightToPixelVec, input.normal));
finalColor = howMuchLight * diffuse * light.diffuse;
finalColor /= (light.att[0] + (light.att[1] * d) + (light.att[2] * (d*d)));

Далее

if( d > light.range )
    return float4(finalAmbient, diffuse.a);
Бесполезная операция + if в шейдере

Теперь про attenuation:

light.att = XMFLOAT3(0.0f, 0.2f, 0.0f);
Отуда ты взял эти коэффициенты?

Смотри, каноничное ур-е затухания выглядит так:
Каноничное ур-е затухания | Открыл вики для изучения DX11 (комментарии)
Коэффициенты у тебя названы правильно, но ты не понял откуда они берутся.
Для сферического источника света была выведена вот эта формула:
Затухание точечного света | Открыл вики для изучения DX11 (комментарии)
Где d - расстояние до точки, r - радиус сферы.
Соответственно она раскладывается вот так:
Затухание точечного света | Открыл вики для изучения DX11 (комментарии)
Отсюда и вычисляем нужные коэффициенты.

> Статью чтоли написать про разные виды освещения...

#145
14:16, 14 окт. 2012

ок, буду думать, завтра отвечу/посмотрю/разберу

#146
15:58, 21 окт. 2012

Наконец-то, начал выкладывать код для скачивания. На данный момент, обновлены первые уроки вплоть до урока "первый треугольник". В коде (и соответственно в статьях) были исправлены несколько ошибок и неточностей.

Кроме того в уроке по созданию фреймворка написал - как правильно нужно создать статическую библиотеку.

Также сейчас где-то 15 уникальных уроков, что уже больше всех остальных русских ресурсов по DX11 (да и DX9) :).

Составлен план на ближайшие 43 урока (!!! и ведь это только основы)
ru.directx.wikia.com/wiki/DirectX_11_шаг_за_шагом

Пока последний b.6 Точечное освещение. дальше там только черновики - не законченно, не оформлено, не начато.

Как видите, работа кипит и мы не останавливаемся. И ведь что странно - мне это дело очень нравится:) Так что на ближайший год бросать не собираюсь, и не важно что мне тут снова будут писать Отцы (лучше пишите как надо, а не то "что это никому не надо")

Всегда готов выслушать пожелания, критику и прочее

#147
17:51, 29 окт. 2012

Случайно нашел на этом форуме статью

Освещение описано вот тут

#148
18:57, 29 окт. 2012

bazhenovc
спс, а то мне как раз нужна была именно такая статья

#149
20:04, 29 окт. 2012

war_zes
Так не мне спс, а чувакам, которые её написали :)

Страницы: 19 10 11 12 13 Следующая »
WarZesФорум

Тема в архиве.