我是CG的初学者,做简单的着色。我不明白这段代码是什么意思
float4 vert(float4 vertexPos : POSITION) : SV_POSITION {
...
}更确切地说,这一刻:我们宣布了类型为Float4的参数。问题:这是什么
:位置“ and this ":SV_POSITION"”
或者给出参考
提前感谢!
发布于 2015-06-03 21:38:46
只是觉得以下几点可能会有帮助。
来源:chapter02.html
struct C2E1v_Output {
float4 position : POSITION;
float4 color : COLOR;
};
C2E1v_Output C2E1v_green(float2 position : POSITION)
{
C2E1v_Output OUT;
OUT.position = float4(position, 0, 1);
OUT.color = float4(0, 1, 0, 1); // RGBA green
return OUT;
}2.1.6语义
一个冒号和一个特殊的单词,称为语义,跟随C2E1v_Output结构的位置和颜色成员。从某种意义上说,语义是将Cg程序绑定到图形管道其余部分的粘合剂。语义、位置和颜色指示Cg程序返回其输出结构时各自成员所提供的硬件资源。它们指示前面的变量如何连接到图形管道的其余部分。
位置语义(在这种情况下,在Cg顶点程序使用的输出结构中)是转换后的顶点的剪辑空间位置。以后的图形流水线阶段将使用与此语义相关的输出矢量作为顶点的后转换、剪辑空间位置,用于原始组装、裁剪和栅格化。您将在本章后面介绍剪辑空间,并在第四章中更正式地介绍。就目前而言,您可以将2D顶点的剪辑空间位置简单地看作是它在窗口中的位置。
这个上下文中的颜色语义就是Direct3D所称的“漫射顶点颜色”,而OpenGL称之为“主顶点颜色”。在栅格化过程中,三角形或其他几何原语的颜色插值取决于原语的每顶点颜色。
https://stackoverflow.com/questions/30630953
复制相似问题