Image-BasedLighting 是PowerVR SDK中包含的最激动人心的视觉示例之一,它使用了基于物理渲染技术和基于图像光照技术生成令人非常惊喜的效果,而且能够非常流畅稳定的运行,尤其非常适合移动端PowerVR GPU。
我们认为ImageBasedLighting 是一个非常有意思的示例,值得进行深入讨论,因此我们集思广益完成了一个用户指南“PowerVR平台上基于物理光照和图像渲染技术”,用户指南概述了此示例是如何工作的,包括以下几点:
对该示例各个模块进行分解介绍
讨论使用了哪些assets
这些assets是如何处理和应用的
为什么需要选择特定的图像格式
如何管理高动态范围图像的取值问题
该示例中各种着色器是如何工作的
如何优化使得实时的物理渲染成为可能
PVRTexTool工具功能非常强大
当然还有很多其他内容,我们做了很多工作来实现这个示例。
这篇文章会让你对整个文档的内容有一定的了解,重点介绍了该Demo中使用了哪些assets以及处理过程,在后续的文章中我们将仔细介绍这些assets以及如何优化着色器使得应用变得更加流畅和稳定。
但是在我们进一步讨论之前有一点很重要,即ImageBasedLighting 功能的实现主要是基于Epic Games公司的出版物《虚幻引擎4中的真实阴影》,这本书的作者是布莱恩·卡里先生(Brian Karis),其中介绍的内容可以说是这个示例的理论基础,我们对Epic Games公司表示了感谢。
那么事不宜迟,让我们开始吧!
等等…基于物理渲染(PBR)?
是的,当然可以,我相信你们很多人都听说过基于物理渲染(PBR)和基于图像光照(IBL),但是为了确保每个人都能够有一定的认识下面还是介绍一下:
基于物理渲染是一系列技术,它试图基于这些对象的真实材料属性来模拟光与对象的交互。这些材料的属性包括反射率、发射率、粗糙度和金属性等,所有这些都可以改变光从物理表面反射的方式。这些属性通常在纹理映射中设置,纹理映射在处理时会由着色器进行采样,这对于艺术家和设计师来说是非常棒的,他们可以通过调整这些材料的属性从而更直观的方式来呈现对象。
基于图像光照(IBL)
基于图像光照(IBL)主要用于模拟全局光照,全局光照是基于这样一种概念,即三维场景(以及现实世界)中的所有物体都至少会有一点反射效果,落在物体上的光不仅来自于太阳等直接光源,还有来自于场景中其他物体反射的光。对于基于图像光照
技术全局光照是使用一组图像来近似地捕捉来自各个方向的光。在我们的示例中采用了环境映射的方式,对现实场景中的所有光线信息进行编码,当光线从遥远的地方照射过来时这种方法的处理效果很好,但是代价太大了,而且效果只能是静态的。使用基于静态图像光照的最大优点是使得基于物理渲染功能在各种GPU平台上都能够运行,即使是低端GPU器件。
基于物理渲染和基于图像光照在游戏行业中被广泛采用,Unity和虚幻引擎都默认支持基于物理渲染功能。
现在大家有了基本的认识和了解,下面我们要介绍一下使用了哪些assets资产使得基于物理光照的示例成为可能。
资产(The Assets)
Assets-资产指的是那些在运行前就要创建好的内容片段,比如纹理、模型、音频等,如果大家仔细阅读了上文内容,你就会发现我们其实已经介绍了一些重要的assets资产。
这个示例中使用到的assetws资产可以分为四类:1. 模型和相关纹理2. 存储在查找表(LUT)中的双向反射分布功能(BRDF)3. 环境地图
4. 全局光照地图
今天我们重点讨论第一类!
模型和纹理
模型文件描述的是示例中需要渲染的对象网格,对于Image-Based Lighting 我们使用的是一个破损的头盔模型,取材于glTF样例模型,在GitHub repository库中保存,这个库由Khronos组织来管理维护。
这个模型非常适合展示基于物理渲染技术,奇妙之处在于它是混合了不同材质和表面的模型,包括轻微弯曲的玻璃表面,不同的金属表面(有一些抛光和损伤的部分),将所有这些不同类型的表面组合在一个紧凑的模型对象中显示了基于物理渲染技术是如何精确的建模来呈现漫反射和镜面反射的效果。
关于模型不同区域的反射性、金属性以及粗糙度的信息存储在纹理映射中,这些纹理映射由模型资源来提供,这个模型附带了所有你可能需要的纹理从而产生更加逼真的效果。
如下所示:
反射率映射
反射率反映的是物体正常基色或漫反射的颜色,这意味着这个纹理不包含任何阴影或方向光信息,你可以把它想象成物体在正常白光下的颜色。
金属性和粗糙度映射
粗糙度是不可避免的,它表示的是物体表面光滑或粗糙的程度,对于基于物理渲染(PBR)方式,粗糙度决定了镜面反射如何在表面上产生,在像镜子一样光滑的表面上光线反射的角度与入射的角度相同,这意味着外部世界将在表面上得到完美的反射。对于非常粗糙的表面入射光以不同的角度散射,几乎接近漫反射,导致非常模糊的反射效果,粗糙度的取值范围是0.0到1.0.
在不深入研究材料物理的前提下,金属的属性决定了材料应该被识别是绝缘体还是导体,像木头或陶瓷这样的绝缘体倾向于吸收和散射光,产生漫反射,而像金属这样的导体产生镜面反射,因此金属的属性决定了漫反射光和镜面光的计算应该如何结合。
金属度为0.0可以认定为绝缘体,因此我们将只使用漫反射对颜色产生一定的影响,对于金属度为1.0的材料可以认为是导体,所以我们只使用镜面反射。现在虽然一种材料不能单单的认为是半导体或半绝缘体,但物体可以用不同的材料进行分层处理,所以对于金属度在0.0和1.0之间的材料散射和反射效果是结合在一起的。
金属度和粗糙度的取值范围都在0.0到1.0之间,这意味着它们只需要一个纹理的单一通道来存储所有的信息,然后将这两个映射参数封装到一起,每个颜色通道代表不同的属性,大家可以参看下图,蓝色通道反映的是金属度,绿色通道反映的是粗糙度。
放射性映射
纹理表面包含所有自发射光源信息,这些特性与LED或LCD显示器类似,在着色器完成所有PBR的计算之后,放射性映射效果会被添加到最终的像素颜色中,从下图你可以看到只有一小部分区域会有亮光,这是头盔面板上设计了一个HUD装置。
法线映射
法线映射表示的是物体表面的中等尺度结构,关于物体上任何凸起或凹痕的信息都会反应在法线映射图中。
法线映射图可以用于帮助计算漫反射光对物体表面产生的效果。
环境遮挡映射
环境遮挡映射图反应的是渲染器对于物体不同区域在环境光下的亮度效果。
环境遮挡效果可以根据模型的几何形状预先计算,如果同等强度的光从四面八方照射到物体上,物体暴露的部分则越亮,而封闭或遮挡的部分则越暗。阴影的数量通常是通过从物体表面的点向四面八方投射的光线来计算的,这些光线照射物体某一部分的比例越大,那么这一部分在环境遮挡映射图中的颜色就越深。
纹理的处理
在将这些材质用于演示之前我们还需要作一些准备,大部分工作只是简单的将原始jpeg文件压缩为Imagination专有的纹理压缩格式PVRTC,这只需要使用PVRTexTool工具点击几下鼠标就可以完成了,这意味着纹理在保持较高图像质量的同时占用更少的磁盘空间。
我们也做了一些纹理封装,如前文所述金属度和粗糙度映射贴图已经被打包成一个单独的纹理,分别存储在纹理的蓝色和绿色通道中。这种方式很好但仍然有改进空间,因为纹理可以通过使用空的红色通道进一步填充,我们选择将环境遮挡映射贴图也封装到纹理中,因为和金属度和粗糙度一样,它的值也是只在0.0到1.0之间,所以可以将所有的数据放在一个通道中,实现这个功能的是PVRTexTool工具,可以使用PVRTexTool CLI(命令行工具)的一个命令来完成,这样的封装减少了运行时必须从内存中检索纹理数量的操作,这样有助于提升系统整体的性能。
上一篇:机器人清道夫真的能实现吗
下一篇:AWTK能为行业应用带来何种改变?
推荐阅读
史海拾趣
随着技术的不断发展,FTDI并未满足于现状,而是不断拓展其产品线。公司推出了MM232R和USB-COM232-PLUS1等接口产品,这些产品在连接性和兼容性上展现了FTDI的创新精神。同时,FTDI还涉足USB和其他通信协议的转换领域,满足了市场对多样化通信解决方案的需求。这一系列的技术创新和产品拓展,使得FTDI在电子行业中的影响力逐渐增强。
1977年,伦敦大学内,四个富有远见的科学家怀揣着梦想,创立了City Technology公司。他们利用Wolfson研究所开发的电化学技术,着手研发新型氧气感应技术。这一创新技术的诞生,标志着City Technology在气体传感领域的初步尝试,并为其日后的腾飞奠定了坚实的基础。在接下来的几年里,公司不断突破技术瓶颈,其铁罐氧气传感器技术于1982年获得了英国皇后奖技术成就奖,这一荣誉不仅肯定了公司的技术实力,也为其在市场上赢得了良好的声誉。
H&D Wireless始终将产品创新和客户服务放在首位。公司不断推出新的物联网解决方案,以满足不同行业客户的需求。同时,H&D Wireless还建立了完善的客户服务体系,为客户提供全方位的技术支持和解决方案咨询。这种以客户为中心的经营理念赢得了广大客户的信赖和支持,也为公司的持续发展奠定了坚实基础。
以上五个故事展示了H&D Wireless公司在电子行业中的发展历程和成就,体现了其在物联网领域的创新能力和市场竞争力。
H&D Wireless始终将产品创新和客户服务放在首位。公司不断推出新的物联网解决方案,以满足不同行业客户的需求。同时,H&D Wireless还建立了完善的客户服务体系,为客户提供全方位的技术支持和解决方案咨询。这种以客户为中心的经营理念赢得了广大客户的信赖和支持,也为公司的持续发展奠定了坚实基础。
以上五个故事展示了H&D Wireless公司在电子行业中的发展历程和成就,体现了其在物联网领域的创新能力和市场竞争力。
EPT深知产品质量是企业发展的基石。因此,公司不仅通过了ISO9001:2015和BSCI等国际质量管理体系认证,还获得了CE、UL、IEC62133、KC等多项证书。此外,EPT还为所有电池购买了产品责任险,为客户提供双重保障。这一举措不仅提升了客户对EPT产品的信任度,也为其在电子行业中树立了良好的品牌形象。
Avalon Photonics深知技术创新是公司发展的核心动力。因此,公司每年都将大量资金投入研发领域,不断推动技术创新。公司研发团队积极探索新技术、新材料,在光子学领域取得了多项重要突破。这些技术创新不仅提升了Avalon产品的竞争力,也为公司在市场上赢得了良好的声誉。
不管我们是否要控制输出电压或输出电流,Boost调节器都要比Buck调节器更难设计。持续导通状态(CCM)Boost转换器中的平均感应电流等于负载电流(LED电流)乘以1/(1-D),这里D是占空度。Boost电压调节器需要设计者考虑到输入电压的限制来保证电感的 ...… 查看全部问答∨ |
|
最近公司在做个项目,需要能修改IP,SUBMASK,NETWAY,这个修改的程序是写出来了,但是因为系统默认的是使用DHCP来分配IP的,所以就算修改了IP,下次系统再启动的时候IP又变了,等于没有修改,本来想修改系统对DHCP的默认设置的,但是还是希望能通过程序来对 ...… 查看全部问答∨ |
ucos ii 下GPRS模块通过拨号方式进行tcp连接,不知如何下手? 现在mcu是stm32 芯片,gprs模块是华为gtm900 ,通过查找资料如果不用模块内部的协议栈的话,自己得在ucos ii上实现ppp协议与tcp/ip协议栈,现在在网上下载了ucip1-0-3,里面就是src 目录下,有相关代码,里面还有makefile,似乎应该在li ...… 查看全部问答∨ |
使用OWNER-DRAN方法将BUTTON改为CHECKBOX使用 按扭ID_BTN_CIRCLE和ID_BTN_RANDOM要用图片做成CheckBox功能,分别根据两个全局变量确定选中和未选中状态. 然后在BN_CLICKED事件中分别改变这两个全局变量. case WM_DRAWITEM: & ...… 查看全部问答∨ |
http://www.96qd.com/driver/softdown.asp?softid=166173 请哪位好心人帮我下载这个驱动程序,之后压缩打包后发我一下, 万分谢谢! 我的email: hkds2008@163.com 在线等!… 查看全部问答∨ |
1)进入ST中文主页:http://www.stmicroelectronics.com.cn/ 2)在“产品”栏目点击“微控制器” 3)在“大中华地区相关信息”栏目点击“中国**地区” 这时你应该看到很多好东西了,我们会把所有翻译出来的中文资料放在那里。 很简单吧~~~ ...… 查看全部问答∨ |
|
以前没有接触过zigbee,现在又有一个项目需要用到,所以作为初学者莽撞的问一些问题,还望大家指教: 1)项目中需要将10个节点组成一个类似于串联的线路,以便于首尾可以收发信息。(问题是这样的方法可行吗?怎样组网) 2)ZIGBEE的传送距离是多 ...… 查看全部问答∨ |
- 射频 FDA 如何使用射频采样 ADC 来增强测试系统
- 基于OPENCV的相机捕捉视频进行人脸检测--米尔NXP i.MX93开发板
- Nordic Semiconductor nRF54H20 超低功耗 SoC 荣获 2024 年世界电子成就奖 (WEAA)
- 英国测试装配神经系统的无人机:无需经常落地进行检查
- 超宽带的力量:重塑汽车、移动设备和工业物联网体验
- 意法半导体发布面向表计及资产跟踪应用的高适应易连接双无线IoT模块
- 今年我国物联网连接数有望突破 30 亿
- 英飞凌SECORA™ Pay Bio增强非接触式生物识别支付的便利性和可信度
- ADI公司如何让IO-LINK和工业以太网在智能工厂车间通信