При компиляции на VS2012 с использованием HLSL: float4 не определен

Я только начал изучать основы DirectX и HLSL. Я следую за примерами из книги. У меня проблема со следующим базовым шейдером:

float4 VS_Main( float4 pos:POSITION):SV_POSITION
{
return pos;
}

Разведка говорит, что float4 — это неопределенный идентификатор. Насколько я знаю, это должен быть стандартный тип, используемый в HLSL для определения 4-мерного вектора, но я не могу получить достаточно информации об этом, и книга тоже не помогает. Что мне здесь не хватает?

0

Решение

Я не думаю, что Intellisense на VS2012 поддерживает ключевые слова HLSL; ты в порядке, просто игнорируя тот факт, что это не может решить float4, Смотрите также: VS2010 — HLSL Intellisense? (в некоторых ответах упоминается VS2012).

0

Другие решения

Компиляторы C ++ не компилируют HLSL. HLSL должен использоваться в виде ресурсов, а затем должен загружаться во время выполнения. Один не может просто создать .cpp файл и ожидаем, что код HLSL скомпилируется как C ++.

0

По вопросам рекламы [email protected]