Unity中URP下的线性雾

文章目录

  • 前言
  • 一、线性雾 雾效因子
  • 二、MixFog
    • 1、ComputeFogIntensity 雾效强度计算
    • 2、雾效颜色混合 lerp(fogColor, fragColor, fogIntensity);


前言

在之前的文章中,我们实现了URP下的雾效支持。

  • Unity中URP下的添加雾效支持

在上一篇文章中,我们解析了 URP 下统一不同平台下的z值是怎么实现的

  • Unity中URP下统一不同平台下的z值

我们在这篇文章中,看一下Unity在URP下线性雾是怎么实现的。


一、线性雾 雾效因子

在这里插入图片描述

  • 主要是使用上一篇统一好的z值,来计算雾效因子

  • 传入上一篇文章中,统一好的[0,Far]之间的z值。

  • 公式: f a c t o r = e n d − z e n d − s t a r t = z ⋅ − 1 e n d − s t a r t + e n d e n d − s t a r t factor = \frac{end-z}{end-start} = z ·\frac{-1}{end - start} + \frac{end}{end-start} factor=endstartendz=zendstart1+endstartend
    start:线性雾开始的位置
    end:线性雾结束的位置
    在这里插入图片描述

  • 使用saturate(x),把计算的结果限制到[0,1]之间,小于0返回0,大于1返回1


二、MixFog

  • 在片元着色器中,在 雾颜色 和 物体实际颜色之间,使用雾效混合因子控制线性插值

在这里插入图片描述

1、ComputeFogIntensity 雾效强度计算

  • 在线性雾下,雾效强度就等于雾效混合因子
    在这里插入图片描述

2、雾效颜色混合 lerp(fogColor, fragColor, fogIntensity);

这里线性插值顺序有点反直觉
雾效强度越大,越偏向物体实际颜色
雾效强度越小,越偏向雾的颜色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【读书】《白帽子讲web安全》个人笔记Ⅱ-1

目录 第二篇 客户端脚本安全 第2章 浏览器安全 2.1同源策略 2.2浏览器沙箱 2.3恶意网址拦截 2.4高速发展的浏览器安全 第二篇 客户端脚本安全 第2章 浏览器安全 近年来随着互联网的发展,人们发现浏览器才是互联网最大的入口,绝大多数用户使用互联…

[Flutter]WebPlatform上运行遇到的问题总结

[Flutter]WebPlatform上运行遇到的问题总结 目录 [Flutter]WebPlatform上运行遇到的问题总结 写在开头 正文 Q1、file_version_info.dart Q2、不兼容判断 Q3、跨域问题 Q4、flutter clean ,无法删除build文件夹 其他 写在结尾 写在开头 Flutter项目已能在…

nvidia-smi 完整查看显卡型号

当我们在使用nvidia-smi查看显卡的型号的时候,会发现出现如下问题: 可以看到我们此时无法看到显卡的准确型号,只能看到NVIDIA GeForce ... 解决方法:使用如下命令即可完整显示显卡型号 nvidia-smi -L 如下所示:

前端 富文本编辑器原理

富文本编辑器是一种用于编辑和展示富文本内容(包括文字、图片、视频等)的工具。它通常提供了类似于Microsoft Word的功能,使用户可以对文本进行格式化、插入图片和链接、调整字体样式等操作。在前端开发中,我们可以使用JavaScript…

线性代数 --- 为什么LU分解中L矩阵的行列式一定等于正负1?

以下是关于下三角矩阵L的行列式一定等于-1的一些说明 笔者的一些话(写在最前面): 这是一篇小文,是我写的关于求解矩阵行列式的一篇文章中的一部分。之所以把这一段专门提溜出来,是因为这一段相对于原文是可以完全独立的,也是因为我…

前端 js/浏览器/node /js 引擎的事件循环机制,宏任务、微任务

首先我们知道js是单线程的,所以有了事件循环机制来处理异步任务, 我们一般说的事件循环机制指 js 引擎的事件循环机制,js是一个编程语言,哪来的事件循环,前端常见的 js 引擎有浏览器和node。 所以在面试中问道【你知…

代码随想录训练营第五十九天| ● 503.下一个更大元素II ● 42. 接雨水

503.下一个更大元素II 这道题和 739. 每日温度 几乎如出一辙&#xff0c;可以自己尝试做一做 代码随想录 这道题是循环数组&#xff0c;因此在遍历时要遍历nums.size()*2次&#xff0c;然后再读取nums中的元素时要使用i % nums.size()来得到对应的下标。 vector<int> ne…

吉他打谱软件Guitar Pro8苹果Mac电脑简体中文特别版

Guitar Pro 8 Mac是一款吉他编曲学习软件&#xff0c;用于吉他、贝和其他弦乐器的制谱和演奏&#xff0c;这是一个多轨编辑器&#xff0c;具有集成的 MIDI 编辑器、合唱绘图仪、吉他、节拍器和其他音乐家工具。它使您能够编辑吉他、贝司和尤克里里、乐谱、指法谱&#xff0c;并…

第11章 GUI Page462~476 步骤二十三,二十四,二十五 Undo/Redo ③实现“Undo/Redo”菜单项

工程六 添加“编辑”菜单和子菜单 菜单ID分别为 idMenuEditUndo 和 idMenuEditRedo 热键&#xff08;快捷键&#xff09;分别为CtrlZ 和 CtrlShiftZ 变量名分别为 MenuItemEditUndo 和 MenuItemEditRedo 分别添加事件 ActionLink类增加成员函数 运行效果&#xff1a;“添加…

【LMM 016】3D-LLM:将 3D 点云特征注入 LLM

论文标题&#xff1a;3D-LLM: Injecting the 3D World into Large Language Models 论文作者&#xff1a;Yining Hong, Haoyu Zhen, Peihao Chen, Shuhong Zheng, Yilun Du, Zhenfang Chen, Chuang Gan 作者单位&#xff1a;University of California, Los Angeles, Shanghai J…

操作系统----期末判断题大全

目录 操作系统----期末判断题大全 三、判断题 操作系统----期末判断题大全 三、判断题 1&#xff0e; 系统调用与程序级的子程序调用是一致的。&#xff08; &#xff09; 【答案】错 2&#xff0e; I/O控制方式不断发展的推动因素之一…

服务器的关键参数指标

服务器的关键参数指标 5.1 操作系统 5.1.1 Windows Server 重要版本 Windows NT Server 4.0、Windows 2000 Server、Windows Server 2003、Windows Serve2003 R2、Windows Server 2008、Windows Server 2008 R2 、Windows Server 2012...... Windows服务器操作系统派应用&#…

ORACLE模拟业务最小测试用例01

环境&#xff1a;RHEL6.4 Oracle 11.2.0.4 1.创建业务用户表空间2.创建业务用户3.赋予用户权限4.创建业务表5.创建索引6.业务查询SQL7.删除业务用户及数据8.删除业务表空间 1.创建业务用户表空间 假设使用了OMF管理&#xff0c;不需要明确指定数据目录(判定是否使用了OMF技…

C#-委托

委托类型 (delegate type) 表示对具有特定参数列表和返回类型的方法的引用。通过委托&#xff0c;我们能够将方法作为实体赋值给变量和作为参数传递。委托类似于在其他某些语言中的函数指针的概念&#xff0c;但是与函数指针不同&#xff0c;委托是面向对象的&#xff0c;并且是…

C# Emgu.CV4.8.0读取rtsp流分段保存

【官方框架地址】 https://github.com/emgucv/emgucv 【算法介绍】 EMGU CV&#xff08;Emgu Computer Vision&#xff09;是一个开源的、基于.NET框架的计算机视觉库&#xff0c;它提供了对OpenCV&#xff08;开源计算机视觉库&#xff09;的封装。EMGU CV使得在.NET应用程序…

模拟算法(模拟算法 == 依葫芦画瓢)万字

模拟算法 基本思想引入算法题替换所有的问号提莫攻击Z字形变换外观数列数青蛙 基本思想 模拟算法 依葫芦画瓢解题思维要么通俗易懂&#xff0c;要么就是找规律&#xff0c;主要难度在于将思路转换为代码。 特点&#xff1a;相对于其他算法思维&#xff0c;思路比较简单&#x…

827 最大人工岛

hard题目&#xff0c;十分困难哈&#xff0c;不是简单的岛屿套路&#xff0c;而是要经历过两次遍历&#xff0c;先一次遍历岛屿再一次遍历海洋 题目 给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后&#xff0c;grid 中最大的岛屿面积…

K8S中的环境变量

官网 https://kubernetes.io/zh-cn/docs/tasks/inject-data-application/environment-variable-expose-pod-information/ 利用环境变量(env.value or env.valueFrom)配置容器应用 在 Kubernetes 中使用此类镜像启动容器时,也可以在 Pod 资源或 Pod 模板资源的定义中,为容…

AOP切面记录日志-实操

前言 记录日志的就是把很多重要的数据给记录下来&#xff0c;写到数据库中&#xff1b;可以写一个方法&#xff0c;组装好之日信息的参数穿进去&#xff0c;但这样做不是很优雅&#xff0c;因为对于日志来说&#xff0c;不是业务逻辑代码的一部分&#xff0c;不应该影响到业务代…

前端学习笔记 5:大事件

前端学习笔记 5&#xff1a;大事件 本文将学习一个示例项目&#xff08;大事件&#xff09;的前端搭建过程。 1.准备工作 1.1.创建工程 创建一个名称为big-event的 Vue3 项目&#xff0c;具体可以参考这篇文章。 1.2.安装插件 安装 ElementPlus&#xff1a; npm install…