11 2021 档案

摘要:之前在《Unity的Deferred Shading》[1]这篇文章中已经把延迟渲染中用到的默认计算光照的shader过了一遍,时隔一段时间再看,又有一些查漏补缺之处,放在这里记录一下。 两个pass Internal-DeferredShading中其实包含了两个pass。第二个pass只会在ca 阅读全文
posted @ 2021-11-29 22:36 异次元的归来 阅读(79) 评论(0) 推荐(0) 编辑
摘要:normal map本身就是一张texture,故而加载normal map的逻辑并不需要进行特殊处理。加入normal map之后,shader层面需要顶点的tangent信息,因此需要在CPU层将tangent信息传递进去。首先需要修改的是顶点的声明: struct Vertex { XMFLO 阅读全文
posted @ 2021-11-24 00:13 异次元的归来 阅读(70) 评论(0) 推荐(0) 编辑
摘要:Unity原生是支持雾效的,可以通过Window/Rendering/Lighting Settings设置: Unity支持3种模式的雾效,Linear,Exponential,Exponential Squared。 Linear模式对应的雾效系数公式如下: \[ f = \dfrac{E - 阅读全文
posted @ 2021-11-17 00:37 异次元的归来 阅读(599) 评论(0) 推荐(0) 编辑
摘要:DirectX 12支持cubemap采样,我们可以用它来实现一个简易的天空盒效果。首先,我们要修改对texture进行资源绑定的shader resource view,使它不再是绑定texture 2d,而是texture cube: D3D12_SHADER_RESOURCE_VIEW_DES 阅读全文
posted @ 2021-11-10 01:49 异次元的归来 阅读(102) 评论(0) 推荐(0) 编辑
摘要:Lua对已经编译过的二进制代码块的加载主要集中在luaU_undump这个函数。本篇文章即着重分析该函数的具体实现。本文参考的Lua源码版本为5.4.0。首先,我们以一个最简单的lua代码为例进行编译: -- test.lua print("hello world") 编译后的二进制代码块可以使用U 阅读全文
posted @ 2021-11-05 00:49 异次元的归来 阅读(875) 评论(0) 推荐(0) 编辑
摘要:什么是Deferred Shading Unity自身除了支持前向渲染之外,还支持延迟渲染。Unity的rendering path可以通过Edit/Project Settings中的Graphics进行全局设置: 除此之外,我们还可以在Main Camera中进行覆盖设置: 需要注意的是,Uni 阅读全文
posted @ 2021-11-01 19:16 异次元的归来 阅读(327) 评论(0) 推荐(0) 编辑