当前位置: 首页 > news >正文

Unity图形学之雾Fog

1.设置雾化:

2.雾化变化曲线:FogMode

(1)线性:

(2)一次指数:

(3)二次指数:

Shader "Custom/FogTest"
{Properties{_Color ("Color", Color) = (1,1,1,1)_MainTex ("Albedo (RGB)", 2D) = "white" {}_FogStart("FogStart",float) = 1_FogEnd("FogEnd",float) = 10}SubShader{Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM// Physically based Standard lighting model, and enable shadows on all  light types#pragma surface surf Lambert vertex:MyVertex  finalcolor:FinalColor// Use shader model 3.0 target, to get nicer looking lighting#pragma target 3.0sampler2D _MainTex;struct Input{float2 uv_MainTex;float fogData;};fixed4 _Color;float _FogEnd;float _FogStart;void MyVertex(inout appdata_full v,out Input data){//初始化Input变量UNITY_INITIALIZE_OUTPUT(Input,data);//顶点到相机的距离,是一个向量UnityObjectToViewPos(v.vertex)float tempZ = _FogEnd - length(UnityObjectToViewPos(v.vertex).xyz);//计算雾化比例data.fogData = tempZ/(_FogEnd - _FogStart);}void surf (Input IN, inout SurfaceOutput o){// Albedo comes from a texture tinted by colorfixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;o.Albedo = c.rgb;o.Alpha = c.a;}void FinalColor(Input IN,SurfaceOutput o,inout fixed4 color){//color *= float4(1,0,0,1);color = lerp(float4(1,0,0,1),color,IN.fogData);}ENDCG}FallBack "Diffuse"
}

http://www.lryc.cn/news/493211.html

相关文章:

  • 【大数据学习 | Spark-Core】详解Spark的Shuffle阶段
  • 如何启动 Docker 服务:全面指南
  • 使用client-go在命令空间test里面对pod进行操作
  • Linux中网络文件系统nfs使用
  • 气膜建筑:打造全天候安全作业空间,提升工程建设效率—轻空间
  • 【HarmonyOS学习日志(10)】一次开发,多端部署之功能级一多开发,工程级一多开发
  • dmdba用户资源限制ulimit -a 部分配置未生效
  • 【Code First】.NET开源 ORM 框架 SqlSugar 系列
  • 如何在谷歌浏览器中切换DNS服务器
  • Spring Cloud Stream实现数据流处理
  • 列表上移下移功能实现
  • 升级智享 AI 直播三代:领航原生直播驶向自动化运营新航道
  • Llmcad: Fast and scalable on-device large language model inference
  • Hbase2.2.7集群部署
  • 【青牛科技】D1671 75Ω 带4级低通滤波的单通道视频放大电 路芯片介绍
  • [NeurIPS 2022] Leveraging Inter-Layer Dependency for Post-Training Quantization
  • ubuntu+ROS推视频流至网络
  • PHP 去掉特殊不可见字符 “\u200e“
  • 深度学习—BP算法梯度下降及优化方法Day37
  • elasticsearch8.16 docker-compose 多机器集群安装
  • Flink--API 之 Source 使用解析
  • uniapp在小程序连接webScoket实现余额支付
  • Spring Boot【三】
  • R 因子
  • 【博主推荐】C# Winform 拼图小游戏源码详解(附源码)
  • 深入解析 MySQL 启动方式:`systemctl` 与 `mysqld` 的对比与应用
  • 【python】windows pip 安装 module 提示 Microsoft Visual C++ 14.0 is required 处理方法
  • python爬虫案例——猫眼电影数据抓取之字体解密,多套字体文件解密方法(20)
  • go sync.WaitGroup
  • Libevent库-http通信不同请求方式的处理