Shader编程

管线渲染

定义:图形数据在GPU上经过运算处理,最后输出到屏幕的过程

1. 顶点处理: 接收模型顶点数据、坐标系装换

2. 图元装配: 组装面、连接相邻的顶点,绘制为三角面

3. 光栅化 :    计算三角面上的像素,并为后面着色阶段提供合理的插值参数(以及深度值)

4. 像素处理: 对每个像素区域进行着色、写入到缓存

5.  缓存:        一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存

 帧缓存:存储每个像素的色彩(缓冲)

 深度缓存Z-buffer:前后排序(深度信息,物体到摄像机的距离)

6. Draw Call  绘制调用:每帧调用显卡渲染物体的次数


什么是缓冲?

一个像素有如下缓冲

颜色缓冲Color buffer/prixel buffer: 储存该点即将显示的颜色,RGBA值

深度缓存 depth buffer/Z buffer: 储存该点的深度Z

模板缓存stencil buffer  : 通常作用限制渲染区域。更高级用法需结合深度缓存,例如某像素的模板缓冲值会随着其是否通过深度缓冲测试而改变


什么是图元装配(Primitive Assembly)

经过变换的顶点 被装配成几何(三角形等)图集 


什么是光栅化(栅格化)(Rasterization)

栅格化这个术语:可以用于任何将矢量图形转化成栅格图像的过程

在3D渲染中主要是指,三角形等图元(矢量)转化成像素碎片的过程。或者说决定哪些像素几何图元覆盖的过程。栅格化的结果是像素位置的集合和片段的集合


什么是光栅操作(Raster Operation)

指在碎片fragment处理后,在更新帧缓存前最后执行的一系列操作。通过包括裁剪,深度测试,alpha测试,alpha混合等。


Shader常见术语

Alpha 透明的(黑透白不透、灰色半透半不透)

Bump凹凸 (法线贴图)

Specular (高光)

Shader主要看Game视窗

Shader显示名称与Shader名不冲突


什么是GPU?

GPU:Graphic Processing Unit,中文翻译为“图形处理器”。显卡包括(GPU,显存,显卡BLOS,显卡PCB板)


什么是Shader?

Shader程序:GPU执行的,针对3D对象进行操作的程序

Shader编程有那几种?

CG:与DirectX 9.0 以上以及OpenGL 完全兼容。运行时或事先编译成GPU汇编代码

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

GLSL: 主要用于OPenGL。 平台:移动平台(IOS,Android),Mac(only use when you target Mac OS X or OpenGL ES 2.0)<

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值