基于纹理渲染与纹理映射实时球幕图像生成方法.docVIP

基于纹理渲染与纹理映射实时球幕图像生成方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于纹理渲染与纹理映射实时球幕图像生成方法

基于纹理渲染与纹理映射实时球幕图像生成方法   摘 要:大多数影像设备与3D API都是基于平面影像设计的,因此,一般而言实时渲染图像并不能直接运用于球幕显示,必须通过称为“几何校正”(Geometric Correction)的运算才能产生正确的最终结果。目前主流的几何校正方法或者依赖昂贵的硬件设备完成,或者需要通过复杂的算法实现,对于缺少程序设计背景的创作者来说无法自由掌控。文章介绍了一种利用3D API中成熟的纹理渲染(RTT)与纹理映射(Texture Mapping)技术生成球幕图像的方法,不涉及任何C++或HLSL编程,在任何支持RTT的三维引擎上均可实现。   关键词:实时纹理渲染 纹理映射 球幕 虚拟现实 交互艺术   一、研究背景   如何在球幕上根据需求产生无变形的图像已经有了成熟的解决方案。但根据作者的调研,其中绝大部分解决方案所针对的都是预渲染电影而非实时图像。即使有少量针对实时图像的解决方案通常也需要创作者具有丰富的编程经验才能将之与常用的实时三维引擎嫁接起来,而这对于许多非程序员背景的虚拟现实创作者或交互艺术家来说显然是难度过高了。因此,本文将介绍一种简单、通用,并且运行效率令人满意的方法生成实时球幕三维影像,以帮助不具备编程经验的创作者更方便、更自由地创作球幕互动作品。   二、研究案例   (一)案例概述   为了便于陈述,本文将以笔者创作的球幕互动作品《入侵》为原型进行分析(图1)。《入侵》是一款互动装置作品,利用投影机在悬挂于半空的球幕上投射出一派生机盎然的自然美景。当观众进入球幕下方以后,其运动会被球幕顶部的传感器捕获,并被“解读”为人类对于自然的入侵。观众人数越多,动作越剧烈,对于自然的破坏就越严重:环境的恶化会实时地反应在球幕影像之上。自然资源日益枯竭便会引发战争,如果观众不及时停止运动(意即停止对于自然的“破坏”),最终将会导致“核子末日”的来临。   (二)硬件系统   球幕:直径为3.5米,圆心角为180°,是一个标准的半球体。本文所介绍的方法适用但不仅适用于180°的半球体,也可以用小于180°的球冠甚至是非标准的椭球体。   投影机:工程投影机,分辨率为1024x768,亮度为4500流明。投影机镜头采用了视场角为180°的数字鱼眼镜头。   (三)软件工具   三维动画软件:笔者选用的是3ds Max这款三维动画软件。事实上你可以选择包括Maya、Softimage在内的任何一款主流三维软件,只要确保渲染器支持自定义相机镜头即可。   三维引擎:笔者选用的是Quest3D这款三维引擎,同样,你可以选择Unity 3D、Torque 3D等各种不同的三维引擎,只需确保它支持RTT(Render To Texture)功能即可。   三、实时球幕图像生成方法   (一)问题分析与解决思路   要生成实时球幕图像,至少需要解决以下三方面的问题:第一、获得实时三维渲染结果;第二、对三维渲染结果进行几何校正;第三,将经过几何校正的图像投影至球幕,并得到与预期一致的最终画面。   先分析第三个问题。假设球幕球心角与镜头视场角均为180°,且镜头光学中心处于球心的位置,那么根据鱼眼镜头的光学特性可以知道,对于一幅4:3的图像而言最终将被映射到球幕上的部分是其中央的内切正圆形区域。在这个正圆形区域内,与圆周平行的同心圆将会成为球幕上的纬线,而从圆心引向圆周的半径则会成为球幕上的经线,这是数字鱼眼镜头成像的基本特点。   然后,我们分析一下前两个问题,如何利用三维引擎产生合适球幕投影的图像。Mental Ray这样的渲染器大都支持针对球幕设计的镜头着色器(Lens Shader),这类着色器利用光线跟踪算法可以产生直接能够用于数字鱼眼镜头的图像。但包括Direct3D、OpenGL在内的实时3D API中均只支持标准摄像机,也就是说它们严格遵循理想化针孔相机的成像规律,所以,三维引擎中不可能仅通过一个摄像机来实现球幕图像的输出。可行的办法是摆放多个摄像机将完整的场景记录为多幅平面图像,然后通过拼接与几何校正生成一幅完整的、可用于球幕投影的图像。   我们总共需要5台摄像机并根据图2所示的方式进行摆放,获得分别表示前、后、左、右、顶的渲染画面。理想情况下,在使用光学特征相同的鱼眼镜头时,通过镜头投影和通过镜头拍摄是一个可以互逆的过程,也就是说通过鱼眼镜头拍摄的图像可以通过相同规格的鱼眼镜头还原。现已确定最终将采用视场角为180°的鱼眼镜头进行投影,那么假如采用同样为180°的鱼眼镜头拍摄,结果获得的图像应该可以直接在球幕上正确还原。   除了这个结论以外,还有另外一个结论也至关重要,它可由Cubemap的原理推导得出:如果将Cubemap按照正确的角度

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档