unity 3d shader初接触shader和渲染管线

本文介绍了Unity3D中的Shader及其与渲染管线的关系。Shader是影响图像输出的关键,分为固定渲染管线和可编程渲染管线。Unity3D支持Vertex and Fragment Shader、Surface Shader和Compute Shader等类型,其中Surface Shader简化了编写过程。渲染管线包含应用程序、几何和光栅三个阶段,涉及顶点变换、光照计算和像素处理等步骤。
摘要由CSDN通过智能技术生成

shader和渲染管线

shader
shader中文意思着色器,是一种较为短小的程序片段,用于告诉图形硬件如何计算和输出图像,过去用汇编语言来编写,现在也可以用高级语言来编写。
Shader开发语言

HLSL: 主要用于Direct3D。平台:windows。

GLSL: 主要用于OpenGL。 平台:移动平台(iOS,安卓),mac(only use when you target Mac OS X or OpenGL ES 2.0)

CG:与DirectX 9.0以上以及OpenGL 完全兼容。运行时或事先编译成GPU汇编代码。
CG比HLSL、GLSL支持更多的平台。

Unity Shader采用CG/HLSL作为开发语言。

渲染管线
shader按渲染管线分类一般可分为固定渲染管线和可编程渲染管线。
渲染管线(Rendering Pipeline)代表Gpu渲染流程,渲染管线主要分为三个阶段:应用程序阶段,几何阶段,光栅阶段。

  • 应用程序阶段

    应用程序阶段,使用高级编程语言(C、C++、JAVA 等)进行开发,主要和CPU、内存打交道,诸如碰撞检测、场景图建立、空间八叉树更新、视锥裁剪等经典算法都在此阶段执行。在该阶段的末端,几何体数据(顶点坐标、法向量、纹理坐标、纹理等)通过数据总线传送到图形硬件。

  • 几何阶段

    几何阶段,主要负责顶点坐标变换、光照、裁剪、投影以及屏幕映射,该阶段基于GPU进行运算,在该阶段的末端得到了经过变换和

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值