Поделиться через


Управление ресурсами (Direct3D 9)

Приложение управляет ресурсами для отрисовки сцены. Сначала приложению необходимо создать ресурс текстуры одним из следующих методов:

Ресурс текстуры можно создать с помощью одной из функций текстурирования D3DXCreatexxx.

Объекты текстуры, возвращаемые методами создания текстуры, являются контейнерами для поверхностей или томов; Эти контейнеры обычно называются буферами. Буферы, принадлежащие ресурсу, наследуют использование, формат и пул ресурса, но имеют собственный тип. Дополнительные сведения см. в разделе Свойства ресурса (Direct3D 9).

Приложение получает доступ к автономным поверхностям с целью загрузки рисунков, вызывая следующие методы. Дополнительные сведения см. в разделе Блокировка ресурсов (Direct3D 9).

Методы блокировки принимают аргументы, обозначающие содержащуюся поверхность, например подуровневую или кубовую поверхность текстуры mipmap, и возвращают указатели на пиксели. Обычное приложение никогда не использует объект Surface напрямую.

Создайте ресурсы, ориентированные на геометрию, вызвав метод IDirect3Device9::CreateIndexBuffer или IDirect3DDevice9::CreateVertexBuffer.

Блокировка и заполнение буферных ресурсов путем вызова метода IDirect3DIndexBuffer9::Lock или IDirect3DVertexBuffer9::Lock в зависимости от ресурса.

Для управляемых ресурсов текстур процесс создания ресурсов завершается здесь. Для неуправляемых ресурсов текстур приложение повышает уровень ресурсов системной памяти до доступных для устройств ресурсов (для аппаратного ускорения), вызывая метод IDirect3Device9::UpdateTexture.

Для представления изображений, отображаемых из ресурсов, приложению также требуются буферы цветов и трафаретов глубины. Для типичных приложений буфер цвета принадлежит цепочке буферов устройства, которая представляет собой коллекцию поверхностей заднего буфера, и неявно создается вместе с устройством. Поверхности трафарета глубины можно создать неявно или явно с помощью метода IDirect3DDevice9::CreateDepthStencilSurface . Приложение связывает устройство с буфером глубины и цвета с вызовом метода IDirect3Device9::SetRenderTarget или IDirect3DDevice9::SetDepthStencilSurface.

Дополнительные сведения о представлении окончательного изображения см. в разделе Презентация сцены (Direct3D 9).

Ресурсы Direct3D