尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
GAMES101: Lecture 7: Shading 1(Illumination, Shading and Graphics Pipeline) ppt笔记
Z-Buffer深度缓存z-buffer指每个采样像素储存z值最小的值即离镜头最近的值并用两个缓存维护遮挡信息frame buffer储存颜色值 depth buffer(z-buffer)储存深度深度缓存发生在像素上重要我们假设z永远是正数值更小则距离更近深度缓存算法z-buffer algorithmfor(each triangle T)for(eachsample(x,y,z)in T)if(zzbuffer[x,y])// closest sample so farframebuffer[x,y]rgb;// update colorzbuffer[x,y]z;// update depthelse;// do nothing, this sample is occluded时间复杂度为O(n)n为渲染的三角形个数假设每个三角形覆盖常数个像素非常重要的算法在所有GPU硬件中都有实现Shading着色Shading是对物体应用一种材质的过程着色并不会带来阴影阴影由光线追踪等其他技术生成Blinn-Phong Reflectance Model漫反射着色Lambertian(Diffuse) ShadingLdkd⋅Ir2⋅max⁡(0,n⋅l)L_d k_d \cdot \frac{I}{r^2} \cdot \max(0, n \cdot l)Ld​kd​⋅r2I​⋅max(0,n⋅l)下面解释公式各部分的原理1.蓝色正方体的黑色面接受到的光照的能量与其法线与光线所成夹角有关夹角越小光线接近垂直照射表面光照能量大法线n⃗\vec{n}n与光线l⃗\vec{l}l均为方向向量夹角θ\thetaθ黑色面的单位面积接受到的光照能量与cosθl⋅ncos\thetal \cdot ncosθl⋅n成正比排除cosθ0cos\theta 0cosθ0的情况2.点光源向周围散发的光照能量在球壳上每一点能量相同随距离增大逐渐衰减假设在距离点光源单位距离处能量为III距离点光源距离为rrr处能量为I/r2I/r^2I/r23.kdk_dkd​反映了物体表面对光线的反射能力白色反射能力强数值大得到的最终结果大黑色kd0k_d0kd​0不反射光
RELATED

相关推荐

2026年国内外最新10款AI写小说软件(持续更新!)

2026年国内外最新10款AI写小说软件(持续更新!)

今天给大家盘点一下26年国内外最新、最实用的10款ai写小说工具。 作为写了几年网文的过来人,深知卡文、想不出人名、大纲崩盘有多痛苦。市面上测试了不下几十款工具,今天挑出10款真正能帮上忙的写小说软件。觉得有启发的小伙伴还请点赞收藏支持&#xf…

📅 2026/8/23 17:17:20
宝可梦传说 Z-A | 全DLC+内置金手指 双端免装中文懒人包

宝可梦传说 Z-A | 全DLC+内置金手指 双端免装中文懒人包

想搓 ZA 但一想到"配 Ryujinx 固件密钥EDEN 驱动金手指 JS 文件"一套下来头大?这次的 ZA PC/安卓双端中文免装整合就是给懒人准备的——全 DLC(《超次元爆涌》胡帕异次元密阿雷超古代御三家超雷丘 XY 双超)齐 ,内置金手…

📅 2026/9/8 15:34:39
告别卡文断更,10款爆火的 AI 写小说工具实测合集【7月最新指南】

告别卡文断更,10款爆火的 AI 写小说工具实测合集【7月最新指南】

很多新手朋友新手如何开始写小说,常常卡在没有思路、不会搭建完整小说大纲、缺少优质小说的素材这几个难题上。市面上的AI写小说工具、写小说软件五花八门,很多人跟风下载后发现不好用、不贴合网文创作,白白浪费时间。作为常年码字的网文作者…

📅 2026/9/11 4:14:37
MORE NEWS

更多资讯

📰

Java超市管理系统:Servlet+DAO+MySQL构建进销存与事务实战

简介:基于Eclipse与MySQL开发的Java超市管理系统,面向Java学习者、毕业设计者及零售信息化入门人员,覆盖商品进销存、销售管理、采购跟踪、数据统计与管理员/收银员双角色权限控制等核心业务,可帮助读者理解企业级JavaWeb项目的基…

📰

运营人本地AI工作流:Codex+Obsidian手动部署实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

基于BERT的图书多分类实战:从数据清洗到微调全流程

简介:基于BERT的Python图书多分类课程设计项目,以预训练语言模型为核心,面向需要完成NLP课程设计、期末大作业或入门文本分类的开发者。压缩包共16个文件,含9个Python源码、2个pyc编译缓存、1个README说明及4个Git相关文件&#x…

📰

Spring Boot + UniApp智能笔记实战:全栈开发与小程序多端部署

简介:这是一套基于SpringBoot与Vue、Uniapp技术栈的智能笔记应用前后端分离项目,适合正在学习Java后端、小程序或Vue前端开发的初学者,也可用于毕业设计、课程设计、工程实训或初期项目二次开发。压缩包共681个文件,约11.76MB&…

📰

Flutter+鸿蒙开发跨平台井字棋游戏实战

1. 项目概述:鸿蒙Flutter跨平台井字棋游戏井字棋作为经典的策略游戏,是学习游戏开发的绝佳起点。本文将带你使用Flutter框架开发一款兼容鸿蒙系统的跨平台井字棋游戏,实现"一次开发,多端运行"的目标。这个项目特别适合想…

📰

从vibe coding失控到可控:9个开源App打造反焦虑工作流

最近我朋友圈里聊最多的一个词就是 vibe coding。代码交给 AI 写,人负责描述需求、复制报错、然后再祈祷一次能过。听起来很爽,但真上手的人都知道,爽不过三天:项目越写越大,AI 开始“失忆”,同一个 bug 修…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬