自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 计算直接光照的贡献

⾸先回去计算每⼀个⼋⾯体texel的brdf和lighting的product,然后每个ray的⽅向,确保traceray的时候,每⼀个thread都是饱和。计算对应的pixel对应的gbuffer得到对应的pixelplane,然后拿⾃⼰的worldpos计算到pixelplane的距离,如果通过⼀个距离判断就。盖了哪些Voxel并把⾃⼰的索引写⼊所有覆盖Voxel的Trace参数中,在接下来的Voxel Trace Pass⾥,每个Voxel仅需处理上⼀步所填。拿到对应的gbuffer数据。

2023-08-14 06:53:26 96

原创 具体的directlighting包括⽣成shadow过程

cardpagetile数量。将cardpage数量存⼊对应的direct和indirect的allocator,在对应的地⽅存⼊对应的指代cardpage具体index的。也就是根据对应cardpagebuffer⾥的第⼀个vector(5个为⼀张cardpage)的第⼀个vector的zw,也就。Dispatch是:NumCardPage数量/64, 说⽩了64个page⼀组. 以thread.x(64)为基础,获得对应的cardpage以及对应的。Dispatch对应direct和indirect。

2023-08-14 06:52:31 47

原创 光在brdf的区别

Houdini (电影特效魔术师) Side Effects Software的旗舰级产品,是创建⾼级视觉效果的有效⼯具,因为它有横跨公司的整个产品线的能⼒,Houdini Master为那些想让更加精彩的动画制作家们提供了空前的能⼒和⼯作效率。它最⼤的特点在于它的Procedural理念,中⽂就是程序化,它不像Maya等传统建模或者动效⼯具(⽹络了解),它可以提供具体的⾃定义操作,对于我们Coder来说,这就是function,function的意义就在于可以⽤同样的流程去处理不同的数据。

2023-08-14 06:47:29 146

原创 traceglobaldf

clipmap覆盖范围⾥,只要存在任意⼀个clipmap,就回去对应的clipmap去采样对应的voxellighting。他的整个trace过程其实就是:⾸先先去通过traceglobaldf确定是否击中,如果击中的 话,再依次去对应的clipmap判断是否在。对应的clipmap⾥⾯的uv,然后根据uv去⽣成3个轴的对应3duv,因为lumen运⾏时候是将相机周围⼀圈体素化,然后从6个⽅向采。其他每级都⽐上⼀级⼤2. ⽐如2级是100,3级200,4级400m,最⼤可达6400m。

2023-08-14 06:36:12 40

原创 radiancecache - Lumen 浅析

其实就是⼀个参考值,不⼀定合理。BRDF做的时候,Gbuffer算的时候,这个probe受那些周围像素的影响,是。道了这个brdf值,累积起来,就是这个probe上朝向的brdf的分布。FinalGather的时候,每个像素需要按照ray的朝向去获取要的radiance信息。brdf只关注对出射⽅向的贡献,某些⽅向可以⼀直是0. 但lighting开始⽐如是暗的,但是如果⽅向偏⼀点点就会有贡献。traceray的,全球空间,投射到⼀个⼋⾯体8x8的朝向上。局部空间trace不同的点,朝向上的变化是很⼤的。

2023-08-14 06:35:41 100

原创 LumenScene direct lighting

LumenScene/LightingLumen:

2023-08-14 06:34:20 53

原创 浅分析lumen的重要性采样代码

当前前进⽅向的sh,得到tracing⽅向的pdf. 如果⽤了importance sample的话,那么就会获取到对应的lightingpdf,再根据tracing。这步就是采样irradiance的pdf,所以将当前probe投影到上⼀帧,看看周围的probe的邻居,也就是4个邻居probe点。每个线程都会先算出对应的屏幕深度,如果有深度,那么就会算出对应的⼀个pixelUV,再得到对应的Gbuffer,再根据gbuffer深度。近,如果接近就是这个点对probe有影响。数量进⾏缩放,最后相乘。

2023-08-14 06:32:27 56

原创 Emissive做灯光

这个方法是可以接受的,这个节点的作用是:https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/RayTracing/#:~:text=Ray%20Tracing%20Quality%20Switch%20Replace%20Node%20Use%20this,global%20change%20that%20affects%20all%20ray%20tracing%20effects.最后通过opacitymask来控制对应的显示。

2023-08-14 06:30:57 39

原创 BentNormal和AO

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

2023-08-14 06:29:21 181

原创 Lumencard生成的 Surfel从哪里来

前言:最近一段时间一直没有整理自己的博客,现在有时间了,将大量更新一波自己的文章众所周知,Lumen的核心是加速,那么加速的结构依赖于Lumencard,我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + Shift + H无

2023-08-14 06:25:12 50

原创 Unity手柄UI设计

手柄这个其实国内用到的项目并不多,之前没有搜到有啥好的文章。恰好上个项目手柄接入是我处理的,今天就简单讲一讲。我也是个菜鸡,如果您觉得我说的有不对或者值得商榷的地方,欢迎您留言和本Vege探讨一下。本文默认您稍微了解或者知道UGUI底层。我是将手柄区分成两大定义:功能/UI。何为功能?其实就是一个两层映射。即原生输入到我们定义的手柄键比如:各原生轴输入--------------LeftTrigger/RightTrigger etc。我将它称为第一层映射。为什么需要这么处理?因为不同的手柄样式大同

2020-05-17 22:13:42 1143 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除