轻松实现3D图形处理的设计技巧
1. 科学性
如今,越来越多的桌面PC采用3D图形绘制技术来获得高真实感的显示效果。诸如工业与艺术行业的设计和制造、科学研究中的建模、交通和旅游业中的虚拟漫游以及3D游戏等。
3D图形绘制技术的本质,是通过一系列算法来模拟自然界中物体在人眼中成像的过程,算法从几何建模、空间变换到计算空间中每个点的光照、阴影以及纹理等等。算法越趋近真实,物体的绘制效果也越逼真。显然,以有限性能的数字系统去还原真实的自然界是极其困难的,考虑的因素越多越细,系统的复杂度越高,实时性越低。因此,任何一款图形绘制系统都必须根据自身硬件的规模、以及场景中物体的特点,在真实性与实时性之间寻求平衡。
图2.1 移动设备图形领域的发展
过去几十年中,桌面PC及工作站一直是3D图形绘制的主流平台,图形处理系统的架构与算法也主要基于这种大面积、高存储带宽、高功耗的特性。然而,移动设备在外部存储带宽、功耗、面积等制约因素上有着数量级的劣势。但是,移动设备往往又仅需在较小的分辨率上绘制图形。较小的分辨率意味着能接受以恰当的方式忽略一些细节,并且通常不会在一个屏幕中包含太多物体。正是和桌面平台相比之下的这些劣势与优势,使面向移动设备的3D图形处理系统自成一体,绝不能靠简单地移植桌面图形处理系统来实现。
因此,研究与设计全新的体系架构、执行流程、算法、开发调试环境及方法等,都成为面向移动设备的图形处理系统的关键技术与创新难点。概括起来,本项目的科学性有如下几点:
1)基于移动平台上的图形处理器的硬件架构、算法和接口,业内都有各自的侧重和妥协,尚无较统一方案。研究分析图形系统各阶段的关键技术,评估多种实现方案间的优劣,将具有重大的科研及市场价值。
2)由于本项目涉及到了图形处理的各个方面,而国内尚无GPU生产厂家,因此对于国内涉及到3D图形显示的各个相关产业都具有重要的意义。本项目将会帮助厂家能够更好地提高3D图形处理方面的技术,致力于给消费者更好的体验,以使国产电子产品取得更大的市场份额。
3)最近几年,随着移动设备在工业、生活中的普及与发展,3D图形绘制系统也逐渐成了移动设备中的核心部件。研究发展移动设备上的3D图形处理技术具有重大意义。
2. 创新性
从算法和硬件架构两个层次进行优化,并从运算速度、芯片功耗和灵活性三方面考虑,以实现用一个较低复杂度和较低功耗的3D图形处理器对真实感图形实现硬件加速。本课题组的创新性主要体现在如下几个方面:
1)所有算法采用定点实现,并在精度允许的情况下尽量减小数据位宽,以降低电路复杂度和功耗。
2)硬件结构上含有基于Tile的光栅单元。基于Tile的绘制方法大大减小了访问外部存储器的带宽,从而降低了功耗。
3)采用FPGA进行仿真验证工作,通过FPGA的并行性和流水线,可以在一个较低的时钟频率(50MHZ)下达到比较理想的数据处理能力。而这正是图形处理器所必需的。
3. 技术方案
3D图形绘制系统的基本组成,是3D图形算法程序以及图形处理器硬件。确定算法程序及硬件结构后,便可进行各种测试分析。
3.1 3D图形算法
要能实时绘制3D场景,就需要在计算机中为场景内每一个物体进行建模,为了方便在计算机中对不同形状不同属性的物体建模,最常用的方法是用许多三角形面片构成一个多面体来拟合实际物体。对这个物体的3D图形绘制流程,大部分内容就是对这些三角形的绘制。
因此基础3D图形绘制可以分为两部分,第一部分是处理物体的顶点,第二部分是处理每一个像素,就三角形而言,即三角形的三个顶点,以及三角形中的每一个像素。
3.1.1 坐标转换
物体建模时,采用这个物体的几何坐标来表示其形状,这时所使用的坐标系称为模型坐标系,模型坐标系的原点往往取自几何物体的某个点或者附近的某点。当这个物体和其他物体一起被设定到3D场景中时,多个物体必须公用场景的原点,此时,大场景构成一个世界坐标系。而人眼从显示器去看这个大场景时,只会以特定的角度及深度看到场景的一部分的投影,即存在一个视椎体,这个投影最终出现在屏幕上时,变成平面的图像,即屏幕坐标系。
物体在这几个坐标系间转换,需要对每个几何顶点做矩阵运算。矩阵的值由坐标转换时的相关参数确定,例如,在世界坐标系中的偏移,旋转,缩放值,视椎体的深度角度,屏幕的分辨率等。
3.1.2 光照计算
正确的光照,改变物体本来的颜色明暗,并立刻产生显著的真实感。光照处理的对象是计算物体上每个点所反射出的光强大校这个过程需要根据光源的类型、属性,物体表面的材质,物体表面法线与光
- 3D图形芯片的算法原理分析(07-16)
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...