пятница, ноября 12, 2010

Статьи про рендеринг в Старкрафт 2

"...вашему вниманию предлагается реверс инжиниринг рендера всем известной игры Старкрафт 2, от не менее известной компании Близзард."
Старкрафт 2: Секреты технологий
Старкрафт 2. Рендер роликов



via lightypp

6 коммент.:

Angel5a комментирует...

Оппа, благодарю за ссылочки.

Дарк комментирует...

А зачем они пакуют исходники шейдеров? Чем не устроили прекомпилированные?

Alena комментирует...

Дарк
А зачем они пакуют исходники шейдеров? Чем не устроили прекомпилированные?

Лучше задать эти вопросы автору статей, я на них ответы не знаю.

manJak комментирует...

Дарк
Я таки попробую ответить.
Прекомпиляция разумна при условии, что разумно общее количество комбинаций параметров убершейдера(-ов). Когда же их счёт идёт на миллионы, десятки миллионов, скомпилированные объёмы начинают заметно пухнуть. Достаточно взглянуть на размер кеша скомпиленных шейдеров - десятки, а то и сотни мегабайт. Это при том, что отдельно взятому конечному пользователю едва ли требуется и тысячная доля всего этого многообразия.
И в довесок, думается мне, у моддерствующего сообщества есть возможность использовать собственные шейдеры. И для них исходники стандартного набора от близзард - отличное подспорье.
Да и, чего греха таить, я сам с интересом разглядывал их реализацию DOF, когда рылся в ресурсах беты. :)

Дарк комментирует...

manJak
Ну дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре. Так или иначе, они все будут скомпилированы на машине пользователя и заржут свои десятки мегабайт памяти. Мне было бы приятнее получить дистриб на 100мб больше размером (к тем 8++ гигам что уже есть, поэтому не страшно ), но который грузится на лишние секунды быстрее.

А как сэмплы для моддер комьюнити - это конечно аргумент. Зная близзард, я считаю что они врятли дадут грузить свои шейдеры, только управлять аргументами уже готовых. Но угадать, какие сочетания захочет моддер, конечно, нельзя.

manJak комментирует...

> Ну дак и не нужно компилировать вообще все варианты, только те, которые реально используются в игре.
Реально использоваться будут самые разные комбинации, в зависимости от графических настроек у пользователей. И насколько мне известно, в дистрибутиве уже идёт пачка откомпилированных шейдеров для статистически наиболее вероятных настроек.
Таскать же в дистрибе шейдеры для всех возможных конфигураций, имхо, неразумно. Видимо, и разработчики так посчитали) Ну, по крайней мере, я не вижу других весомых причин..