HRESULT hr = D3DXCreateEffectFromFileA(
globals::device, // связанное устройство
fileName, // имя исходного файла
0, // нет объявлений препроцессора
0, // нет интерфейса ID3DXInclude
D3DXSHADER_DEBUG, // флаги компиляции
0, // параметры не используются совместно
&_effect, // возвращает результат
&_errorBuffer); // возвращает строку с ошибками
// Выводим любые сообщения об ошибках
if( _errorBuffer )
{
::MessageBoxA(0, (char*)_errorBuffer->GetBufferPointer(), 0, 0);
return false;
}
if(FAILED(hr))
{
::MessageBox(0, L"D3DXCreateEffectFromFile() - FAILED", 0, 0);
return false;
}
return true;
UINT numPasses = 0;
effect->Begin(&numPasses, 0);
// Для каждого прохода визуализации
for(int i = 0; i < numPasses; i++)
{
// Устанавливаем текущий проход
effect->BeginPass(i);
//рисуем объект
effect->EndPass();
//return true;
}
effect->End();