1.计算机如何渲染几何物体
现实物体 → 计算机屏幕完整流程(通俗版)
现实世界一个实物(比如一个零件、杯子),计算机不能直接看见它。全部是靠数字描述 + 一层层计算,最后变成屏幕上的像素。 整个链路分为4大步:几何建模 → 场景描述 → 渲染计算 → 输出到屏幕。
1、第一步:把现实物体,变成计算机能懂的数字模型(建模)
计算机不认识“杯子”这个概念,它只认数字。 现实物体是连续光滑的曲面,电脑用大量小三角面片(三角形网格)去贴出物体外形,这就是三角网格模型。
现实物体 → 离散三角面片([[2.为什么一定是三角形,其他形状不行吗?]])
- 每个三角形:存3个顶点的三维坐标(x,y,z)
- 每个顶点额外附带:颜色、法向量(朝向)、纹理坐标
- 一堆三角形拼在一起,就构成物体的外壳。
举例子:一个圆球,不是存一个数学球体公式,是几百上千个小三角拼出来一个近似球形。 工业软件里也有另一套:精确几何(边界表示B‑rep)([[3.B-rep 是什么]]),存储原始曲面方程、圆角、倒角,不是三角面,用于CAD设计;要显示渲染的时候,再把B‑rep转成三角网格,这个过程叫网格化/三角化。
简单区分:
- CAD存储:B‑rep精确几何,用来做设计、计算尺寸、加工
- 渲染显示:必须转成三角网格,显卡只吃三角形
2、第二步:搭建完整虚拟场景
光有物体顶点还不够,还要把整个环境搭出来:
- 物体空间位置:这个模型放在场景哪个坐标,旋转多少、缩放多大(模型变换)
- 相机(虚拟眼睛):你从哪个角度看这个物体,相当于你的眼睛。定义相机位置、朝向、视野大小。
- 光源:场景里灯光在哪,什么颜色亮度。没有灯光模型就是一片黑。
- 材质:物体是什么材质,金属、塑料、橡胶,反光强不强。
这一步全部是数学矩阵运算:平移、旋转、缩放矩阵,把物体局部坐标,转换到世界坐标,再转到相机视角坐标。
3、第三步:渲染核心:把3D数据变成2D图片(光栅化)
显卡干的核心活:3D三角形 → 屏幕上的像素。
- 投影:把三维的三角形,根据相机,投影到虚拟二维画布,就像人眼睛成像,近大远小。
- 裁剪:不在镜头视野里面的三角形直接扔掉,不计算。
- 光栅化:把三角形“填格子”,找出屏幕上哪些像素属于这个三角形。
- 片段着色:对每一个像素点做计算:结合灯光、材质、法向量,算出这个像素最终应该是什么颜色。
- 深度测试(Z‑buffer):解决遮挡问题。比如物体A挡在物体B前面,离相机更近的像素保留,被挡住的直接丢弃。
经过这一步,就生成一张完整二维位图(一堆像素颜色)。
补充两种渲染路线:
- 光栅化(主流实时渲染,工业软件视图窗口):速度快,拖动旋转模型立刻刷新,OCCT、VTK底层都是这套。
- 光线追踪(离线渲染):模拟真实光线反弹,照片级效果,慢,一般用于出效果图,不做交互视图。
4、第四步:送到显示器显示
渲染出来的像素图像,存到显卡的帧缓冲区。 显卡把帧缓冲区的数据输出给显示器,屏幕上每个像素点亮对应颜色,你就看到屏幕上的模型。

浙公网安备 33010602011771号