美文网首页
Unity cg vertex and fragment sha

Unity cg vertex and fragment sha

作者: sakura_1 | 来源:发表于2019-02-11 13:36 被阅读0次

    原文链接:https://www.cnblogs.com/OrangeZhang/p/5009895.html

    Pragma vertex vert
    顶点着色器是一个着色器程序修改场景的几何形状,它执行在场景中的每个点,输出坐标投影,颜色,纹理和其他数据传递到片段着色器。指令 #pragma vertex [function name]用来定义顶点方法的名称。

    Pragma fragment frag
    片段着色器是一个着色器程序更改图像的属性在渲染窗口。它执行在每个像素,输出信息的像素的颜色。指令 #pragma fragment [function name]用来定义片段方法的名称。

    float4 vert(float4 v:POSITION) : SV_POSITION
    这句定义了顶点的方法,变量v包含了顶点的值,这个方法被场景渲染中的每个顶点调用。返回的值为顶点在屏幕中的位置的float4变量。使用四个浮点值用来在SV_POSITION中存储在一个2D窗口中的坐标位置。因为预计的几何投影是在齐次坐标,使用两个值的像素屏幕(x,y),一个值为深度(z),和一个其次坐标的值(z)。你可以将齐次坐标转换成3D坐标。但是你将会失去在未来获得的3D位置顶点的能力。同样你可以删除(z)值,但是你将会失去最终渲染时执行深度测试的能力。齐次坐标用于几乎所有的GPU。删除变量的顶点着色器输出着色器不代表任何的代码优化。反而会使代码变得不通用,并且变得更加难以理解。

    image.png

    相关文章

      网友评论

          本文标题:Unity cg vertex and fragment sha

          本文链接:https://www.haomeiwen.com/subject/nklqeqtx.html