【发布时间】:2014-08-16 20:33:31
【问题描述】:
我做错了什么? 如果我编译这个得到一个错误
cbuffer MatrixBuffer
{
matrix worldM;
matrix viewM;
matrix projectionM;
};
struct VertexInput
{
float4 position : POSITION;
float4 color : COLOR;
};
struct PixelInput
{
float4 position : SV_POSITION;
float4 color : COLOR;
}
PixelInput ColorVertexShader(VertexInput input)
{
PixelInputType output;
input.position.w = 1.0f;
output.position = mul(input.position, worldM);
output.position = mul(output.position, viewM);
output.position = mul(output.position, projectionM);
output.color = input.color;
return output;
}
我在“{”的第 2 行遇到语法错误
如果我这样做
matrix worldM;
matrix viewM;
matrix projectionM;
struct VertexInput
{
float4 position : POSITION;
float4 color : COLOR;
};
struct PixelInput
{
float4 position : SV_POSITION;
float4 color : COLOR;
}
PixelInput ColorVertexShader(VertexInput input)
{
PixelInputType output;
input.position.w = 1.0f;
output.position = mul(input.position, worldM);
output.position = mul(output.position, viewM);
output.position = mul(output.position, projectionM);
output.color = input.color;
return output;
}
我得到了一个意外的令牌“输出”
我不知道出了什么问题 在 HLSL 中编写着色器时,我仍然是个菜鸟
【问题讨论】:
标签: directx shader hlsl directx-11 vertex-buffer