据我所知,为了创建顶点着色器和像素着色器,我需要在.fx或.hlsl文件中创建一个函数。但是创建这样一个着色器的语法有点令人困惑。
例如,如果我创建一个像这样的顶点着色器..
float4 Vertexshader(float4 Position : POSITION)
{
return Position;
}
: POSITION
对参数做了什么?我假设你通过填写D3D11_INPUT_ELEMENT_DESC
结构创建了一个“语义”?
此外,如果我创建这样的结构
struct VS_OUTPUT
{
float4 position : SV_POSITION;
};
: SV_POSITION
究竟对结构中的成员position
做了什么?