Функция D3DX11CreateAsyncShaderPreprocessProcessor
Примечание
Библиотека служебной программы D3DX (D3DX 9, D3DX 10 и D3DX 11) является устаревшей для Windows 8 и не поддерживается для приложений Магазина Windows. См. заметки.
Асинхронно создайте обработчик данных для шейдера.
Синтаксис
HRESULT D3DX11CreateAsyncShaderPreprocessProcessor(
_In_ LPCSTR pFileName,
_In_ const D3D11_SHADER_MACRO *pDefines,
_In_ LPD3D10INCLUDE pInclude,
_Out_ ID3D10Blob **ppShaderText,
_Out_ ID3D10Blob **ppErrorBuffer,
_Out_ ID3DX11DataProcessor **ppDataProcessor
);
Параметры
-
pFileName [in]
-
Тип: LPCSTR
Строка, содержащая имя файла шейдера.
-
pDefines [in]
-
Тип: const D3D11_SHADER_MACRO*
Массив макросов шейдеров, завершающийся значением NULL; Присвойте этому параметру значение NULL , чтобы не указывать макросы.
-
pВключение [in]
-
Тип: LPD3D10INCLUDE
Указатель на включаемого интерфейса; Присвойте этому параметру значение NULL , чтобы указать, что включаемого файла нет.
-
ppShaderText [out]
-
Тип: ID3D10Blob**
Адрес указателя на буфер, содержащий текст ASCII шейдера.
-
ppErrorBuffer [out]
-
Тип: ID3D10Blob**
Адрес указателя на буфер, содержащий ошибки компиляции.
-
ppDataProcessor [out]
-
Тип: ID3DX11DataProcessor**
Адрес указателя на буфер, содержащий созданный обработчик данных (см. раздел ID3DX11DataProcessor Interface).
Возвращаемое значение
Тип: HRESULT
Возвращаемое значение является одним из значений, перечисленных в коде возврата Direct3D 11.
Комментарии
Реализация асинхронного загрузчика за пределами D3DX 10 и D3DX 11 отсутствует.
Для приложений Магазина Windows примеры DirectX (например, пример руководства по Direct3D) включают модуль BasicLoader, который использует среда выполнения Windows асинхронную модель программирования (AsyncBase).
Для классических приложений Win32 можно использовать среду выполнения параллелизма, чтобы реализовать нечто подобное среда выполнения Windows асинхронной модели программирования.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|