12.3 CPU 与 GPU 的比对
把同一份场景交给 WebGL2 渲染,再与 S 层定点基线逐像素比对:MAE 0.5073、PSNR 46.95 dB、覆盖归属差异 0.08‰,与 12.1 的 CPU 浮点镜像 0.4963 落在同一噪声地板上。不一致像素按「共享边归属 0.0% / 插值精度 11.3% / 舍入 88.6%」三类归因,并如实交代本机后端是 ANGLE/SwiftShader 软件实现,不是真实 GPU。
tag
把同一份场景交给 WebGL2 渲染,再与 S 层定点基线逐像素比对:MAE 0.5073、PSNR 46.95 dB、覆盖归属差异 0.08‰,与 12.1 的 CPU 浮点镜像 0.4963 落在同一噪声地板上。不一致像素按「共享边归属 0.0% / 插值精度 11.3% / 舍入 88.6%」三类归因,并如实交代本机后端是 ANGLE/SwiftShader 软件实现,不是真实 GPU。
逐位相等在两个宿主之间不可能,容差必须可声明、可复算。本节把容差写成三条同时成立的判据——覆盖归属差异 ≤ 20‰、MAE ≤ 1.0、PSNR ≥ 30 dB,逐条给出阈值出处,并用同一份整数基线量出噪声地板与三条穿越点:太松会漏掉 2% 的全局偏置,太紧会把噪声本身判成错。
《计算机图形学》卷三《光线追踪与全局光照》附录 A:全卷共用的定点常数表(EPSILON、TRI_STRIDE、BVH 叶子容量、SplitMix64 的四个常数)、光追中间量的实测位宽上界(为什么 TS 侧必须全程 BigInt)、十个渲染算法的整数形式速查、采样与收敛参数表、三卷基线 sha256 与误差汇总,以及各章产物的数据集索引与复现命令。所有数字来自本机实跑。
《计算机图形学》卷三《光线追踪与全局光照》目录:16 章 48 节,把光还原成一个可估计的积分——光线求交与 BVH、阴影反射折射、蒙特卡洛积分与方差、路径追踪与渲染方程、重要性采样与多重重要性采样、辐射度与光子映射、体积渲染与 ray marching、SDF、收敛度量与停止准则,最后做跨语言数值一致与三卷总收官。本页给出分工、六档可运行性口径、卷三新基线与全书 16 章 48 节完整清单。
《计算机图形学》卷三《光线追踪与全局光照》全 50 篇,三卷本收官。卷一已经把装配、深度与覆盖封版成一组可复现的整数,卷二把颜色还原成可算的量,本卷把光还原成积分:第一部分(第 1–4 章)从光线的最小模型起步——光线的表示与求交、相机与主光线、递归与深度限制,球平面与三角形的求交、Möller–Trumbore 的数值稳定性、容差与自交,包围盒与 BVH、BVH 的构建与遍历代价,硬阴影与阴影光线、镜面反射与折射、递归的光线树;第二部分(第 5–8 章)把渲染写成蒙特卡洛估计——积分与估计、方差与收敛、分层与低差异序列,渲染方程、路径采样、无偏性与偏差,概率密度与权重、余弦加权与光源采样、多重重要性采样,间接光照、辐射度方法、光子映射;第三部分(第 9–12 章)处理介质、程序化几何与质量度量——体积渲染方程、ray marching、体积阴影与散射,噪声的构造、分形与地形、程序化场景的生成,SDF 的构造与布尔运算、ray marching 求交、SDF 的法线与软阴影,最后把噪声与收敛的度量、参考解与误差、采样的停止准则做成可验证的判据;第四部分(第 13–16 章)做数值一致、两路径对照与三卷总收官。按章节提供仿真、逻辑内核与原型;配套工程与累计快照已有验证;具体范围以对应目录说明为准,按章复现、全部事实与练习另行验收。全书围绕程序化场景《烛影山谷》与工具链 lantern 展开。
像素足迹是 UV 空间的平行四边形,过滤核取它的内切椭圆,半轴比就是各向异性比。本节从 UV 梯度算出椭圆、构造 ripmap,再量 N=1/2/4/8 的采样曲线:MAE 25.99 降到 19.76 且收益递减,ripmap 单次查表 11.00,代价是显存 ×3.88。
UV 是一对 Q16.16 定点数,落格子就是一次算术右移。本节把 wrap / clamp / mirror / border 四种寻址全做成整数运算——位与、钳位、向下取整的模、越界短路——再用一张自描述纹理把采样结果反查回 texel:64 列里只有 12 列四种模式给出同一结果。
把逐像素着色器的四张中间缓冲各自单独导出并断言:法线模长落在 [65533, 65537]、albedo 通道在 [70,220]、深度沿单三角形单调、覆盖率与解析解逐像素相同(43731 像素、差异 0)。法线图与 albedo 图编码后的 sha256 由 TypeScript 侧逐字节复现。
《计算机图形学》卷二《着色、光照与纹理》附录 A:全卷共用的 Q16.16 定点常数表(1/π、9/π、3/π)、逐像素层的量级上界推导、六个着色公式的整数形式速查(Lambert、Phong、Blinn-Phong、GGX、Smith、Schlick)、材质参数表、能量守恒残差汇总,以及各章产物的数据集索引与复现命令。所有数字来自本机实跑。
《计算机图形学》卷二《着色、光照与纹理》目录:16 章 48 节,只替换卷一封版的着色环节——逐顶点 Lambert 改为插值法线后逐像素求值,把光照模型、BRDF 与能量守恒、法线贴图、阴影、环境光遮蔽、微表面 PBR、sRGB 与色调映射、程序化纹理与后处理全部写成可逐像素断言的整数。本页给出分工、六档可运行性口径、卷二新基线与全书 16 章 48 节完整清单。
《计算机图形学》卷二《着色、光照与纹理》全 50 篇。卷一已经把装配、深度与覆盖封版成一组可复现的整数,本卷只替换着色环节:第一部分(第 1–4 章)从经验模型推到可断言的着色——Lambert 与漫反射、Phong 与高光、着色频率与插值,BRDF 与能量守恒、常见 BRDF 的定点化、材质的组合与混合,法线的变换、切线空间、法线贴图的解压与重建,阴影贴图的原理、分辨率偏差与走样、软阴影与 PCF;第二部分(第 5–8 章)处理间接与纹理——环境光遮蔽、SSAO 的采样与噪声、环境贴图与球谐,微表面理论、金属度-粗糙度工作流、能量守恒的验证,线性空间与 sRGB、色调映射、色彩管理的整数化,纹理坐标与寻址模式、过滤与 mipmap 的构造、各向异性过滤;第三部分(第 9–12 章)做程序化纹理与数值一致——值噪声与 Perlin、分形噪声与 fBm、程序化纹理的整数化,卷积与模糊、Bloom 与泛光、色调与调色,时间抗锯齿、抖动与蓝噪声、抗锯齿的度量,最后把浮点的容差口径、图像 digest 与误差度量、CPU 与 GPU 的比对做成可验证的判据;第四部分(第 13–16 章)把材质与光照工程化并装配成完整着色链路,做三种消费的联调并交付卷三。按章节提供仿真、逻辑内核与原型;配套工程与累计快照已有验证;具体范围以对应目录说明为准,按章复现、全部事实与练习另行验收。全书围绕程序化场景《烛影山谷》与工具链 lantern 展开。
《计算机图形学》卷一附录 A:scene_spec.json 的 71 个字段全表(相机、方向光、点光源、地形、球体、渲染参数,全部为整数)、Q16.16 与 Q6 子像素的定点约定、四条舍入铁律、定点不变量清单、两条一致性纪律的判据表,以及全书数据集索引与一个可跑的定点约定自检脚本。
《计算机图形学》卷一《几何、变换与光栅化》目录:16 章 48 节,把渲染从 API 调用还原成可算的整数——Q16.16 定点顶点变换、整数边函数覆盖判定、定点重心插值、深度缓冲、裁剪、抗锯齿与纹理映射全部定点实现,让 Python 与 TypeScript 产出逐字节相同的 PNG。本页给出与站内既有内容的分工、六档可运行性口径、《烛影山谷》场景总览与全书 16 章 48 节完整清单。
《计算机图形学》卷一《几何、变换与光栅化》全 50 篇。第一部分(第 1–4 章)把渲染还原成整数:渲染的最小模型与场景规格字段、最小渲染器骨架,向量运算的定点化与齐次坐标,模型/视图/投影矩阵与 MVP 合成,旋转矩阵、四元数与朝向插值;第二部分(第 5–8 章)处理从世界到屏幕的每一步:针孔相机与透视正交投影、视锥与近远平面,整数边函数与覆盖判定、重心坐标插值、深度插值与 z-buffer,DDA 与 Bresenham 及直线光栅化的误差界,视锥裁剪与近平面多边形重建;第三部分(第 9–13 章)做可见性与数值一致:背面剔除与朝向的精确判定、深度缓冲的精度分布与逆转 z、采样定理与 MSAA 的 CPU 实现、UV 与透视校正插值及 mipmap,最后把定点与浮点的分歧、边函数规则的整数化、跨语言逐位一致做成可验证的判据;第四部分(第 14–16 章)把中间缓冲可视化并装配成完整管线,做三种消费的联调并交付卷二。按章节提供仿真、逻辑内核与原型;配套工程与累计快照已有验证;具体范围以对应目录说明为准,按章复现、全部事实与练习另行验收。全书围绕程序化场景《烛影山谷》与工具链 lantern 展开。
按领域与学习阶段整理的在线电子书与创作手记。覆盖 Rust、Lua、TypeScript、Python、Java(Spring Boot)、Go、AI Agent、MMO 服务器开发(Go 主线 + Java 21 双栈对照,四卷本 180 篇)、游戏开发(含 Cocos 四卷本与《游戏引擎实现原理》四卷本)、SLG 游戏产品设计(产品架构与经济系统 + 数值平衡与商业化运营,两卷本 100 篇)、小游戏开发实战(市场品类与产品设计 + 引擎实现与体验打磨 + 上线变现与长线运营 + 商业运营实战 + 跨平台发行与出海,五卷本 250 篇)、游戏美术与技术美术(美术制作与视觉规范 + 技术美术与管线工程 + 风格与品类美术实战,三卷本 150 篇)、游戏设计(玩法机制与可执行规格 + 策略、涌现与体验度量 + 原型、可玩性与品类,三卷本 150 篇)、计算机图形学(几何、变换与光栅化 + 着色、光照与纹理 + 光线追踪与全局光照,三卷本 150 篇)、叙事策划与叙事工艺(叙事结构与可执行规格 + 叙事引擎与分支系统 + 叙事体验与路径度量,三卷本 150 篇)与文学创作,从阅读指南进入,或按全书目录查找章节。
系统覆盖 WASM 在高性能浏览器游戏的落地:为什么游戏需要 WASM + WebGPU、Emscripten/emscripten 工具链编译 C++ 游戏、WebGPU 渲染管线(着色器/缓冲区/纹理)、WASM 与渲染的数据桥(共享内存/零拷贝)、wasm-bindgen + wgpu 的 Rust 方案、游戏循环与帧同步、加载优化与资产管道,以及性能基准与工具链对比。
从零搭建完整的 GLFW+GLAD 跨平台 OpenGL 渲染项目。覆盖窗口创建、Core Profile 上下文、输入处理、HiDPI 支持、多窗口、ImGui 集成、CMake 跨平台构建与常见问题解决方案,附有完整可编译代码。