几何、地形与程序化表面:16篇复现
以出版社目录和现代GPU证据复现16篇GPU Pro核心技术。
先预测,再建立证据
先预测:如果只把原篇API名替换成现代接口,哪些数学关系、数据顺序、精度和性能假设可能已经悄悄改变?从早期tessellation、NURBS和规则几何,到GPU地形、草、雪与Catmull-Clark,核心不是顶点更多,而是误差、邻接、数据驻留和跨Pass一致性。 本页用、、、、固定范围与验收语言。
官方范围与唯一归属
来源:GPU Pro 1 publisher TOC · GPU Pro 2 publisher TOC · GPU Pro 3 publisher TOC · GPU Pro 4 publisher TOC · GPU Pro 6 publisher TOC · GPU Pro 7 publisher TOC。以下原篇只在本主题拥有一个主归属;其他页面可以引用,但不得重复计入覆盖。
GPU Pro 1 · 5篇
- GPO-V1-03 · As Simple as Possible Tessellation for Interactive Applications:以patch控制点和屏幕误差生成细分因子,确保共享边一致并同步位移与法线。
- GPO-V1-04 · Rule-Based Geometry Synthesis in Real-Time:把生成规则映射到GPU拓扑与属性流,验证容量上界、确定性和生成成本。
- GPO-V1-05 · GPU-Based NURBS Geometry Evaluation and Rendering:在GPU计算NURBS基函数、曲面位置和导数,验证参数域边界、法线与细分误差。
- GPO-V1-06 · Polygonal-Functional Hybrids for Computer Animation and Games:组合显式多边形与函数表面,明确求值域、连接边界和动画参数。
- GPO-V1-07 · Quadtree Displacement Mapping with Height Blending:从高度或向量位移重建表面,核对采样LOD、边界连续、轮廓和阴影。
GPU Pro 2 · 2篇
- GPO-V2-03 · Procedural Content Generation on the GPU:把生成规则映射到GPU拓扑与属性流,验证容量上界、确定性和生成成本。
- GPO-V2-06 · Large-Scale Terrain Rendering for Outdoor Games:按层级块组织地形或海面,处理流送、接缝、相机精度、修改和物理同步。
GPU Pro 3 · 3篇
- GPO-V3-01 · Vertex Shader Tesselation:围绕几何、地形与程序化表面还原本篇的输入、核心变换、边界、结果与成本证据。
- GPO-V3-02 · Real-time Deformable Terrain Rendering:按层级块组织地形或海面,处理流送、接缝、相机精度、修改和物理同步。
- GPO-V3-03 · Optimized Stadium Crowd Rendering:用实例、LOD和可见性控制大规模几何,验证动画数据、过度绘制和最坏视角。
GPU Pro 4 · 1篇
- GPO-V4-01 · GPU Terrain Subdivision and Tessellation:以patch控制点和屏幕误差生成细分因子,确保共享边一致并同步位移与法线。
GPU Pro 6 · 4篇
- GPO-V6-01 · Dynamic GPU Terrain:按层级块组织地形或海面,处理流送、接缝、相机精度、修改和物理同步。
- GPO-V6-02 · Bandwidth Efficient Procedural Meshes in the GPU via Tessellation:以patch控制点和屏幕误差生成细分因子,确保共享边一致并同步位移与法线。
- GPO-V6-03 · Real-Time Deformation of Subdivision Surfaces on Object Collisions:以patch控制点和屏幕误差生成细分因子,确保共享边一致并同步位移与法线。
- GPO-V6-06 · Grass Rendering and Simulation with LOD:用实例、LOD和可见性控制大规模几何,验证动画数据、过度绘制和最坏视角。
GPU Pro 7 · 1篇
- GPO-V7-02 · Catmull–Clark Subdivision Surfaces:以patch控制点和屏幕误差生成细分因子,确保共享边一致并同步位移与法线。
核心模型与不变量
从早期tessellation、NURBS和规则几何,到GPU地形、草、雪与Catmull-Clark,核心不是顶点更多,而是误差、邻接、数据驻留和跨Pass一致性。 先从输入、输出、坐标或数据域、迭代顺序和误差判据写模型,再讨论API迁移。任何优化都必须能指出它保持、近似或放弃了哪条关系。
公式中的量必须给出范围、单位、空间、精度和生产者。画面相似不代表算法等价;数值一致也不代表带宽、时序和设备边界相同。
最小现代探针
float tessFactor = ScreenErrorToTessFactor(projectedError);探针只暴露一个变量或阶段。先用常量、解析输入和小规模CPU参考确认正确,再逐步恢复纹理、变体、并行和时间复用。
历史载体到现代路径
original: volume + article + API/hardware assumptions
invariant: equation + data dependency + boundary
reference: CPU, analytic, offline, or original trend
modern: shader/compute path + explicit translation
proof: intermediate buffers + image/numeric diff + GPU capture迁移报告必须区分完全等价、受控近似和不可直接迁移。旧式fragment pass、DirectX 9、OpenGL ES、CUDA或OpenCL接口可以变化,但读写重叠、同步、采样边界和精度不能被省略。
性能、兼容与失败边界
固定设备、驱动、分辨率、场景、帧阶段和统计窗口,分别报告CPU提交、GPU时间、外存流量、显存峰值和画质误差。对移动、桌面和多GPU路径使用各自真实设备,不用名称推断快慢。
{"source":"official article id","correctness":"reference diff","compatibility":"api and device matrix","performance":"end-to-end metrics","failure":"minimal replay"}- 固定卷号、篇名、来源、原始平台和输入输出。
- 写出核心不变量、CPU或离线参考以及现代GPU路径。
- 构造正常、边界、退化和超容量输入,保存中间证据。
- 在目标设备重放,记录图像或数值误差和端到端成本。
常见误区
练习
本章回顾
几何、地形与程序化表面页承载16篇唯一原文;每篇都回到问题、不变量、现代实现、边界和证据。