Archive for the ‘directx’ Category.

Опа-опа, уже на Channel9!

Не поверите, мой маленький доклад про GPGPU на маленькой уютной майкрософтовской тусовке (спасибо Саша!) решили выложить на Channel9 (спасибо мужикам из MS Russia!).

Я человек приземленный и в основном на пальцах рассуждаю за железо, CUDA и как примерно оно внутри работает. Попеарьте меня, чтоле!

Часть 1 (сам доклад) – http://channel9.msdn.com/posts/mikcher/GPU-Algorithms-Part1/
Часть 2 (вопросы) – http://channel9.msdn.com/posts/mikcher/GPU-Algoritms-Part2/

В будущем выложат еще одну часть, где содокладчик Миша Горбунов будет показывать одну из демок на CUDA.

Как всегда, необходимый disclaimer: Доклад случился около полугода назад, поэтому некоторых новейших тенденций может не отражать, и, разумеется, является исключительно моим личным мнением, а никак не позицией корпорации.

Мысли вслух

Интересно, насколько качественнее и производительнее были бы PC-игры, если при запуске программы в конфигурации Debug всегда принудительно (и неотключаемо) запускалась бы Debug version of Direct3D?

DX 10 post, part 3 – New hardware features

DX 10 post, part 1 – Infrastructure
DX 10 post, part 2 – API changes
DX 10 post, part 3 – New hardware features

Про DX11 уже рассказали на GameFest 2008, но презентации еще не выложили, и, будем считать, это дает мне минутку рассказать, что же нового добавили в DX10.
Вообще, если кто-то программирует графику на PC и всего этого давно не знает, то я напуган за родной DX. Кстати, расскажите, кто за последний год начал потихоньку переписывать рендер на DX10(Коля, только не ты!)? Я буду шибко признателен, мне всегда интересно поговорить и послушать вашу ненависть (или даже, тьфу-тьфу-тьфу, радость).

Continue reading ‘DX 10 post, part 3 – New hardware features’ »

ИГРА БЕЗ РАЗРЫВОВ

Игры под PC. Спайки, лаги, подтормаживания. В контракте описаны, спорить сложно.

Но что делать если НЕ БЫЛО НИ ЕДИНОГО РАЗРЫВА? Continue reading ‘ИГРА БЕЗ РАЗРЫВОВ’ »

DX 10 post, part 2 – API changes

DX 10 post, part 1 – Infrastructure
DX 10 post, part 2 – API changes
DX 10 post, part 3 – New hardware features

Я так считаю, что пока DX11 не вышел, посты про DX10 еще считаются актуальными. Посему радуйтесь, я буду вам рассказывать про изменения вышедшего год назад API.
Тем более, не спится.

Continue reading ‘DX 10 post, part 2 – API changes’ »

как мы рожали death track

Прошло уже некоторое время с момента выхода наших гоночек ( http://deathtrack.ru/), предрелизные страсти улеглись, патч выпущен и, говорят, как раз самое время собрать камни. В связи с чем попробую рассказать немного про то, как мы тот Death Track делали. Расскажу выборочно и в основном про картинку ну или про то что с этой картинкой связано.

Continue reading ‘как мы рожали death track’ »

DX 10 post, part 1 – Infrastructure

DX 10 post, part 1 – Infrastructure
DX 10 post, part 2 – API changes
DX 10 post, part 3 – New hardware features

Этот пост надо было написать год назад, потом полгода назад, потом месяц назад и неделю назад.
Год назад я был под впечатлением от MS вообще, полгода назад я был в неправильной команде, а месяц и неделю назад жизнь кипела и бурлила. Однако, наконец, случился неожиданный перерыв и можно, наконец, написать про DX10.

Сразу скажу, я как девелопер на DX10 писал не больше маленькой демки, но в принципе уже имел счастье копаться во внутренностях. Если что, считайте меня евангелистом, гыгыгы.
Буду описывать впечатления высокого уровня, низкого – детали реализации. Опять же, каждый пункт очень не подробный, про каждый – можно писать большой детальный отдельный пост. Пожелания принимаются :)

За один раз все не описать, сегодня будут, пожалуй, самые большие изменения – инфраструктурные. Нужно отметить, что большинство из них относятся не только к DX10, но и вообще ко всем версиям DX на Висте.

Continue reading ‘DX 10 post, part 1 – Infrastructure’ »

Странное. Смешение DXT текстур.

Все мы знаем про замечательный формат DXT1. Напомню, что формат этот кодирует блоки 4×4 пикселя, кодирует весьма простым образом. Cначала хранятся два опорных цвета в формате rgb565. Потом хранится масочка из 16 двухбитных lerp-значений. Формат простецкий, занимает всего 4 бита на пиксель, чем чертовски привлекателен.

Часто хочется смешивать несколько текстур. К примеру, по менее детальной маске, к примеру, аддитивно. Ландшафт так часто делается. Возникает дурацкая мысль…

Continue reading ‘Странное. Смешение DXT текстур.’ »

Moving on to DXGI

Не прошло и полутора лет, как сбылась мечта идиота – сегодня первый день, как я в DirectX. Так как я в общем-то за этим и шел работать в MS, вот, мечты сбываются.

Если конкретнее, в DXGI, GI – это Graphics Infrastructure. DXGI – это место, где DX Runtime соприкасается со всей остальной OS. Скажем, Present stack и связь его со всякими HWND и прочим добром. Менеджмент текстур и вообще ресурсов, их взаимодействие с GPU scheduler (я как-нибудь расскажу, про что это) и еще всякое. Энумерации адаптеров, мониторов, swap chains, fullscreen mode и т.д, и т.п.

Где видите IDXGI – это его публичная часть. Кто писал на D3D10, уже видел.
Буду изучать kernel debugger и интерналсы Винды, пока все выглядит страшно и необъятно.
DXGI – это интересно, потому что там можно решать идеологические проблемы, напрямую не зависящие от железа. Рантайм кодать стало скучно – он тупо форвардит все вызовы в драйвер, интересно только спеки на новые фичи и driver API писать. А вот в инфраструктуре – еще есть много чего допиливать. Грубо говоря, все то, что железо может, а OS не позволяет – там.

Настал тотальный dream place to work. Посмотрим, на что он похож.
Кстати, я так сходу не могу вспомнить ни одного русскоязычного человека около DX, пишущего технический блог, так что, ыыыыыыыыыыы, эклюзифф.

Render state rant

crossposted to zeuxcg.blogspot.com

Today we’ll talk about render state management in D3D10 a little.

While designing D3D10, a number of decisions were made to improve runtime efficiency (to reduce batch cost, basically). It’s no secret that D3D9 runtime is not exactly lean & mean – there is a lot of magic going on behind the scenes, a lot of validation, caching, patching…

Continue reading ‘Render state rant’ »