webgl的渲染管线

webgl的渲染管线

webgl渲染管线本质上是将3D数据转化为屏幕像素的精密流水线,其设计融合光栅化,几何变化,像素处理的智慧,核心目标是以GPU并行能力实现高性能的渲染。

第一阶段 :顶点处理

输入原始顶点数据 (例如;位置,颜色,UV坐标等)。
顶点着色器处理,将顶点位置坐标 乘以 (MVP矩阵),即模型、视图,投影变换矩阵

const vertexShader = `gl_Position = a_Position *u_ModelMaterix * u_ViewMaterix * u_ProjMatrix`;

计算光照,顶点动画等自定义逻辑。
输出:裁剪空间坐标,与传递至片元阶段的数据 (varying 变量)。

第二阶段 : 图元组装与光栅化

图元组装:将顶点连接为三角形、线段等基本图元
裁剪 : 剔除视锥体外的图元。
屏幕映射 : 将NDC坐标转换位屏幕坐标
光栅化 : 将连续几何图元离散为片元。(像素的候选者)

第三阶段 : 片元处理

核心处理 :片元着色器

  • 接收插值后的varying数据 (如UV坐标,法线)
  • 计算最终的像素颜色,例如使用了纹理,添加了灯光 (需要纹理采样,光照模型)
  • 逐片元操作
  •   	深度测试  ----> 解决遮挡关系
    
  •   	模版测试  -----> 特殊掩码效果
    
  •   	混合   ------> 实现透明度
    

webgl渲染管线是一个从顶点到像素的精细化流水线,可分为顶点处理,图元光栅化,片元处理三大阶段。开发者通过编写顶点着色器控制几何变换,再经过光栅化将图元离散为片元,最后有片元着色器决定像素的颜色,辅以深度、模板测试等固定功能完成最终绘制。这一过程充分利用GPU并行架构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值