我希望使用HLSL编写像素着色器,在三角形对上渲染一个圆。这里link有一些伪代码,但是在实现时遇到了一个又一个的问题。由于我要在Windows RT上运行,因此我只能使用Direct3D v11 API的DirectX 9.3成员。
着色器的一般形状是什么?例如,应该向主方法传递哪些参数?
非常感谢任何建议或可用的代码!
着色器的一般形状是什么?例如,应该向主方法传递哪些参数?
非常感谢任何建议或可用的代码!
TEXCOORD0
:float4 PixelShaderFunction(float2 texCoord : TEXCOORD0) : COLOR0
{
float dist = texCoord.x * texCoord.x
+ texCoord.y * texCoord.y;
if(dist < 1)
return float4(0, 0, 0, 1);
else
return float4(1, 1, 1, 1);
}
1
作为半径平方(即在纹理坐标中测量的半径为1的圆)。所有圆内的点都是黑色的,而外部则是白色的。