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

       

Создание вершинного шейдера


17.3.2. Создание вершинного шейдера

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

HRESULT IDirect3DDevice9::CreateVertexShader( const DWORD *pFunction, IDirect3DVertexShader9** ppShader );

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

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

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

IDirect3DVertexShader9* ToonShader = 0; hr = Device->CreateVertexShader( (DWORD*)shader->GetBufferPointer(), &ToonShader);

ПРИМЕЧАНИЕ

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

Содержание раздела