随笔分类 - Unity Shader
shader学习中的知识记录和分享
摘要:如何从深度纹理重构世界坐标 游戏特效,后处理是必不可少的,而后处理经常需要我们得到当前画面的像素对应世界空间的所有信息。 思路 通过深度纹理取得NDC坐标,然后再通过NDC坐标还原成世界空间坐标 //csharp脚本部分 Matrix4x4 matrix = camera.projectionMat
阅读全文
摘要:在我学习入门精要的时候,经常遇到不解释api,甚至是关键代码的实现原理。 11.3.1流动的河流中的offset.x的sin函数查了一下好像大家也都是书上原话直接复制,现在好不容易想明白了希望能帮到和我一样一脸懵逼的人。 // Upgrade NOTE: replaced 'mul(UNITY_MA
阅读全文
摘要:game101的透视投影的投影矩阵是这样的 正交投影是这样的 而shader入门精要的透视投影矩阵是这样子 正交投影矩阵是这样子 game101的透视投影是这样得到的 而正交投影的时候并没有假设中心点在面的中心 所以区别在于正交投影的时候有没有进行一步位移操作。 可能引起误导的地方 书上投影矩阵这样
阅读全文
摘要:具体在书p275页 这里为啥需要除D.w呢。 首先我们得到的NDC的坐标是已经归一化的,但是CurrenViewProjectionMatrix的作用,是把世界空间转化为尚未归一化的裁剪空间。 这里看书上能够得知CurrenViewProjectionInverseMatrix是如何得到的 调动了c
阅读全文
摘要:分为三个地方讲解。 NDC(Normalize Device Coordinates)归一化的设备坐标 NDC坐标是世界空间坐标通过MVP变换之后再进行归一化得到的坐标。只需要再一步变换就能得到屏幕空间坐标。顺便提一下因为已经归一化了,如果需要从NDC坐标还原成世界坐标,需要注意最后除w分量。 何为
阅读全文

浙公网安备 33010602011771号