计算机图形学
ruofeng133
技术美术
展开
-
Unity Shader Dither
https://blog.demofox.org/2022/01/01/interleaved-gradient-noise-a-different-kind-of-low-discrepancy-sequence/输入一张图shader处理下half3 randomVal = InterleavedGradientNoise(IN.clipPos, 0);half3 col = tex2D(_MainTex, IN.uv + saturate(randomVal * float2(1.0/.原创 2022-04-28 20:20:34 · 2043 阅读 · 0 评论 -
Unity 打包安卓没有阴影
查看shader的状态直接复制这段,导报到手机上是有会问题的一些状态啊什么的会出问题 Pass{ Name "ShadowCaster" Tags{"LightMode" = "ShadowCaster"} ZWrite On ZTest LEqual ColorMask 0 Cull[_Cull] HLSLPROGRAM #pragma only_renderers gles gles3 glcore d3d11 #.原创 2022-04-22 17:52:25 · 5610 阅读 · 0 评论 -
Unity 关于双叶高光(Dual lobe Specular)
Next-Generation Character Renderinghttps://leegoonz.blog/2020/08/24/dual-lobe-for-skin-shader-by-urp/其实就是模拟了高频信息现在粗糙度的那张贴图只需要画低频信息就行了代码引用自 leegoonz完整实现UE4里也有, leegoonz大佬应该是做了优化这里我也做了些修改half3 DirectBDRF_DualLobeSpecular(BRDFData brdfData, half3 n.原创 2022-04-17 13:27:18 · 2257 阅读 · 0 评论 -
UE4 normalmap转到unity里错误
如图Unity正常的法线贴图应该是这样的(0.5,0.5,1)显然现在是(1,0.5,0.5)咋办呢,R通道和B通道互换就好了😀用sd换一下,完美解决原创 2022-04-12 22:24:17 · 1446 阅读 · 0 评论 -
Unity shader build 打包android和PC机显示效果不一样
做了一个次表面皮肤SSSS效果,发现PC正常,打包到andoird机上这个功能就消失了,很奇怪,下面写一个一一排除的过程CPU代码方面一开始以为是rendertexture dont care的问题,后来发现并不是这个问题,因为我是直接setGlobalTexture的,所以并不会区去关心rendertarget读写的问题,那就是GPU代码的问题了Shader方面打开renderdoc抓帧发现是Vulkan,貌似比opengl高级,直接用renderdoc调试的话会有点看不懂,不急我们直接编.原创 2022-04-09 22:05:59 · 8193 阅读 · 0 评论 -
URP打包安卓到花屏问题
用到了renderfeature,发现打包到安卓真机上会出现花屏,网上搜资料说是Don‘ care的问题,有点地方还真的可不能不care,要care的,把care方式设为true就好了解决方案// cmd.ClearRenderTarget(true, false, Color.clear); cmd.ClearRenderTarget(true, true, Color.clear);备注unity有两种方式设置RenderTarget,一种是cmd.SetRenderTarget.原创 2022-04-04 16:28:22 · 730 阅读 · 0 评论 -
Cmake报错问题解决
各种环境变量没设置https://www.cnblogs.com/time-is-life/p/7009752.htmlset(CMAKE_PREFIX_PATH "D:/Qt/Qt5.9.0/5.9/msvc2015_64")set(GLEW_INCLUDE_DIRS "D:/GL/glew-1.9.0/include")set(GLEW_LIBRARIES "D:/GL/glew-1.9.0/lib")// 这个是比较快捷的办法list(APPEND CMAKE_PREFIX_P.原创 2022-03-29 12:27:07 · 691 阅读 · 0 评论 -
URP renderfeature depth buffer为空的问题 depthattachment
花了我两天的时间才解决这个问题,记录下问题经过起因项目需要改渲染管线,在后处理之前插入一个后处理,然后特效再单独处理过程这里特效需要做深度测试,然后我用URP PostprocessPass抄来的代码发现depthbuffer丢失,如图:一片黑啊,绘制代码如下var colorLoadAction = RenderBufferLoadAction.DontCare;if (m_Destination == RenderTargetHandle.CameraTarget &&.原创 2022-03-27 17:31:39 · 1073 阅读 · 0 评论 -
Lod解决方案 Level of Detail Solutions
https://www.bilibili.com/video/BV1YK4y1T7yY?p=14games202Cascaded Shadpw maps (级联阴影)物体的lod原创 2022-03-01 10:31:49 · 230 阅读 · 0 评论 -
关于延迟渲染 Deferred Shading
https://www.bilibili.com/video/BV1YK4y1T7yY?p=14前向渲染延迟渲染Tiled ShadingClustered Shading原创 2022-02-28 10:44:22 · 187 阅读 · 0 评论 -
关于TAA SMAA
https://www.bilibili.com/video/BV1YK4y1T7yY?p=14还有 MSAA SSAATAA如图其实就是增加采样量,求平均矢量化注意G-buffers should never be anti-aliasedGbuffer是不能反走样的,只有图像才可以,否则就不准确了DLSS...原创 2022-02-28 10:26:31 · 2429 阅读 · 0 评论 -
Early-z和Z-prepass depth test
https://www.bilibili.com/video/BV1FK4y1u7iw?p=2传统流程 (逐片元测试)深度测试的逻辑深度测试的问题提前深度测试 (模板测试)Early-Z失效开启Alpha测试,或者clip/discard操作手动修改GPU插值得到的深度开启Alpha blend关闭深度测试Depth Test高效利用由近到远对物体进行排序使用Z-prepass双pass缺点: 无法动态批处理提前分离PrepassZ-prepass没.原创 2022-02-18 17:00:02 · 437 阅读 · 0 评论 -
PBR与各种光照
今天把PBR和各种相关的光照总结一下吧,后续还会有补充https://www.unrealengine.com/zh-CN/blog/gdcc2015-pbrhttps://blog.csdn.net/poem_qianmo/article/details/88936992https://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_functionPBR(Physicallly-Based-Rendering)字面意.原创 2020-09-10 15:44:35 · 1353 阅读 · 0 评论 -
radiance和irradiance
https://zhuanlan.zhihu.com/p/139468429偷一张图Radiance辐射(Radiance)或亮度(luminance) [公式] :是指一个表面在每单位立体角、每单位投影面积上所发射(emitted)、反射(reflected)、透射(transmitted)或接收(received)的辐射通量(功率)。Irradiance辐照度:在面积[公式] 的总辐射通量再偷一张图...原创 2022-02-03 13:31:25 · 1901 阅读 · 0 评论