В каком формате #greyscale 'отображает цели в DirectX? - PullRequest
2 голосов
/ 28 июня 2011

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

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

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

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

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

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

0 голосов
/ 28 июня 2011

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

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

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

...