Введение в программирование трехмерных игр с DX9




Создание пиксельного шейдера



18.3.2. Создание пиксельного шейдера

Когда у нас есть скомпилированный код шейдера, мы можем получить указатель на представляющий пиксельный шейдер интерфейс IDirect3DPixelShader9, воспользовавшись следующим методом:

HRESULT IDirect3DDevice9::CreatePixelShader( CONST DWORD *pFunction, IDirect3DPixelShader9** ppShader );

pFunction — Указатель на скомпилированный код шейдера.

ppShader — Возвращает указатель на интерфейс IDirect3DPixelShader9.

Предположим, например, что переменная shader — это экземпляр интерфейса ID3DXBuffer, который содержит скомпилированный код шейдера. Тогда, для получения интерфейса IDirect3DPixelShader9 следует написать:

IDirect3DPixelShader9* MultiTexPS = 0; hr = Device->CreatePixelShader( (DWORD*)shader->GetBufferPointer(), &MultiTexPS);

ПРИМЕЧАНИЕ

Повторим еще раз, D3DXCompileShaderFromFile — это функция, которая возвращает скомпилированный код шейдера (shader).




Содержание  Назад  Вперед