Bent Normal (环境法线?)

BentNormal和AO 这⾥的BentNormal其实就是worldnormal,后续所有的bentnormal基本都是worldnormal,已经和材质的bentnormal⽆关了。可⻅性球⾯⾼斯的计算如。算出反射的椎体⻆度,不遮蔽的⻆度,反射⻆度,以及从normalmap上采样到的normal和反射⻆度的⻆度差,最后通过查找前⾯。具体的就是会使⽤材质⾥的bentnormal,计算出对应的半球⾼斯,法线球⾯⾼斯,可⻅性球⾯⾼斯以及镜⾯反射球⾯⾼斯等,最后。这⾥的例⼦是没有反射捕获,所以这⾥的color其实就是(0,0,0,1) 阅读详情
AI摘要

本文深入探讨了BentNormal的概念及其在离线AmbientOcclusion渲染中的作用,包括计算方法、采样示意图、用途及与AmbientOcclusion的关系。详细介绍了如何计算BentNormal以及其在改变Normal、优化环境贴图采样和实现SoftShadow效果方面的应用。

前段时间读论文看到了Bent Normal这个概念,找了些相关的资料学习了一下。Bent Normal常见于离线的Ambient Occlusion渲染中(中文翻译过来应该叫做环境法线?网上搜索看有些地方是这么叫的),从它的字面意思中即可以看出其同样是一种Normal,只不过是做了修改变形(Bent)。这个Bent是如何计算而来的呢?这个Bent Normal又有什么用外呢?这里做个简单的介绍。

什么是Bent Normal?

首先我们知道,对于不管什么反射模型的渲染方程来说,几何模型的表面法向量是必需的一个信息元素。而Bent Normal就是对原始的Normal做修改之后的新向量,它指向了当前像素一个不被其它物体(或几何体元)遮挡的平均方向,也即光线传入的主要方向。由些可知其与Ambient Occlusion是相关的。其公式化后的形式如下所示【式一】:

 

其中的即为当前点x在w方向上的可见性,也即是否被遮挡。该式与普通的AO计算公式基本上相同,使用蒙特卡罗积分将其离散化即可得到一个有限采样下可行的Bent Normal计算公式。

Bent Normal的采样示意图(从图中可以看出,Bent Normal(黄色)与原始Normal(蓝色)相比,其在考虑周围几何体元分布的情况下向右侧做了修整)

Bent Normal有什么用处?

Bent Normal一般来说可以有两种用途:

  • 用来改变原始的Normal,并记录光线的主要通过方向,这样在做环境贴图的采样时可以从更优化的方向来计算采样的光线。
  • 用来代替原始的Normal做正常的Shading,这样可以在尽管只有Normal的情况下一定程度上得到类似于Ambient Occlusion的Soft Shadow效果。
如何计算Bent Normal?

Bent Normal的计算方式一般来说也有两种方法;

  • 第一种方法就是传统的离线采样方法,这里的操作就跟传统offline的Ambient Occlusion计算方法一样,在场景的表面上的每个点处做采样,并计算【式一】的蒙特卡罗积分即可统计得到考虑场景遮挡情况下的Bent Normal。
  • 第二种方法就是当前各种图形算法很流行的基于Screen Space的方法,其优点就是快、缺点就是不太精确。为了在游戏中得到实时的AO计算,众多基于屏幕空间的SSAO算法被提出来,而AO 的计算又与Bent Normal的计算是相关的,因而就可以使用通常的SSAO post pass来将Bent Normal无过多额外代价的快速计算出来(但是会多出一个Normal buffer的采样,或以合适的方法避免之)。具体的操作也跟AO的计算类似,只不过在每个屏幕采样点处将相应的AO 值转化为对Normal 的偏移即可。

下述为原始Normal与Bent Normal的对比图(Bent Normal的生成采用了离线的蒙特卡罗算法来计算,木有优化采样方式,因而存在噪点痕迹):

 

 

从上述Normal对比图中可以看出,对于普通表面曲率大于等于0的表面,其Bent Normal与原始Normal并没有什么区别,表现在场景上的情况即是其没有被其它几何体元所遮挡;而对于那些表面凹处,则Bent Normal会对原始的Normal产生相应的修改,而这些地方在做SSAO操作时则同样会产生相应的AO。

这两张为使用Normal&Bent Normal的渲染效果:

 

从原理到实践:深入理解BentNormal和AO在实时渲染中的协同作用 本文深入探讨了BentNormal和AO在实时渲染中的协同作用,解析了它们的数学原理和实现方法。通过Unreal Engine的Lumen系统案例,展示了如何将BentNormal与AO结合使用以提升渲染质量,同时提供了性能优化和移动端适配的实用技巧,帮助开发者实现更真实的光照效果。 阅读详情

相关推荐

从原理到实践:BentNormal和AO在实时渲染中的协同工作机制

本文深入解析了BentNormal(弯曲法线)与环境光遮蔽(AO)在实时渲染中的协同原理。BentNormal通过计算光线被遮挡后的平均入射方向,弥补了传统AO缺乏方向性信息的不足。两者结合并通过球面高斯(SG)编码,能显著提升漫反射与镜面反射光照的物理准确性,在现代渲染管线中共同塑造出更真实、更具深度的视觉场景。

android的专栏 450

Unity Bent Normal 和环境遮蔽烘焙工具 BNAO

**BNAO** 是一个为 Unity 开发的 GPU 基于的开源项目,用于烘焙 Bent Normal 和 Ambient Occlusion(环境遮蔽)地图。这个项目利用 GPU 强大的并行计算能力,在编辑器中直接对低多边形几何体进行烘焙处理,从而提高游戏和渲染效果的真实感。BNAO 的主要编程语言是 C# 和 ShaderLab。 ## 2. 项目的核心功能 BNAO 的核心功能包括:

gitblog_00006的博客 535

BentNormal与AO在实时渲染中的协同作用解析

本文深入解析了BentNormal与AO在实时渲染中的协同作用,详细介绍了它们在Lumen光照系统和屏幕空间反射中的协作机制,并提供了性能优化和问题排查的实用技巧。通过实际案例和代码示例,帮助开发者更好地理解和应用这两种技术,提升渲染效果和性能。

weixin_30919429的博客 416

BNAO:Unity中轻量级GPU加速的 Bent Normal 和 Ambient Occlusion 烘焙工具

BNAO(Bent Normal And Ambient Occlusion)是由Fewes开发的一个小型开源项目,专为Unity设计。此工具利用GPU的力量,高效地为你的游戏或场景资产烘焙出高质量的 Bent Normals 和 Ambient Occlusion效果。它简化了通常繁琐的后期处理步骤,无需离开Unity环境即可实现光照效果的提升,适用于追求细节和性能平衡的开发者。 ## 项目快

gitblog_00799的博客 713

基础篇 | 材质01 | 4种法线

详细介绍了4种常用的法线,以及UE/虚幻中的实现方法。

u011637323的博客 1551

UE5 Lumen全局光照优化:Bent Normal与AO实战指南

环境光遮蔽(AO)是计算机图形学中用于模拟物体间因遮挡而产生的柔和阴影的核心技术,它通过计算表面点被周围几何体遮蔽的程度,来增强场景的深度感和真实感。其原理基于几何体的空间关系,通过射线追踪或屏幕空间算法估算环境光的可及性。在实时渲染领域,AO对于提升视觉质量至关重要,它能有效解决漏光、阴影过平等问题。随着虚幻引擎5 Lumen动态全局光照系统的普及,AO的角色从传统的静态乘数转变为指引动态光照采样的关键数据。本文聚焦于Lumen框架下,如何结合弯曲法线(Bent Normal)这一优化间接光采样的向量信息

keke1314520的博客 362

Bent Normal

https://blog.youkuaiyun.com/BugRunner/article/details/7272902 https://blog.youkuaiyun.com/weixin_33719619/article/details/87467892

yinfourever的专栏 1083

为什么我的UE5.2环境光遮挡(Ambient Occlusion)效果不对?可能是这个Lumen参数在搞鬼

本文针对UE5.2中环境光遮挡效果异常的问题,指出其核心原因是Lumen系统的`ShortRangeAO`参数默认开启并与传统SSAO计算冲突。通过使用控制台命令`r.Lumen.ScreenProbeGather.ShortRangeAO 0`等方案,可禁用Lumen的短程AO计算,恢复传统SSAO参数的可控性,从而精准调整墙角、缝隙等细节的阴影效果。

weixin_29015801的博客 171

基于Unity引擎的Bent Normal实现

这是侑虎科技第433篇文章,感谢作者钱康来供稿。欢迎转发分享,未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们,一起探讨。(QQ群465082844) 个人主页:http://qiankanglai.me 作者也是U Sparkle活动参与者,UWA欢迎更多开发朋友加入U Sparkle开发者计划,这个舞台有你更精彩! 最近半年赶项目的事情一直很忙,好不容易有空做点渲染的东西...

UWA—简单优化,优化简单! 2156

BentNormal与AO在UE5 Lumen中优化高光反射的实战指南

在实时渲染与计算机图形学领域,基于物理的渲染(PBR)是构建真实感画面的核心理论。其原理在于通过模拟光线与物体表面的物理交互,精确计算漫反射与高光反射。这项技术的核心价值在于,它能确保材质在不同光照环境下表现一致,是实现电影级画质的关键。在游戏开发、影视预演和数字孪生等应用场景中,PBR工作流已成为行业标准。环境光遮蔽(AO)作为PBR中的重要组成部分,用于模拟物体间因遮挡产生的柔和阴影,能极大地增强场景的立体感和真实感。而法线贴图技术则通过扰动表面法线,在不增加几何复杂度的前提下,提供丰富的微观细节。本文

weixin_29017445的博客 342

实时渲染里的“球面可见性“:从原理到落地

在编码可见性信息时,选择合适的数据结构和格式至关重要。纹理映射:将可见性信息存储为纹理,利用 GPU 的纹理采样功能进行快速访问。压缩格式:使用压缩算法(如 DXT、BCn 等)来减少存储空间,同时保持可接受的解码性能。通过离线计算和编码可见性信息,并在在线渲染时快速解码,我们可以有效地解决漏光问题,并为全局光照模型提供必要的信息。这不仅提高了渲染的真实性,还为更复杂的光照计算奠定了基础。通过优化存储和解码过程,可以在保证渲染性能的同时,实现更高质量的视觉效果。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 151

BNAO: 弯曲法线与环境遮挡烘焙器使用指南

BNAO(Bent Normal and Ambient Occlusion Baker)是专为Unity引擎设计的一个轻量级GPU加速工具,用于实时烘焙弯曲法线(Bent Normals)与环境遮挡(Ambient Occlusion)。它利用GPU的计算能力,极大提升了这些重要光影效果的烘焙效率。 ## 目录结构及介绍 以下是基于`https://github.com/Fewes/BNAO

gitblog_01135的博客 986

UWB灵犀遥控器方案介绍

UWB灵犀指向遥控器的技术原理和方案介绍

xiongdauwb的博客 3898

Normal Transformation(法线变换)

http://blog.youkuaiyun.com/bugrunner/article/details/7285356 关于三维空间法线变换的问题,之前就有看到过,但是一直也木有注意,普通的三维空间中的法线变换还是直接使用模型的变换矩阵来进行。但是,近来又看到了一些这方面相关的东西,因而总结一下。 已经知道不能直接用模型变换矩阵来变换Normal,比如使用某含有非一致性缩放(在x,y,z方向上进行不

any 849

Win10/Win11系统下,用VSCode编译Betaflight固件最全避坑指南(从GCC安装到HEX生成)

本文详细介绍了在Win10/Win11系统下使用VSCode编译Betaflight固件的完整流程,包括GCC安装、环境变量配置、终端选择、Make工具安装等关键步骤,帮助开发者避开常见陷阱,高效生成HEX文件。特别针对VSCode环境优化和编译错误排查提供了实用解决方案。

weixin_42557803的博客 415

DIKW模型实战:用Obsidian打造个人知识库的5个关键步骤

本文详细介绍了如何利用DIKW模型在Obsidian中构建高效个人知识库的5个关键步骤,从数据收集到智慧应用的全流程实践。通过标记系统、信息加工引擎和知识结晶方法,帮助知识工作者实现从原始数据到决策智慧的认知跃迁,提升个人知识管理效率。

gamma的博客 574

Unity Standard Shader AO 贴图实战:3步集成与 2 种采样优化方案

本文详细介绍了Unity Standard Shader中AO贴图的实战应用,包括3步集成流程和2种采样优化方案。通过环境光遮蔽(AO)贴图的技术解析、性能优化策略及多平台适配技巧,帮助开发者提升游戏画面质感与渲染效率。特别推荐Bent Normal技术和屏幕空间二次遮蔽方案,实现高质量AO效果与性能平衡。

weixin_30781433的博客 398

光学系统设计:波段、光源、光纤与探测器匹配指南

在光学测量和光纤通信系统中,波段、光源、光纤和探测器的匹配关系是系统设计的核心基础。波段指电磁波谱中的特定波长范围,光源负责产生特定波长的光信号,光纤作为传输介质需要与波长匹配以降低损耗,探测器则负责将光信号转换为电信号。理解各组件的光谱特性对于系统性能至关重要,例如在850nm短波长多模光纤系统中,VCSEL激光器与PIN光电二极管的组合能提供最佳性价比。典型应用场景包括生物医学成像、光纤通信和气体传感,其中光谱重叠优化、模场直径匹配和偏振特性协调是关键技术要点。通过实测数据对比不同组合的传输性能,可以为

weixin_33812433的博客 337

Normal Map(法线贴图)Ⅱ(转)

http://blog.youkuaiyun.com/kongbu0622/article/details/38306027 1. 怎样获得顶点的TBN 其实我觉得这个是实践部分最麻烦的地方。OpenGL提供了诸如glNormal、normal-vbo之类的接口设置顶点的法线,然后在shader中以gl_Normal等方式取得顶点法线数据,但是没有提供切线和副法线的。当然两者只要其一就足够了(另一

z444_579的博客 951

【愚公系列】《AIGC辅助软件开发》041-如何使用 AI技术提升工作效率:AI辅助软件架构师实践

在数字化转型的浪潮中,软件架构师作为技术团队的核心,承载着系统设计与架构优化的重要责任。然而,随着项目复杂度的增加和技术环境的变化,架构师面临着前所未有的挑战。幸运的是,人工智能(AI)技术的迅猛发展为这一行业带来了新的机遇,帮助架构师提升工作效率、优化决策过程,并改善团队协作。本文将深入探讨AI如何辅助软件架构师的实际工作,具体分析AI在需求分析、架构设计、代码生成、测试和优化等环节的应用。

愚公智库 15万+

无网环境也能玩转DBeaver?手把手教你离线安装与ClickHouse连接(附实测jar包)

本文详细介绍了在无网环境下如何离线安装DBeaver并配置ClickHouse连接的完整指南。通过准备必备工具如DBeaver安装包、ClickHouse JDBC驱动及Maven本地仓库,确保在物理隔离环境中实现数据库管理。文章包含详细的安装步骤、驱动配置和性能优化建议,帮助开发者在严格网络限制下高效工作。

weixin_42635064的博客 374

GDC2013 古墓丽影光照渲染复盘:用 TaoToken 统一 Key 跑通 Deferred Lighting 与 SSAO 验证配置

复现 GDC2013 古墓丽影的 Deferred Lighting 与 SSAO 光照流程,先搭好 TaoToken 统一 Key 的 settings.json 与 config.toml 骨架,再套用可复制的渲染参数配置,逐步验证通道连通与参数生效。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供统一接入,帮你把光照调试流程固化下来。

weixin_42579969的博客 183

道家学派创始人老子,对 SAP ABAP 这门编程语言的客观评价

SAP HANA 之引入,使 ABAP 于处理大数据,云计算等新兴领域,展现新的生命力,如老吾老以及人之老,幼吾幼以及人之幼,扩展其在信息技术领域的应用,以涵养更广之需。ABAP 能以数据为基,流转于系统之中,如道法自然,顺应企业之生态,助之以高效运转,减少冗杂,简化管理,使企之运营,如小国寡民,无为而治。然 ABAP 如老树盘根,更替不易,面对新兴技术,如云计算、大数据等,其更新之速,未能与时俱进。如水之于渊,柔而能胜刚,ABAP 之发展,顺时而动,应需而变,其在编程领域,犹如道之于万物,渐不可或缺矣。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1014

推荐使用:BNAO - 实时烘焙神器

推荐使用:BNAO - 实时烘焙神器 BNAOA tiny, GPU-based Bent Normal and Ambient Occlusion baker for Unity.项目地址:https://gitcode.com/gh_mirrors/bn/BNAO 项目介绍 BNAO 是一款高效且直观的Unity插件,它允许开发者在编辑器中直接烘焙环境光遮蔽(Ambient Occlusio...

gitblog_00086的博客 528

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

上一篇: 基于FBX SDK的FBX模型解析与加载 -(四)
下一篇: Normal Transformation(法线变换)
BugRunner
博客等级 码龄17年 791粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值