GAMES101笔记 着色

本文详细介绍了WebGL中的着色过程,包括Blinn-Phong着色模型,其涉及漫反射、高光和环境光的计算。此外,还对比了flatshading、Gouraudshading和Phongshading三种不同的着色频率方法。
摘要由CSDN通过智能技术生成

着色(shading)

光栅化阶段将图元(通常是三角形)映射到屏幕上的像素,光栅化之后进入shading阶段(shading翻译为着色并不准确,shading不仅仅是着色,还包括光照、纹理、材质等等)以WebGL为例,就是将每个像素送入片段着色器(这里片段实际就是像素)从而确定像素的最终效果。

着色模型(shading model)

Blinn-Phong Reflectance Model是一种简单的shading model,而shader的工作就是实现shading model。 Blinn-Phong Reflectance Model表示:
(1)光可以分为漫反射光、高光、环境光
(2)shading是局部的!shading是局部的!shading是局部的!shaing是对一个point而言的

(1)Diffuse Reflection

漫反射条件:

就漫反射而言,当一束光照射到一个点上时,点的漫射光是均匀沿着四面八方的,能量完全一样,因此漫反射导致的表面的光照颜色对于各个角度去看都是一样的。

在这里插入图片描述

光漫反射的能量:

兰伯特定律告诉我们,一个平面上的点接受光能量的多少,却决于这个点的法线与光的角度。
在这里插入图片描述
因此我们定义,一个shading point(与观察角度方向无关)所接受的漫反射能量为: L d = k d ( I / r 2 ) m a x ( 0 , n ⋅ l ) L_d=k_d(I/r^2)max(0,n\cdot{l}) Ld=kd(I/r2)max(0,nl)其中 k d k_d kd 为漫反射系数(与材质有关), n n n 为法线, l l l 为入射光。

(2)Specular Term

某一点 point 的高光与入射光角度、视角有关,当视角越接近镜面反射角时,高光越强。
在这里插入图片描述
由于比较视角与近镜面反射角之间的夹角较为困难,我们引入一个半程向量 h h h 的概念,半程向量定义为视角向量与近镜面反射向量的和向量的单位向量
在这里插入图片描述
因此高光表示为:
在这里插入图片描述
p p p 决定高光的衰减坡度,如果 p p p 越大,高光衰减的越快,高光点越小;如果 p p p 越小,高光衰减的越慢,高光点越大

(3)Ambient Term

环境光照定义为一个常量,与其他任何因素无关。
在这里插入图片描述
Blinn-Phong Reflectance Model 最终表示为:
在这里插入图片描述
L = L a + L d + L s L=L_a+L_d+L_s L=La+Ld+Ls L = K a I a + k d ( I / r 2 ) m a x ( 0 , n ⋅ l ) + k s ( I / r 2 ) m a x ( 0 , n ⋅ h ) L=K_aI_a+k_d(I/r^2)max(0,n\cdot{l})+k_s(I/r^2)max(0,n\cdot{h}) L=KaIa+kd(I/r2)max(0,nl)+ks(I/r2)max(0,nh)
K d K_d Kd 是从表面的材质属性中获得,而不是从纹理中获取。在一些图形渲染中,漫反射系数也可以从由纹理贴图提供,纹理贴图可以包含材质属性信息。

着色频率(shading frequency)

在这里插入图片描述

(1)flat shading - shade each triangle

在 flat shading 中三角形的一个面只有一个法向量只有一种颜色,该法向量通过三个顶点的法向量插值求得。

(2)gouraud shading - shade each vertex

在 gouraud shading 中三角形的一个面内的颜色通过顶点的值插值求得。

(3)Phone shading - shade each pixel

在 Phone shading 中三角形的一个面内的像素法向量都由三个定点法向量插值获得。

  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
代码下载:完整代码,可直接运行 ;运行版本:2022a或2019b或2014a;若运行有问题,可私信博主; **仿真咨询 1 各类智能优化算法改进及应用** 生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化 **2 机器学习和深度学习方面** 卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断 **3 图像处理方面** 图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知 **4 路径规划方面** 旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化 **5 无人机应用方面** 无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配 **6 无线传感器定位及布局方面** 传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化 **7 信号处理方面** 信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化 **8 电力系统方面** 微电网优化、无功优化、配电网重构、储能配置 **9 元胞自动机方面** 交通流 人群疏散 病毒扩散 晶体生长 **10 雷达方面** 卡尔曼滤波跟踪、航迹关联、航迹融合

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小卡规划

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值