随笔分类 -  Shader

摘要:前言:渲染流程中,涉及三角形顶点数据的插值,比如,颜色、法线、等等。使用到的理论就是重心坐标。 结论:重心坐标 三角形重心坐标推导: 推导公式: (大写代表坐标向量,eg:C) 阅读全文
posted @ 2022-03-08 21:24 天山鸟 阅读(142) 评论(0) 推荐(0)
摘要:##ZTest ZWrite 1 什么是深度测试? 在深度测试中,默认情况是将要绘制的新像素的z值与深度缓冲区中对应位置的z值进行比较,如果比深度缓存中的值小,那么用新像素的颜色值更新深度缓存中对应像素的颜色值。 值为:Greater/GEqual/Less/LEqual/Equal/NotEqua 阅读全文
posted @ 2021-02-19 20:39 天山鸟 阅读(36) 评论(0) 推荐(0)
摘要:1 Shader.SetGobalFloat 等函数统一赋值是, shader的属性(properties)不能有。 阅读全文
posted @ 2021-01-04 21:35 天山鸟 阅读(63) 评论(0) 推荐(0)
摘要:#pragma shader_feature 与 #pragma multi_compile 非常类似,唯一的区别是 shader_feature 着色器的未使用变体不会包含在游戏构建中。因此,shader_feature 对于将在材质上设置的关键字最合适,而 multi_compile 对于将通过 阅读全文
posted @ 2020-12-18 11:31 天山鸟 阅读(174) 评论(0) 推荐(0)
摘要:半勃兰特光照模型 本质 结果范围 -1~1变为0~1。 Shader "Unlit/First" { //1 属性 Properties { //_MainTex("MainTex",2D)= "White" {}; _Color ("color",Color) = (1,1,1,1) } //2 阅读全文
posted @ 2020-08-18 22:02 天山鸟 阅读(103) 评论(0) 推荐(0)
摘要:##13.1原理: 深度纹理,存储的不是颜色值,而是一个高精度的深度值[0,1] - 归一化的设备坐标(Normalized Device Coordinates,NDC) 精度(24or16位) 1)使用延迟渲染时,G-buffer中直接可得。2)否则通过单独的pass,unity使用Shader 阅读全文
posted @ 2020-08-16 12:51 天山鸟 阅读(170) 评论(0) 推荐(0)
摘要:##插件-智能补全 ShaderlabVS.vsix Unity3D研究院之方便找和写URP的shader 阅读全文
posted @ 2020-08-13 10:06 天山鸟 阅读(142) 评论(0) 推荐(0)
摘要:##应用阶段(CPU和GPU通信)记忆点-类比绘画: 1 小C把材料(数据)放到缓存 2 小C把参数写好(设置渲染状态) 3 通知小G去画 ##几何阶段 1 顶点着色器 2 裁剪图元 3 屏幕映射 ##光栅化阶段 1 三角形设置 2 三角形遍历 3 片元着色器 4 逐片元操作 (模板测试、深度测试、 阅读全文
posted @ 2020-08-05 11:11 天山鸟 阅读(130) 评论(0) 推荐(0)
摘要:###屏幕后处理的原理 使用特定的材质去渲染对应相机近裁剪平面的4边形面片(刚好填充屏幕) 标配代码 实际上屏幕后处理是,渲染了和屏幕大小的面片。需要关掉Cull 和深度写入。如果在透明物体渲染之前调用后处理,会产生异常。 ZTest Always Cull Off ZWrite Off ###屏幕 阅读全文
posted @ 2020-06-10 10:10 天山鸟 阅读(252) 评论(0) 推荐(0)
摘要:##需求 ###1 基于涅菲尔反射的变形 原理 (近处的反射少,远处反射多) 1)公式(近似):F = Fscale + (1-Fscale)(1-v·n)^5 利用fresnel做边缘发光,代码 fixed fresnel = _FresnelScale + (1 - _FresnelScale) 阅读全文
posted @ 2020-06-07 17:31 天山鸟 阅读(858) 评论(0) 推荐(0)
摘要:##10.1.1天空盒子 window - Lighting - skyMaterial 创建mat,shader选自带的6 side shader 确保相机选skybox 如果某个相机需要覆盖,添加skyBox组件。 ##10.1.3 反射 原理 1)求反射方向向量。(用refract函数,参数: 阅读全文
posted @ 2020-06-07 17:01 天山鸟 阅读(174) 评论(0) 推荐(0)
摘要:观察空间就是相机的空间 投影矩阵本质就是对x、y、z分量进行不同程度的缩放平移(z还做了平移),目的就是视锥体近切面远切面的8个点符合|x|=|y|=|z| (方便裁剪)。 (对于正交相机,这一步已经得到了立方体) 屏幕映射: 第一,相当于视锥体(透视相机)映射到立方体(中心的在(0,0),长度是2 阅读全文
posted @ 2020-06-03 23:29 天山鸟 阅读(289) 评论(0) 推荐(0)
摘要:###(一)渲染路径 ####1 前向渲染 ForwardBase , 可实现,光照纹理、环境光、自发光、阴影。(环境光、自发光希望值计算一次) ForwardAdd, 默认不支持阴影,但可以加编译指令开启。 每个光源执行一次pass 通常开启混合模式,免得覆盖颜色。看起来只受一个光源影响一样 原理 阅读全文
posted @ 2020-06-02 20:58 天山鸟 阅读(199) 评论(0) 推荐(0)