Archive for the ‘directx’ Category.

Microsoft Hotline: D3D10 и multi-sampled depth

Арсений из Санкт-Петербурга задает вопрос:

В D3D10 легализованы depth textures, то есть возможность представления zbuffer в виде текстуры, из которой может сэмплить шейдер. Это часто бывает полезно например для shadow maps и soft particles.

Почему это не работает для multi-sampled depth textures, ни чтение в шейдере, ни Resolve? Для multi-sampled color же все окей.
Попробовал и на reference device, значит не баг в драйверах и дело не в конкретной карте.

Отвечает Александр Друзь.
Continue reading ‘Microsoft Hotline: D3D10 и multi-sampled depth’ »

Мега-пост

Приставка “Мега-” нынче очень популярна, особенно у нас на проекте. Это какая-то массовая истерия, мегадеревья, мегаАИ, мегаТрава, мегаРедактор, пиздец! А началось конечно с мегаТекстуры.

Понимаю, я всех заёб этой темой, но первый мой пост может быть только про ЭТО :)

Первое что приходит в голову – “Эврика, это возможно!”, неделя за чтением статей, неделя на разработку и вырисовывается прототип – большой квад с большой текстурой. Потом подменяем геометрию – работает сцуко.

А что дальше?

Немного о теории…

Continue reading ‘Мега-пост’ »

Particle rendering revisited

crossposted to zeuxcg.blogspot.com

Recently I was doing particle rendering for different platforms (D3D9, PS3, XBox360), and I wanted to share my experience. The method I came with (which is more or less the same for all 3 platforms) is nothing new or complex – in fact, I know people were and are doing it already – but nevertheless I’ve never seen it described anywhere, so it might help somebody.

The prerequisites are that we want a pretty flexible simulation (such as, all parameters are controlled by splines, and splines come from some particle editor – perhaps also there is some collision detection, or instead particles are driven by some complex physics only) – which means that (a) we don’t have a simple function position(time) (and likewise for other particle parameters), and (b) we don’t want to implement a fully GPU-based solution, with rendering to vertex buffer/streamout. After all, next-gen GPUs are not *that* powerful, we don’t have that many particles, and we often do not use all available cores (in case of PS3/360 at least) efficiently.

Continue reading ‘Particle rendering revisited’ »

Shadow map discussions

Мне всегда было интересно, получится ли из IRC-логов записывать что-то самодостаточное. Буду пробовать.

Вот как примерно все выглядит на #gamedeff.

Suggestions по формату и насколько успешно логи доносят идею, какие места непонятнее всего получились – более чем welcome. А то я думаю, продолжать ли эту затею.

Continue reading ‘Shadow map discussions’ »

…и о посредственности

Упомянутый баг-близнец состоит в непонятном поведении системы после системного вызова. Формально это разное с вызовом таки опциональной библиотеки имени DirectX; но практически еще противнее.

Титаническое отличие заключается в возможностях борьбы.
Continue reading ‘…и о посредственности’ »

О скитаниях вечных…

Скорбен путь программиста, но путь программиста-игродела скорбен вдвойне, ибо несть числа багам на стыке уровней чужих абстракций.

По молодости я имел предпочтения к вендорам видеокарт. Теперь я ненавижу их одинаково.
Continue reading ‘О скитаниях вечных…’ »

DX 10.1

Мужики, происходит что-то странное. На SIGGRAPH родная компания представила DX 10.1, и в сети начали писать вот такое:
Shashdot|DirectX 10 Hardware Is Now Obsolete
Vole shoots foot with 10.1 upgrade
И кучи тем на разных форумах, достаточно посмотреть первые ссылки в Гугле на DX 10.1.

Говорят, значит, мол, DX 10.1 не поддерживается текущими DX10-картами, и это означает что все текущее железо теперь можно выбрасывать на свалку, а на него же потратили столько денег.
Кроме того, и фичи в том DX 10.1 небольшие да не революционные, то есть MS это еще и облажалась, никакой принципиальной ценности новый API не несет, мол запоганили все железо из-за ерунды.
А так как DX 10.1-железа будет мало, то загнется и вообще весь DirectX, и с ним и весь MS.

Continue reading ‘DX 10.1’ »