суббота, 28 марта 2009 г.

GDC 2009

Ура GDC закончился! Мы более-менее успели продемонстрировать альфа версию драйвера с поддержкой DX10. Теперь можно отоспаться :-) .

четверг, 18 декабря 2008 г.

VGUI Localization Tool

Написал утилиту позволяющая упростить перевод Valve файлов локализации, наподобие *_english.txt, *_russian.txt... С помощью неё можно быстро найти не переведенные места или где изменился оригинальный английский текст.

Хотел опробовать LINQ, поэтому решил в проекте использовать его. Поэтому для запуска требуется .Net Framework 3.5

Скачать и посмотреть исходники можно тут

воскресенье, 2 ноября 2008 г.

Разблокировка Microsoft PIX для игр

Обновил утилиту, теперь она помимо PerfHUD не дает заблокировать использование с игрой и PIX (например для TF2). Скачать можно тут.

Инструкция к использованию такая:
1. Распаковываем архив
2. Запускаем DllInjector
3. Нажимаем InjectDll и выбираем ForcePerfHUDOn

Update: исправил проблемы на некотрых системах

Перехват D3D9 или как устроены StateBlock'и

Когда мы решили полностью отказаться от вызова Get* методов D3D9 в нашей обертке над ним, а перехватывать для этого Set* методы и сохранять значение там мы с толкнулись с некоторыми непредвиденными трудностями.

Перехватив все нужные методы мы столкнулись с одной интересной особеностью реализации StateBlock'ов в D3D9, при вызова BeginStateBlock() D3D9 меняет указатели в таблицы виртуальных функция устройства у следующих методов: SetMaterial, SetRenderState, SetTexture, SetTextureStageState, SetSamplerState, SetFVF, SetVertexShader, SetVertexShaderConstantF, SetVertexShaderConstantI, SetVertexShaderConstantB, SetStreamSource, SetStreamSourceFreq, SetIndices, SetPixelShader, SetPixelShaderConstantF, SetPixelShaderConstantI, SetPixelShaderConstantB, а остальные Set* функции просто не применяю новые значения состояний к устройству и только сохраняют их в StateBlock'е. Насколько я знаю в COM нет легального способа поменять указать в VTBL, т.е. это по сути хак. С этим возникли проблемы когда мы хотели вызвать оригинальные методы внутри BeginStateBlock\EndStateBlock.

вторник, 21 октября 2008 г.

iZ3D

Вот появилась статья о нашем мониторе на fcenter.ru

Вот цитата от автора обзора

Team Fortress 2. Стереоэффект выражен великолепно, игра действительно приобретает третье измерение, а сильнее визуального эффекта от улетающей от вас ракеты – лишь эффект от прилетающей в вас гранаты. Очень впечатляюще выглядят взрывы и дымовые шлейфы пролетающих ракет, при виде летящей навстречу гранаты инстинктивно зажмуриваешься, а вот близко пробегающие соратники или противники двоятся слишком сильно.

пятница, 27 июня 2008 г.

PerfHUD для всех игр

Написал небольшой hook который перехватывает вызовы D3D9 и D3D10 и позволяет использовать PerfHUD для любой игры. Скачать можно тут

Инструкция к использованию такая:
1. Распаковываем архив
2. Запускаем DllInjector
3. Нажимаем InjectDll и выбираем ForcePerfHUDOn

понедельник, 16 июня 2008 г.

Spore Creature Editor

В сети появился Spore Creature Editor, это что-то с чем-то. До сентября можно пока тренироваться в создание существ, жаль инструментарий ограничен.

Вот что у меня получилось за пол-часа: :-)