图形管道

浏览百科全书

在三维图形绘制技术中,将三维图像转换为二维屏幕所需要的阶段。阶段负责处理最初提供的信息,就像用于描述要呈现的内容的几何原语的端点(顶点)或控制点的属性一样。3D图形中典型的基元是线和三角形。每个顶点提供的属性类型包括x-y-z坐标、RGB值、透明度、纹理、反射率和其他特征。

装配线

图形渲染就像一条制造流水线,每个阶段都在前一个阶段的基础上增加一些东西。在图形处理器中,所有阶段都是并行工作的。由于这种管道架构,今天的图形处理单元(gpu)每秒执行数十亿次几何计算。它们被越来越多地设计为具有更大的内存和更多的阶段,因此可以同时处理更多的数据。

我们的目标

对于游戏玩家来说,全速逼真的渲染是目标,而人体皮肤和面部表情是最困难的。尽管市场上总是有更快的适配器、更大的内存和更先进的电路,可以更逼真地呈现3D动作,但到目前为止,还没有一款游戏能让人相信屏幕上出现了真人,除了可能只有几秒钟。

管道 这些是现代图形处理单元(GPU)典型流水线中的各个阶段。(插图由NVIDIA公司提供。)

总线接口/前端

系统接口,用于发送和接收数据和命令。

顶点处理

将每个顶点转换为2D屏幕位置,并且可以应用照明来确定其颜色。一个可编程的顶点着色器使应用程序能够执行自定义转换的效果,如扭曲或变形的形状。

剪裁

这将删除在2D屏幕视图中不可见的图像部分,例如对象的背面或应用程序或窗口系统覆盖的区域。

原始组装,三角形设置

顶点被收集并转换为三角形。生成的信息将允许后期准确地生成与三角形相关的每个像素的属性。

光栅化

三角形被称为“片段”的像素填充,如果像素没有变化或被隐藏,这些像素可能会或不会出现在帧缓冲区中。

阻塞扑杀

移除场景中被其他物体隐藏(遮挡)的像素。

参数插值

基于颜色、雾度、纹理等,计算每个栅格化像素的值。

像素着色器

这个阶段为片段添加纹理和最终的颜色。也称为“片段着色器”,可编程像素着色器使应用程序能够结合像素的属性,如颜色,深度和屏幕上的位置,以用户定义的方式与纹理生成自定义的着色效果。

像素引擎

将最终的片段颜色,其覆盖范围和透明度与帧缓冲区中存储在相关2D位置的现有数据进行数学组合,以生成存储在该位置的像素的最终颜色。输出是像素的深度(Z)值。

帧缓冲控制器

帧缓冲控制器接口到用于保存屏幕上显示的实际像素值的物理内存。帧缓冲存储器也经常用于存储图形命令、纹理以及与每个像素相关的其他属性。

你会喜欢的PCMag故事

Baidu
map