DXShaderCreate

Создает шейдер указанного типа.

int  DXShaderCreate(
   int                  context,          // хендл на графический контекст   
   ENUM_DX_SHADER_TYPE  shader_type,      // тип шейдера 
   const string         source,           // исходный код щейдера
   const string         entry_point,      // точка входа
   string&              compile_error     // строка для получения сообщений компилятора
   );

Параметры

context

[in]  Хендл на графический контекст, созданный в DXContextCreate().

shader_type

[out]  Значение из перечисления ENUM_DX_SHADER_TYPE.

source

[in]  Исходный код шейдера, написанный на HLSL 5.

entry_point

[in]  Точка входа – название функции в исходном коде.

compile_error

[in]  Строка для получения ошибок компиляции.

Возвращаемое значение

Хендл на шейдер или INVALID_HANDLE в случае ошибки. Для получения кода ошибки нужно вызвать функцию GetLastError().

Примечание

Созданный хендл, который больше не используется, должен быть явно освобожден с помощью функции DXRelease().

ENUM_DX_SHADER_TYPE

Идентификатор

Значение

Описание

DX_SHADER_VERTEX

0

Вершинный шейдер

DX_SHADER_GEOMETRY

1

Геометрический шейдер

DX_SHADER_PIXEL

2

Пиксельный шейдер