понедельник, 28 марта 2011 г.

Splinter Cell: Conviction

На http://www.macgamestore.com/ появился порт Splinter Cell: Conviction (Капитан Очевидность подсказывает, что это для Mac). Игра доступна посредством цифровой дистрибуции по цене $19.99:

Tom Clancy's Splinter Cell: Conviction


(актуальные скриншоты Mac-версии)

Это проект, над портированием графической составляющей которого я и работал в Ubisoft Kiev весь последний год. Да, юбики решили портировать свои крупнейшие AAA-тайтлы на Mac, и это при том что SCC вначале вообще объявлялся как Microsoft-exclusive проект!

Изначально планировалось зарелизить проект 29 октября 2010, до старта рождественских продаж, но сроки мы благополучно зафейлили и начальству пришлось даты сдвигать. Мы всё же успешно довели проект до рабочего состояния, и через некоторое время он должен появиться и в Mac App Store (уже без DRM - требование яблочников).

Удачного плавания, Сэм!


пятница, 25 марта 2011 г.

MD2 normals

Есть такой файл в составе Quake II engine - anorms.h. В нём хранятся предрассчитанные нормали (скорее всего по сфере). Если говорить про формат MD2, то key-frame анимация в нём делает хранение нормалей непосредственно в вершине неэффективным. Вместо этого, в .w компоненте хранится индекс нормали из anorms-таблицы.


Для выборки нормали я залил anorms-таблицу в буфер и подключил его как shader resource. Теперь в вершинном шейдере делается выборка нормалей по индексам и их интерполяция. Для проверки корректности я написал простой геометрический шейдер, который берёт нормаль в вершине, размножает её и выводит как линию.

Точность этого метода хранение нормалей, конечно, низковата; линейная интерполяция помогает сгладить квантование.

P.S. Теперь я узнал, почему зелёный цвет (нормалей) плохо выглядит на белом фоне: человеческий глаз наиболее чувствителен в зелёному цвету и воспринимает его как более яркий, чем красный или синий.

четверг, 24 марта 2011 г.

ПЕЧ 590

NVidia представила ПЕЧ 590.



Петерсон суетится, тычет пальцами в оверлеи, меряет какой-то штукой деЦИБелы :)

Обзоры:

среда, 23 марта 2011 г.

IsDebuggerPresent

Сегодня начал играться с компиляцией проекта вкупе с DirectGL в release, чтобы убедиться в работоспособности кода во всех конфигурациях. И сразу сделал открытие: время загрузки шейдеров резко увеличилось (требовалось всего 1-2 секунды)! Я бросился инспектировать код на предмет #ifdef _DEBUG, но никаких зацепок не нашлось. Тогда я пересобрал проект в debug конфигурации, запустил по Ctrl-F5 и о чудо: GLSL шейдеры скомпилировались влёт.

Больше ничего не оставалось, как запустить проект по F5 и наблюдать картину с тормозявой загрузкой шейдеров. Ппц.


понедельник, 21 марта 2011 г.

Этот ваш DirectX тормозит

AMD: DirectX тормозит развитие игр на ПК

Мог бы Crysis исполняться более эффективно, если бы Crytek не была ограничена Direct3D и могла иметь более широкий низкоуровневый доступ к GPU?
А к какому GPU?
Ускоритель Xenos в Xbox 360 имеет более чем в 10 раз меньшую производительность, чем самые мощные GPU для ПК. Так почему же игры не выглядят в 10 раз лучше?
А как это: в 10 раз лучше? :)

На самом деле, эту проблему намеревались решить в DX 11 с помощью Driver Command Lists, но эта фича до сих пор не реализована ни в драйверах AMD, ни у NVIDIA. Разработчики из DICE жалуются: уже два года ждём, и всё нету.

P.S. Ричард Хадди - осёл.

пятница, 18 марта 2011 г.

AC2 in Mac Store

В Apple Mac (не App!) Store появился порт Assassin's Creed II, который разрабатывался Ubisoft Kiev. Нужно сказать, что это игра из разряда "тяжеловесов" для Mac, т. к. в основном сейчас там (не считая нескольких исключений) продаются довольно примитивные игры.


Для сёрфинга по магазину приложений нужны MacOS X и App Store клиент. Стоит игруша $37.99.

Думаю, скоро там появится порт игры, над графикой которой весь прошлый год работал и я :)

среда, 16 марта 2011 г.

GS

Не используйте массивы!!!
Ну или GlukoGL... :)

пятница, 11 марта 2011 г.

четверг, 10 марта 2011 г.

UE3 Samaritan Demo

Впечатляет:

http://www.youtube.com/watch?v=RSXyztq_0uM

Хотя мне бы больше понравилась яркое солнышко, голубое небо и зелёная травка :)

GlukoGL

Волею судеб угораздило меня отлаживать OpenGL рендер на iMac-е под Windows 7. GLSL-шейдеры, которые на этой же машине под управлением MacOS X компилируются и компонуются влёт, под Windows с драйверами ATI делают это со страшными тормозами. Вот для примера вырезки из лога: http://pastie.org/1655135

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

Похоже, GLSL-компилятор Apple писали самостоятельно, и он невероятно быстр. Наверное, компилирует в какой-то промежуточный код, который дальше переколбашивает атишный драйвер, а может, в Apple сами написали драйверы под железо маков. А вот для Windows драйвер писали криворукие индусы, ппц.

Update
Ура, мой DirectGL заработал! Наконец-то.