2015-12-24 5 views
4

В основном, мой вопрос: как вы читаете буферы вершин/индексов в DirectX 12? Думаю, я ищу что-то, что эквивалентно функции карты DirectX 11, которую я понимаю теперь вам нужно сделать вручную. Я попытался найти ответ, но ничего не нашел. Существует не так много примеров DirectX 12/tutorials, так как оно довольно новое.Как вы читаете буферы вершин/индексов?

+0

DirectX всегда был плохо документирован. – Krythic

+0

В общем, вы не должны считывать ресурсы графического процессора, так как это низкая производительность. –

ответ

2

Создайте еще один буферный ресурс с типом кучи, установленным на D3D12_HEAP_TYPE_READBACK. Скопируйте буфер вершин/индекс на новый ресурс с помощью ID3D12GraphicsCommandList::CopyBufferRegion или UpdateSubresources. По завершении операции копирования вызовите ID3D12Resource::Map, чтобы увидеть результаты.

Дополнительную информацию см. here.