专栏首页Unity ShaderShader初学笔记:vertex/fragment渲染过程
原创

Shader初学笔记:vertex/fragment渲染过程

Shader "ShaderName"

{

Properties

{

...

}

SubShade

{

Pass

{

CGPROGRAM

#pragma vertex vert //对应下面的vert函数,得到转换坐标系后的顶点信息

#pragma fragment frag//对应后面的frag函数,通过自定义的算法,将逐个像素运算并返回该像素的颜色值。

v2f vert (appdata v)

{

...

}

fixed4 frag (v2f i) : SV_Target

{

...

}

ENDCG

}

}

}

图片来自https://blog.csdn.net/candycat1992/article/details/40212735

渲染几何体时,系统获取几何体顶点,作为vert函数的输入参数。

vert函数要实现顶点坐标系的转换,得到转换后的顶点、uv等。

系统对vert函数得到的结果进行插值,并作为frag函数的输入参数。

frag函数要实现对每个像素的计算,计算结果为该像素的颜色。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Shader初学笔记:简单色块红橙黄绿蓝靛紫白灰黑

    o.vertex = UnityObjectToClipPos(v.vertex);

    clawclaw
  • Shader初学笔记:简单参数传入随机颜色

    float4 vertex : POSITION;

    clawclaw
  • Shader初学笔记:一种三维等值线的算法

    把反距离加权算法转换到三维空间,是不是很方便的算出三维空间下的等值线了呢,再结合Shatter Toolkit插件进行剖切,修改修改代码。应该可以解决地层模型任...

    clawclaw
  • GCC升级自动化

    AI之禅
  • 从 0 开始学习 JavaScript 数据结构与算法(十二)图

    在计算机程序设计中,图也是一种非常常见的数据结构,图论其实是一个非常大的话题,在数学上起源于哥尼斯堡七桥问题。

    XPoet
  • 5.2.4 邻接多重表

    在邻接表中,容易求得顶点和边的各种信息,但在邻接表中求两个顶点之间是否存在边,或需要对边执行删除等操作时,需要分别在两个顶点的边表中遍历,效率较低。

    week
  • 使用一句 git 命令将仓库的改动推送到所有的远端

    git 支持一个本地仓库包含多个远端(remote),这对于开源社区来说是一个很重要的功能,可以实时获取到最新的开源代码且能推送到自己的仓...

    walterlv
  • Java数据结构和算法(十五)——无权无向图

      前面我们介绍了树这种数据结构,树是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合,把它叫做“树”是因为它看起来像一棵倒挂的树,包括二叉树...

    IT可乐
  • 图(graph) 原

    图是非线性数据结构,是一种较线性结构和树结构更为复杂的数据结构,在图结构中数据元素之间的关系可以是任意的,图中任意两个数据元素之间都可能相关。

    云飞扬
  • OpenGL自制游戏引擎-HelloTriangle

    Pipeline: 开始绘制图形之前,我们必须先给OpenGL输入一些顶点数据,OpenGL不是简单地把所有的3D坐标变换为屏幕上的2D像素;OpenGL仅当...

    祝你万事顺利

扫码关注云+社区

领取腾讯云代金券