日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity URP高度雾效果Shader

發布時間:2023/12/13 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity URP高度雾效果Shader 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現原理

見這篇文章Unity Shader-深度相關知識總結與效果實現(LinearDepth,Reverse Z,世界坐標重建,軟粒子,高度霧,運動模糊,掃描線效果)_puppet_master的專欄-CSDN博客_shader深度

?核心Shader代碼

Shader "Universal Render Pipeline/Dejavu/HeightFog" {Properties{_MainTex("Base (RGB)", 2D) = "white" {}[HDR]_FogColor("_FogColor (default = 1,1,1,1)", color) = (1,1,1,1)}HLSLINCLUDE #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"CBUFFER_START(UnityPerMaterial)float4 _MainTex_ST;half4 _FogColor;float _FogStartHeight;float _FogHeight;float _FogIntensity;CBUFFER_END//TEXTURE2D(_MainTex);//SAMPLER(sampler_MainTex);sampler2D _MainTex;TEXTURE2D(_CameraDepthTexture);SAMPLER(sampler_CameraDepthTexture);struct appdata {float4 positionOS : POSITION;float2 uv : TEXCOORD0;UNITY_VERTEX_INPUT_INSTANCE_ID};struct v2f {float4 positionCS : SV_POSITION;float2 uv : TEXCOORD0;float3 viewRayWorld : TEXCOORD1;UNITY_VERTEX_OUTPUT_STEREO};//vertex shaderv2f vert(appdata v){v2f o;UNITY_SETUP_INSTANCE_ID(v);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);o.positionCS = TransformObjectToHClip(v.positionOS.xyz);float sceneRawDepth = 1;#if defined(UNITY_REVERSED_Z)sceneRawDepth = 1 - sceneRawDepth; #endiffloat3 worldPos = ComputeWorldSpacePosition(v.uv, sceneRawDepth, UNITY_MATRIX_I_VP);o.viewRayWorld = worldPos - _WorldSpaceCameraPos.xyz;o.uv = v.uv;return o;}//fragment shaderfloat4 frag(v2f i) : SV_Target{float sceneRawDepth = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, sampler_CameraDepthTexture, i.uv);float linear01Depth = Linear01Depth(sceneRawDepth, _ZBufferParams);float3 worldPos = _WorldSpaceCameraPos.xyz + ( linear01Depth) * i.viewRayWorld;float blendParam = saturate((_FogStartHeight - worldPos.y) / _FogHeight);blendParam = max(linear01Depth * _FogHeight, blendParam);half4 screenCol = tex2D(_MainTex, i.uv);return lerp(screenCol, _FogColor, blendParam * _FogIntensity);}ENDHLSL//開始SubShaderSubShader{//Tags {"RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}Tags{ "RenderPipeline" = "UniversalPipeline" "RenderType" = "Overlay" "Queue" = "Transparent-499" "DisableBatching" = "True" }LOD 100ZTest Always Cull Off ZWrite OffBlend one zeroPass{Name "HeightFog"//后處理效果一般都是這幾個狀態//使用上面定義的vertex和fragment shaderHLSLPROGRAM#pragma vertex vert#pragma fragment fragENDHLSL}}//后處理效果一般不給fallback,如果不支持,不顯示后處理即可 }

實現效果

工程鏈接

GitHub - Dejavu0709/StudyForShader??中的HeightFog文件夾

總結

以上是生活随笔為你收集整理的Unity URP高度雾效果Shader的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜色在线影院 | 一区二区三区免费看 | missav | 免费高清av在线看 | 国产精品久久久免费观看 | 免费污污视频在线观看 | 伊人久久精品视频 | av软件在线观看 | 精品少妇视频 | 免费一级肉体全黄毛片 | 国产免费久久久 | 亚洲欧美日本一区 | 精品毛片一区二区三区 | 一节黄色片 | 国产成人在线一区二区 | 99久久婷婷国产综合精品青牛牛 | 国产图片区 | 欧洲mv日韩mv国产 | 草在线| 亚洲欧洲av| 国产熟妇一区二区三区aⅴ网站 | 青青草狠狠干 | 清冷男神被c的合不拢腿男男 | 女人喂男人奶水做爰视频 | 国产精品男同 | 成人爱爱 | 亚洲最大成人综合网 | 欧洲毛片 | 91激情视频在线观看 | 欧美综合图片 | 免费视频福利 | 男女羞羞的视频 | 激情av小说| 免费看亚洲 | 国产激情无套内精对白视频 | 中文字幕日韩有码 | 美女裸体网站久久久 | 亚洲最新av网站 | 亚洲成人黄色在线 | 美女扒开屁股让男人捅 | 最近中文字幕在线中文视频 | 香蕉久久久久 | 人妻无码中文字幕免费视频蜜桃 | 亚洲无码国产精品 | 天堂va蜜桃一区二区三区漫画版 | 国产女18毛片多18精品 | 2022精品国偷自产免费观看 | 国产精品视频久久 | 欧美性色视频 | 欧美精品福利视频 | 日韩和的一区二区 | 国产色中色 | 久久r精品 | 国产不卡毛片 | 特级丰满少妇一级aaa爱毛片 | 日韩av电影中文字幕 | 欧美日韩电影一区二区三区 | 国产精品美女在线观看 | 国产v片在线观看 | 无码人妻久久一区二区三区蜜桃 | 72pao成人国产永久免费视频 | 成人av高清在线 | 国产精品久久久久久久久动漫 | www.爱色av.com| 久久黑丝 | av高清一区| 中文字幕第七页 | 福利亚洲| 欧美一区二区在线观看 | 亚洲成人伊人 | 亚洲美女自拍视频 | 色综合天天 | 中文乱码人妻一区二区三区视频 | 久久性网| chinese精品自拍hd | 精品人妻少妇AV无码专区 | 亚州欧美在线 | 尤物视频免费观看 | 欧美丰满少妇 | 国产美女永久免费 | 亚洲资源在线观看 | 中文字幕国产剧情 | 欧美日韩国产高清视频 | 国产精品theporn | av伦理在线 | 日韩在线观看免费网站 | 亚洲色图 欧美 | 国产乱妇乱子 | 亲切的金子片段 | 在线观看色视频 | 一区二区三区黄 | 成人免费区一区二区三区 | 中文字幕日韩欧美 | 亚洲国产精品久久久久久6q | 国产婷婷 | 欧美激情综合五月色丁香 | 欧美性欧美zzzzzzzzz | 亚洲av无码专区首页 | 91在线日韩 | 蜜桃免费在线视频 |