我刚刚开始学习DirectX和hlsl的一些基础知识。我正在关注一本书中的例子。我对以下基本着色器有疑问:
float4 VS_Main( float4 pos:POSITION):SV_POSITION
{
return pos;
}
情报说float4是一个未定义的标识符。据我所知,这应该是HLSL中用于定义四维向量的标准类型,但我无法获得足够的信息,而且本书也无济于事。我在这里缺少什么?
答案 0 :(得分:0)
我认为VS2012上的Intellisense不支持HLSL关键字;你可以忽略它无法解决float4
的事实。另见:VS2010 - HLSL Intellisense?(有些答案确实提到了VS2012)。
答案 1 :(得分:0)
C ++编译器不编译HLSL。 HLSL应该以资源的形式使用,然后应该在运行时加载。一个canot只需创建一个.cpp
文件,并期望HLSL代码编译为C ++。