从零开始学习 MME 的 HLSL 编程(1)
本文由 简悦 SimpRead 转码, 原文地址 www.bilibili.com
本次对应第一节教程的文字版解释 float4x4 WVP : WORLDVIEWPROJECTION; 此代码表示命名 WVP 为世界视察投影变换矩阵,不清楚什么是变换矩阵可以查看:struct
本次对应第一节教程的文字版解释
float4x4 WVP : WORLDVIEWPROJECTION;
此代码表示命名 WVP 为世界视察投影变换矩阵,不清楚什么是变换矩阵可以查看:
struct VS_OUTPUT {
float4 Pos : POSITION;
};
此代码表示 VertexShader 将带有齐次坐标的位置输出,不清楚什么是齐次坐标的还可以戳下上面的文章来了解。
VS_OUTPUT Basic_VS(float4 Pos : POSITION)
此代码表示从原来的 VertexShader 的 Output 中获得位置信息
{
VS_OUTPUT Out;
Out.Pos = mul(Pos,WVP);
将位置信息和世界视察投影变换矩阵进行变换,变成屏幕看到的效果,不清楚变换方式的,可以看:
return Out;
输出变换后的顶点信息
}
float4 Basic_PS(VS_OUTPUT IN) : COLOR0
从 VertexShader 中拿到顶点信息,并且由之后的 PixelShader 过程上色
{
return float(1,1,1,1);
将顶点上色,颜色以 RGB(0-1 的浮点)和透明通道代表,此处是纯白色。不了解 RGB 的可以看:
}
technique MainTec
pass DrawObject {
VertexShader = compile vs_2_0 Basic_VS();
PixelShader = compile ps_2_0 Basic_PS();
}
}
technique MainTec_ss
pass DrawObject {
VertexShader = compile vs_2_0 Basic_VS();
PixelShader = compile ps_2_0 Basic_PS();
}
}
将之前写的代码进行编译,编译版本都是 2.0