计算机如何将对象渲染到屏幕上?


18

是否所有计算机图形都是使用多边形渲染的?我的意思是,某些计算机几何形状以数学形式表示为方程式(例如,CAD软件)。

在计算机可以正确地将可视化效果呈现到屏幕之前,计算机是否必须首先对这些几何进行细分?是否有其他方法可以在不对对象进行细分的情况下将图片显示到屏幕上?

编辑:我想更具体地专注于GPU。GPU的剂量如何?它需要什么样的输入,即GPU使用什么模型格式?它可以直接使用完美的数学表示法吗?还是可以在实际渲染到屏幕上之前对模型本身进行细分?或者确定GPU需要使用细分模型作为开始。

另外,我所说的细分是计算机将对象的数学表示分解为多边形(几乎总是三角形)的表面近似的方式。使用的多边形越多,曲面与实际对象的距离就越近。


4
这样一个有趣的问题!
r0ca 2010年

Answers:


2

这是您对@nik答案的评论:

绝大多数CAD系统都使用多边形(井三角形)来渲染其模型。

例如,他们将基于CSG(构造实体几何)B-rep(边界表示)模型以各种方式存储模型,但是当要显示时,这些模型将被切面,并将三角形发送到GPU进行绘制。

每个系统都有自己的解决方案,可以将模型分解为三角形。


7

我不确定您在问这个问题的好奇心如何,
但是,总的来说,我会将您引到Wikipedia Computer Graphics页面。

那里还有“计算机图形和动画的关键历史”链接。
您可以从其内容页面跳至感兴趣的部分。


更新:我想知道您的问题是否基于与此UnlimitedDetail网站相关的概念。

当今大多数3D图形都基于所谓的多边形系统。这是一个从称为多边形的小平面形状构建事物的系统。

...

3D图形中使用的三个当前系统是光线跟踪,多边形和点云/体素,它们各有优缺点。多边形运行速度快,但几何形状较差;光线跟踪和体素具有完美的几何形状,但运行速度非常慢。

等等...


+1提及计算机图形和动画的重要历史。很多东西值得阅读,但非常有趣;-)
Diskilla 2010年

我的好奇心通常会下降到很深,直到想法的背后是数学(尽管我不希望得到这么详细的答案,我只是想知道GPU的用途)。至于我的问题是什么,它具体涉及到CAD软件,以及它们如何在数学模型和您在屏幕上看到的内容之间进行转换(通过GPU渲染)。为什么?我只是好奇。
Faken

2

如果您真的希望深入研究GPU的机制和渲染技术,可以在网上找到以下书籍:

GPU Gems 3,Addison-Wesley Professional(2007年8月12日)

GPU Gems 3由NVIDIA开发人员教育经理Hubert Nguyen编辑。Hubert是一位图形工程师,在加入现任职位之前曾在NVIDIA演示团队工作。他的工作出现在GPU Gems(Addison-Wesley,2004年)和GPU Gems 2的封面上。

GPU Gems 3是最新的GPU编程示例的集合。它是关于使数据并行处理起作用的。前四个部分重点介绍GPU在图形,照明和阴影,渲染和图像效果方面的图形特定应用。第五和第六节中的主题通过提供非图形应用程序的具体示例扩大了范围,这些应用程序现在可以使用数据并行GPU技术来解决。这些应用程序是多种多样的,从刚体仿真到流体流动仿真,从病毒签名匹配到加密和解密,从随机数生成到高斯计算,应有尽有。

以前的版本也在线发布,仍然非常值得阅读:

GPU宝石:实时图形的编程技术,技巧和窍门,Randima Fernando编辑,2004年3月

GPU Gems 2:图形和计算密集编程技术,Matt Pharr编辑,2005年3月

Wolfgang Engel,Jack Hoxley,Ralf Kornmann,Niko Suni和Jason Zink的《编程顶点,几何和像素着色器》第二版,2008年12月

最后是一本不均匀的草稿,但在某些地方非常有价值。杰克·霍克斯利(Jack Hoxley)的照明一章详细介绍了各种照明模型,以及有效的着色器代码。


1

总是渲染东西意味着您使用多边形。它甚至被艺术家使用。多边形表示平面图。要创建三维物体,您总是要取几个多边形并将它们放在一起。您使用的平面图形越多,可以将更多细节添加到三维图形中。方程用于计算事物,例如物体的辐射率。

为了完全理解此过程,您应该阅读已经提到Wikipedia文章nik

编辑: 我不再确定我对“镶嵌对象”的含义的解释。如果可能的话,您能详细解释一下吗?


我所说的细分是指将一个固体对象分解为一系列近似于对象表面的平面多边形(几乎总是三角形)。三角形的数量越多,表示越接近对象的实际表面。
Faken

1

在计算的历史上,考虑到分辨率,准确性,刷新率和监视器的功能,不同的GPU以不同的方式实现了事情,并且随着时间的推移实现了新的和更有趣的API。

例如,某些GPU提供完整的3D世界视图表示接口,而其他GPU则功能较弱。

ASIC(及以后)是当今GPU如何发挥其魔力的核心。使得诸如复杂的虚拟机在子程序中运行这样复杂的能力成为一切魔术的原因。除镶嵌之外,还有表面映射,阴影以及在GPU逻辑中处理的更多功能。

希望这可以帮助!
-pbr

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.