博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《OpenGL超级宝典(第5版)》——第1章,第1.3节3D图形的常见用途
阅读量:7057 次
发布时间:2019-06-28

本文共 1653 字,大约阅读时间需要 5 分钟。

1.3 3D图形的常见用途

在现代计算机应用程序中,三维图形具有广泛的应用。实时3D图形的应用范围包括交互式游戏和模拟以及数据的可视化显示(供科学、医学或商业应用)。高端3D图形在电影以及技术和教育出版物中也具有广泛的应用。

1.3.1 实时3D

如前面所述,实时3D图形是指活动的并与用户进行交互的图形。实时3D图形最早的用途之一是军事飞行模拟器。即使到了今天,飞行模拟器仍然为许多业余爱好者所热衷。图1.10所示显示了一个流行的飞行模拟器的屏幕截图,它使用OpenGL进行3D渲染(www.x-plane.com)。

98cd831cb912124f841d0c961d715e7d989bcfb3

图1.10 一个基于OpenGL的飞行模拟器,由x-plane.com提供

在个人计算机领域,3D图形的应用几乎没有止境。目前最为常见的用途或许是计算机游戏。今天,几乎所有发行的游戏都要求PC装有3D图形卡才能够运行。虽然3D图形在科学视觉和工程应用中也非常流行,但价廉物美的3D硬件的大量涌现使得这些应用空前流行。商业应用程序也利用了3D硬件的新功能,引入了越来越复杂的商业图形和数据库挖掘可视化技术。即使现代的GUI也受到了它的影响,开始利用3D硬件的功能。例如,新的Macintosh OS X使用OpenGL对所有窗口和控件进行渲染,从而创建了功能强大、引人入胜的可视化界面。

图1.11至图1.15所示展示了现代个人计算机上无数3D应用中的一些例子。这些图像绝大多数都是用OpenGL实时渲染的。

1bb9eff1dfe699753e82557b98203aa83363d28c

图1.11 用于计算机辅助设计(CAD)的3D图形(图像由Software Bisque提供)

a81e37767f23f6e9ae70c06d9ca44ea7dab7ceed

图1.12 用于建筑或民用计划(图像由Real 3D Inc.提供)的3D图形

9aa5aa40a8946e5290bc96a0739a96851c3dba24

图1.13 用于医学图像应用(Kitware提供的VolView)的3D图形

a89135e8ee89b75278354e251abecb8bdc32233f

图1.14 用于科学视觉的3D图形(图像由Software Bisque提供)

cc27bc27e7f711c20405dbc05fe04b0515d8e0dd

图1.15 用于娱乐(取自Outrage Entertainment Inc. 的Descent 3)的3D图形

1.3.2 非实时3D

在实时3D应用中,我们常常需要做出一些妥协。只要有足够的处理时间,我们可以创建更高质量的3D图形。在一般情况下,我们设计模型和场景,并用一个光线追踪器或扫描线渲染器来处理这些定义,产生高质量的3D图像。典型的处理过程是这样的:一个建模应用程序使用实时3D图形与艺术家进行交互,创建具体的内容;然后,它所创建的帧被发送到另一个应用程序(光线追踪器离线渲染器)或子程序,由它们对图像进行渲染,渲染可能要耗费很长时间。例如,在一台非常快速的计算机上,为一部电影(例如toy Story或Shrek)渲染一个单独的帧可能需要耗费几个小时。渲染并保存成千上万个帧的过程生成了一个可以回放的动画序列。尽管这个动画序列在回放时看上去像是实时的,但它的内容却不是交互性的。因此,它并不是实时的,而是预渲染的。

1.3.3 着色器

在实时计算机图形中,最前沿的艺术是可编程着色器(Programmable Shading)。今天的图形卡不再是低能的渲染芯片了,而是功能强大的高度可编程的渲染计算机。类似CPU(中央处理单元)的术语GPU也应运而生,它代表图形处理单元,特指当今图形卡上的可编程芯片。它们是高度并行的,并且具有非常快的速度。同样重要的是,程序员可以进行重新配置图形卡的工作方式,几乎可以实现任何可以想像得到的特殊效果。

每年,基于着色器的图形硬件不断侵占传统上由高端光线追踪器和前面所提到的软件渲染工具所完成的任务。图1.16所示展示了Software Bisque的Seeker太阳系模拟器上的一幅地球图像。这个应用程序使用了一个自定义的OpenGL着色器,以每秒60幅的速率生成了一幅逼真的地球动态图像。它还包括了大气效果、太阳在水中的倒影,甚至背景中的星星。本书插页的彩图1显示了这张图的彩色版本。

89460018e4c201f66f8a1b97efeec011bb5a114a

图1.16 着色器可以实现前所未有的实时逼真性(图像由Software Bisque, Inc.提供)

转载地址:http://npwll.baihongyu.com/

你可能感兴趣的文章
基于spring-boot的rest微服务框架
查看>>
微信公众平台开发最佳实践(第2版)
查看>>
Maven 依赖 spring-web 对战 spring-webmvc
查看>>
用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子...
查看>>
青岛市李沧区搭建人才大数据平台
查看>>
Linux下自动化监控内存、存储空间!
查看>>
iOS 7 表视图顶部空白解决
查看>>
中科院院士姚期智:我们已经来到量子时代的最后一里路
查看>>
“前.NET Core时代”如何实现跨平台代码重用 ——程序集重用
查看>>
一哄而起云计算(透视)
查看>>
如何实现对上下文(Context)数据的统一管理 [提供源代码下载]
查看>>
RvmTranslator Translate RVM to 3D PDF
查看>>
New Release: patterns & practices App Arch Guide 2.0 Beta 1
查看>>
《中国人工智能学会通讯》——8.27 结束语
查看>>
服务企业互联网化用友进入3.0时代
查看>>
《中国人工智能学会通讯》——4.4 视频结构化描述技术在平安城市中 的应用...
查看>>
Fortinet FortiGuard安全实验室解密APT攻击的那些事儿
查看>>
用友云重装出发:你想得到的企业服务都在这
查看>>
经典网络的ECS实例支持升级到企业级实例
查看>>
《网络空间欺骗:构筑欺骗防御的科学基石》一2.3 欺骗型安全技术
查看>>