我是靠谱客的博主 轻松小甜瓜,最近开发中收集的这篇文章主要介绍图形绘制系统的体系结构总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最初制作图形系统的目的是什么?
最初,制作专用图形系统的目的主要是为了把通用计算机从不间断刷新显示器的任务中解放出来。在主计算机与显示器之间增加的显示处理器模块,具有传统的体系结构,但增加了在显示器显示图元的指令。这样生成图像的指令可以在主计算机中集中存储,然后发送到显示处理器。这些指令可以作为显示列表存储到显示处理器自己的存储器中。然后,显示处理器会以足够的速率来重复的执行显示列表中的指令,从而避免闪烁,这样主计算机就可以执行其他任务了。

什么是系统的吞吐量?
数据通过系统的速率,称为系统的吞吐量(throughput)。

什么是系统的延迟?
数据通过系统所需的时间,称为系统的延迟(latency)。在评估流水线的性能时,必须对延迟和吞吐量进行权衡。

在图形学中,流水线的处理方式优势在哪里?
流水线的优势在于对许多数据进行相同操作时,它能显著缩短计算时间。这也是它被应用在计算机图形学中的原因,因为图形学需要以相同的方式处理数量巨大的顶点和像素。

场景的几何数据(geometry)主要由什么构成?
图元的类型和顶点集。因为场景中的对象是由一组组图元组成的,而每个图元又包含一组顶点。

绘制流水线的4个主要步骤是什么?
顶点处理、裁剪和图元组装、光栅化、片元处理。

顶点处理模块的主要功能是什么?
1、执行坐标变换
2、计算每个顶点的颜色值

成像过程中,坐标变换的作用?
在成像过程中,有许多步骤进行的都是坐标系的变换。比如在虚拟照相机成像模式里,观察的一个主要功能是把对象从其被定义的坐标系下的表示变换到照相机坐标系下的表示。再如,不论在什么坐标系下的表示,最终必须转换成在显示器坐标系下的表示。

为什么变换操作适用于流水线体系结构。
因为坐标系下的每一次变换都可以用一个矩阵来表示。坐标系的多次变换可以表示为矩阵的相乘,于是多个矩阵通过相乘就合并为一个矩阵。这样用一个矩阵乘以另一个矩阵得到第三个矩阵,一个变换序列明显非常适合于用流水线体系结构实现。此外,由于计算机图形学中使用的矩阵总是小尺寸的(4*4),我们还可以在流水线的变换模块中进行并行计算。

为什么我们必须进行裁剪?
因为成像系统不可能一次对整个场景进行成像,基于这个限制,我们必须进行裁剪。

如何对虚拟照相机的视域进行裁剪?
这是通过裁剪体来实现的。位于裁剪体内部的对象投影后可以成像,而位于裁剪体外部的对象则不会成像,我们说它们被裁剪掉了。跨越裁剪体边界的对象在图像中是部分可见的。我们会通过一些高效的裁剪算法进行处理。

为什么我们需要进行图元装配?
因为裁剪必须针对逐个图元进行,而不是针对逐个顶点。因此,在绘制流水线的这个阶段里,在裁剪执行之前,我们必须把顶点组装成像线段和多边形这样的图元。

裁剪后的图元与帧缓存中的存储信息有什么差别?
裁剪模块得到的图元是用顶点表示的,而帧缓存中存储的是像素。它们之间还必须做进一步的处理。

光栅化模块进行的操作是什么?
该模块对每个图元输出一组片元。片元是携带相关信息的潜在像素,片元所携带的信息包括它的颜色和位置,以及深度等信息。

什么是片元处理?
这是绘制流水线的最后一个模块,利用光栅化模块生成的片元来更新帧缓存中的像素,这就是片元处理。如果应用程序是生成的是三位数据,那么一些片元是不可见的,因为它们所定义的表面在其他表面的后面。

最后

以上就是轻松小甜瓜为你收集整理的图形绘制系统的体系结构总结的全部内容,希望文章能够帮你解决图形绘制系统的体系结构总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部