2012-05-29 4 views
0

мне нужно сделать в месте редактирования изображений с помощью DirectCompute - ала: http://msdn.microsoft.com/en-us/library/ff728749%28v=vs.85%29.aspxСоздать R32_UINT вид из R8G8B8A8_UNORM ресурса

Мой BackBuffer является R8G8B8A8_UNORM и мне нужно создать беспилотник формата R32_UINT для того, чтобы меня читать и писать одновременно в пределах вычислительного шейдера.

Цитата из моего отладочного вывода, когда я делаю это:

«CreateUnorderedAccessView: Формат (0x2a, R32_UINT) является недействительным, при создании View, Ресурс уже был создан с полностью квалифицированным форматом, который не является литьевой (0x1c, R8G8B8A8_UNORM)»

Цитата из документации по ссылке выше:

„Большинство 32 бит на форматы элементов формовочной к DXGI_FORMAT_R32_UINT“

ли я что-то отсутствует?

ответ

0

Попробуйте создать ресурс в формате DXGI_FORMAT_R8G8B8A8_TYPELESS.

OOPS - у вас есть буфер с таким форматом - не уверен, что вы сможете использовать DXGI_FORMAT_R8G8B8A8_TYPELESS для резервного буфера.

+0

Невозможно использовать безлимитный для буфера. Я думаю, что это просто ошибка в конце Microsoft. Они специально документируют, что r8g8b8a8_UNORM может быть передан в R32_UINT – user1043761