shader
文章平均质量分 61
uniGame
程序媛, 学啥分享啥。记录一下吧~
展开
-
urp SpotLight 衰减方式扩展
spots Light 衰减方式添加扩展原创 2023-02-28 18:57:07 · 777 阅读 · 0 评论 -
ToneMapping - 色调映射
知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类、在诸多领域具有关键影响力的知识分享社区和创作者聚集的原创内容平台,建立起了以社区驱动的内容变现商业模式。使用ToneMapping 对颜色进行重新映射。把原始色调映射到目标色调。原创 2023-02-28 18:36:06 · 540 阅读 · 0 评论 -
X-Ray 基于法线的轮廓渲染
结果原理:基于物体表面法线的来判断计算渲染的颜色。物体表面法线的方向和视线方向比较法线方向越接近相机方向,说明越靠近物体中心的位置,反之,说明处于边缘的位置关键代码: v2f vert (appdata_full v){v2f o;o.pos = mul(UNITY_MATRIX_MVP,v.vertex);o.v...原创 2022-02-14 09:56:16 · 2043 阅读 · 0 评论 -
体积光逻辑(1)
——体积光,在物理层面来说是丁达尔效应. 主要实现使用的是RayMarch一、 What is RayMarch?一根ray一步一步向前走(marching),一直到与物体相交。二、RayMarch 元素:每一个采样点计算都要把所有因素的数值进行相乘处理,得到该采样点上的最终结果 因素 公式 代码 备注 1 光强度的衰减计算 //世界坐标转到灯.原创 2021-12-31 11:10:35 · 2064 阅读 · 0 评论 -
Unity 的阴影实现原理
目前学习到的unity 渲染阴影的两种方式.下面情况默认是 前向渲染路径,场景中平行光开启了阴影 方式 原理 备注 ShadowMap 把相机放到光源的位置,那么场景中该光源的阴影区域就是那些相机看不到的位置 得到的是:场景中距离光源最近的表面位置(深度信息) unity中专门的pass 单独处理阴影映射纹理。 pass的LightMode = ShadowCast原创 2021-11-27 18:42:22 · 6086 阅读 · 0 评论 -
URP渲染流程
Setup Culling Parameters 设置参数:确定Culling 如何处理灯光和阴影 可重写 Culling 使用上一步设置的参数,计算可见的 渲染器,灯光和阴影等 Culling参数和相机距离参数影响最终的渲染效果 Build Rendering Data 缓存的信息来之:Culling的结果输出,和UPRAssets , C...翻译 2021-11-26 14:36:53 · 725 阅读 · 0 评论 -
Unity 渲染路径理解
Unity 常用的渲染路径 备注 前向渲染 标签: {"LightMode" = "ForwardBase"} 原理: 每进行一次前向渲染, 都需要渲染该对象的渲染图元,并计算两个缓冲区的信息。深度缓冲区, 颜色缓冲区。 流程: 深度缓冲区判断判断片元是否可见 如果可见:更新颜色缓冲区的颜色值 不可见:说明片元不可见 每个逐像素光源,都要进行上面的一次完整渲染...原创 2021-11-20 18:14:52 · 3113 阅读 · 0 评论 -
unity shader - 毛发渲染,飘逸的毛发
渲染原理:第一步:分层layer,渲染不同长度的毛发。 层越多,绘制的越细节。因为毛发有长短,所以,在上层,没有毛发的部分alpha设置为0,不显示多个layer,可以使用shader等多个pass进行绘制每一个 Pass 即表示一层。当渲染每一层时,使用法线将顶点位置挤出模型表面第二步:根据噪音贴图, 在随机毛发的长度。控制alpha的值层次不同,毛发的uv位置偏移应该也有所不同,这样制作的才能更自然,否则uv一直不变,那么毛发的方向不变就变成了刺猬毛发..原创 2021-11-20 14:54:12 · 8550 阅读 · 0 评论 -
unity shdaer - 透明效果[ZWrite , ZTest , Blend , Cull]
Alpha Channel 透明通道Alpha Test 透明度测试Alpha Blending 透明度混合ZWrite 深度写入深度写入· 开启的话,根据深度缓存中的值来判断改元片距离摄像机的距离。渲染的时候,需要和已经存在于深度缓冲中的值进行比较, 如果距离相机更远,则不会渲染· 不开启,根据渲染顺序进行渲染。关闭写入,需要注意渲染顺序 名称 原理 函数 深度检测原创 2021-11-19 11:59:39 · 5626 阅读 · 0 评论 -
Unity shader的坐标空间转换(图解)
模型空间, 世界空间, 观察空间, 裁剪空间变化图解世界空间到裁剪空间: UNITY_MATRIX_VP, unity_MatrixVP模型空间到观察空间: UNITY_MATRIX_MV , mul(unity_MatrixV, unity_ObjectToWorld)模型空间到裁剪空间的变化 就是所说的MVP变化 UNITY_MATRIX_MVP...原创 2021-11-06 11:18:33 · 1984 阅读 · 1 评论