В каком формате #greyscale'отображает цели в DirectX?

У меня есть игровой движок DirectX9, который создает свой обычный адаптер с таким форматом: D3DFMT_X8R8G8B8 У меня есть система, в которой я рендерирую некоторые объекты на цель закадрового рендеринга в виде световых карт. Затем я использую эти данные карты освещения для компоновки обратно в задний буфер, где они выступают в качестве полноэкранной "маски", и позволяет мне получить эффект факелов или других источников света на темной сцене. Все работает просто отлично. Проблема в том, что я знаю, что мои большие цели рендеринга внеэкранной карты освещения составляют 16 МБ каждая, при большом разрешении, и мне действительно нужно только 8 бит данных (в оттенках серого), поэтому 75% 32-битной целевой памяти рендеринга отходы. (Я нацеливаюсь на карты с низкой спецификацией). Я попытался создать цели рендеринга как D3DFMT_A8, но DirectX молча терпит неудачу на этом (если я добавляю CheckDeviceFormat(), я вижу, что это происходит) и создает 32-битную версию в любом случае. Я использую функцию D3DXCreateTexture. Мой вопрос: какой формат лучше всего подходит для создания этих закадровых буферов?

Спасибо за вашу помощь, я не очень хорош в рендере, связанном с мишенями:)

2 ответа

D3DFMT_L8 - это 8-битная яркость. Я считаю, что он поддерживается в GeForce 3 (т.е. первой потребительской карте с шейдером 1.1!), Поэтому должен быть доступен везде. Я думаю, что цвет читается как L, L, L, 1, то есть rgb = значение яркости, альфа = 1.

Редактировать: этот инструмент полезен для поиска заглавных букв:

http://zp.lo3.wroc.pl/cdragan/wizard.php

Ontopic: Если вы нацеливаетесь на карты с более низкими характеристиками, вы, скорее всего, будете работать в системах, где 8-битные одноканальные цели рендеринга вообще не поддерживаются.

Если вы используете шейдеры для рендеринга и композитинга, должна быть возможность использовать каналы rgba для 4 чередующихся пикселей вашей карты освещения, упаковывая вашу информацию. Возможно, вы можете рассказать нам немного больше о вашей текущей настройке рендеринга?

Оффтоп: УДИВИТЕЛЬНО, что вы здесь на Stackru, большой поклонник вашей работы!

Другие вопросы по тегам