0

我刚刚开始学习一些 DirectX 和 hlsl 的基础知识。我正在按照书中的示例进行操作。我对以下基本着色器有疑问:

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

情报说 float4 是一个未定义的标识符。据我所知,这应该是 HLSL 中用于定义 4 维向量的标准类型,但我无法获得足够的信息,这本书也无济于事。我在这里想念什么?

4

2 回答 2

0

我认为 VS2012 上的 Intellisense 不支持 HLSL 关键字;你可以忽略它无法解决的事实float4。另请参阅:VS2010 - HLSL Intellisense?(有些答案确实提到了VS2012)。

于 2013-02-02T14:20:43.620 回答
0

C++ 编译器不编译 HLSL。HLSL应该以资源的形式使用,然后应该在运行时加载。不能简单地创建一个.cpp文件并期望 HLSL 代码编译为 C++。

于 2013-02-02T17:44:53.283 回答