Archive for October 2007

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’ »

XML, бинарный…

0. Хороший формат XML – расширяемый и самодокументированный. Только текстовый. Тому кто пользуется С++ это как то не так…

Continue reading ‘XML, бинарный…’ »

Новье.

Я знаю, что слово “Nouveau” читается как “нуво”, но такая транскрипция много красивее выглядит.

Все мы, грешные программисты графики, общались с графическим железом. Через разнообразные прослойки интерфейсов. У некоторых из нас ( консольной братвы ) прослойки были тонкие, у большинства – неподъемная громада OpenGL или DirectX. Поработаешь с этой ерундой – хочется узнать, что у ней внутри. А внутри у ней неонка, да не одна.

Continue reading ‘Новье.’ »

C++ , известные плохие моменты.

Многие здесь не только программируют на С++ как данности, но и поглядывают на другие языки от тоски.

Вот и мои пять копеек про то что не нравится в С++.

Continue reading ‘C++ , известные плохие моменты.’ »

ЕЗЫГ МОЙ. Брейн дамп номер 2. Про типы с вариантами и простой matching

Начнём с примера. Есть дерево, в листьях хранятся строки, в ветках хранится длинна строк; короткие строки «слева», длинные «справа». В качестве примера будем брать функцию поиска строки в таком дереве.

Continue reading ‘ЕЗЫГ МОЙ. Брейн дамп номер 2. Про типы с вариантами и простой matching’ »

Ещё раз про latency

Сперва чтиво http://lwn.net/Articles/250967/

Продолжая начатую тему замечу, что на PC latency тоже можно и нужно бороть. Prefetch есть, и он тоже реально работает. Правильная (линейная) организация данных работает ещё лучше, потому что процессор умеет предсказывать и префетчить сам. В статье, впрочем, всё гораздо подробнее.

Continue reading ‘Ещё раз про latency’ »

Экспресс-додзё имени Хомского

Недавние мысли Дяденьки Бобби вслух про Истинный Путь Самурая в применении к софтверной индустрии растревожили одну, уж было заснувшую в темных пучинах моего сознания, смутную идею. Надо законспектировать, пока не заснула опять.

Как завещала нам иерархия имени товарища Хомского, экспрессивность формальных языков бывает разная – что можно легко и просто сказать на одном, на другом выразить не удается.

Continue reading ‘Экспресс-додзё имени Хомского’ »

Мега-пост

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

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

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

А что дальше?

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

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

Диагностика – она должна быть в мозгу

Обнаружил интересную штуковину: чем крупнее и сложнее проект, тем менее внятные фидбеки приходят от программистов.
На проекте размером hello world программист вместе с заявлением “не работает”, обязательно догадается вставить
сообщение об ошибке в текст письма.
На проекте в 50000 строк диагностика стремительно уменьшается, приходится извлекать информацию клещами.
Когда проект переваливает за 200000 строк (а это – нормальный размер для небольшой коробочной игры), обычно вся диагностика (и это несмотря на то, что отладочными функциями проект просто напичкан с ног до головы) сводится к “не работает” и “невозможно пользоваться”.
Continue reading ‘Диагностика – она должна быть в мозгу’ »

Прогрессбары в «маленьких играх»

Главный чёрно-джедайский секрет быстрой загрузки в казуальных играх: не грузите бэкграунды-комиксы и прочие крупные легко менеджещиеся вручную файлы при старте игры.

Прочие фокусы ускорят улучшат загрузку при больших усилиях на сотни процентов, раза два-три, что совершенно фигня. Этот же – на тысячи процентов при минимальных усилиях.

Скажем «нет» прогрессбарам в казуальных играх!