пятница, 3 августа 2007 г.

Direct3D 10.1 Tech Preview

В августовском DirectX SDK появился Direct3D 10.1 Tech Preview. Ничего неожиданного он не принес:
  • TextureCube Arrays which are dynamically indexable in shader code.
  • An updated shader model (shader model 4.1).
  • The ability to select the MSAA sample pattern for a resource from a palette of patterns, and retrieve the corresponding sample positions.
  • The ability to render to block-compressed textures.
  • More flexibility with respect to copying of resources.
  • Support for blending on all unorm and snorm formats.
Для его установки требуется поставить Windows Vista SP1 Beta.

среда, 1 августа 2007 г.

суббота, 2 июня 2007 г.

Результаты опроса Valve

Valve начала новый опрос сведений о оборудование пользователей Steam. Видимо чтоб уточнить сколько сейчас систем соответствуют требованиям Direct3D 10 (Vista + Direct3D 10 GPU), оказалось что всего 1,11% пользователей. Хотя Direct3D 10 GPU установлен у 7-8% пользователей, что говорит о том что люди тормозят с переходом на Vista'у. Она установлена всего у 5% пользователей, а Windows XP у 93%.
Кстати двух ядерные процессоры уже стоят у 21% пользователей.

четверг, 26 апреля 2007 г.

Новая версия стереодрайвера

Вот новый релиз моего стеродрайвера RealStereo 0.3b реализующий стерео в режиме оптимизированный анаглиф. Драйвер поддерживает только Direct3D 9 программы.

Вкратце, кому интересно, стереодрайвер работает так:
  • Перехватывает вызовы Direct3D9
  • Вместо BackBuffer'а, DepthStencil и RenderTarget текстур/поверхностей создаются стерео текстуры/поверхности. Они отличаются тем что должны хранят не один а два ракурса (для левого и правого глаза).
  • Каждый Draw вызов дублируется для обоих ракурсов. При этом если используется вертексный шейдер то он модифицируется для смещения камеры, иначе модифицируется матрица проецирования. А также если используются RT текстуры, то выбирается необходимый ракурс.
  • Во время вызова Present драйвер объединяет оба ракурса BackBuffer'а в один с помощью пиксельного шейдера.
Самая нетривиальная тут задача конечно модификации кода вертексных шейдеров, хотя было и много других подводных камней.

Тестировал в играх HL2, HMM5, Flatout 2. Есть небольшие глюки, по этому и beta.

К сожалению не представляю как реализовать PageFlip из за того что драйвера видеокарты не предоставляют доступа к 3-PIN VGA, а также незнаю как прервать отрисовку текущего кадра и в этот момент нарисовать другой ракурс в BackBuffer. Наверное, поэтому разработку прийдеться прекратить. Так как стерео в ангалиф режиме всетаки сильно ущербное по цветопередачи.

среда, 25 апреля 2007 г.