Для Render Target'ов использую текстуры с форматом D3DFMT_A16B16G16R16F.
|
жирно очень - в особенности для альбедо не нужно.
заценивай как пакуют гбуффер реалне пацаны:
http://www.slideshare.net/TiagoAlexS...sis-3-gdc-2013
-----
в кратце:
positionMap не нужен - достаточно хранить глубину и потом в шейдере восстанавливать из неё позицию.
нормали жмутся в 2.5 8-битных канала.
на альбедо не нужно больше 8 бит - в крайенжине ещё и пакуют в 2 канала мутным способом (но это перебор уже имхо).
также тебе пригодятся reflectivity/glossiness.
у меня сейчас в рабочем проекте вот такой гбуфер:
RGBA8: normals, glossiness, reflectivity
RGBA8: albedo, IOR
R32F: depth
И R11G11B10 хдр текстура, в которую уже ведётся работа с гбуфером.
Из-за многопассовости (лайты складывать в РТ) дефер также может тормозить. Щас курю как круче сделать tiled deferred (ранее уже делал tiled forward с генерацией тайлов на цпу).