您现在的位置是:主页 > news > 发优惠券网站怎么做/产品推销方案
发优惠券网站怎么做/产品推销方案
admin2025/6/18 6:11:23【news】
简介发优惠券网站怎么做,产品推销方案,wordpress怎么调用m3u8视频,微信小程序与网站连接效果图 不包含光照(但包含雾效)的基本顶点/片元着色器 原理:对主纹理采样出颜色值,并根据雾气模式选择相应的算法得出最终颜色值。代码有详细的注解(具体请参考UnityCG.cginc) //不包含光照(但包含雾效&…
发优惠券网站怎么做,产品推销方案,wordpress怎么调用m3u8视频,微信小程序与网站连接效果图 不包含光照(但包含雾效)的基本顶点/片元着色器
原理:对主纹理采样出颜色值,并根据雾气模式选择相应的算法得出最终颜色值。代码有详细的注解(具体请参考UnityCG.cginc)
//不包含光照(但包含雾效&…
效果图
不包含光照(但包含雾效)的基本顶点/片元着色器
原理:对主纹理采样出颜色值,并根据雾气模式选择相应的算法得出最终颜色值。代码有详细的注解(具体请参考UnityCG.cginc)
//不包含光照(但包含雾效)的基本顶点/片元着色器
Shader "Unlit/UnlitShader"
{Properties{_MainTex ("Texture", 2D) = "white" {}}SubShader{Tags { "RenderType"="Opaque" }//RenderType为Opaque不透明渲染类型LOD 100 //LOD值 用于控制SubShader渲染,在Unity规定范围LOD内可进行渲染Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag// make fog work#pragma multi_compile_fog //开启雾效的一些工作:编译雾效变体(具体内容未知)#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;UNITY_FOG_COORDS(1) //雾效数据声明:float1 fogCoord : TEXCOORD1;float4 vertex : SV_POSITION;};sampler2D _MainTex;float4 _MainTex_ST;//顶点着色器:顶点空间变换、雾效处理v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.uv, _MainTex);UNITY_TRANSFER_FOG(o,o.vertex);//UNITY_TRANSFER_FOG宏相当于//FOG模式为Linear://o.fogCoord = o.vertex.z * unity_FogParams.z + unity_FogParams.w = (end-z)/(end-start) = z * (-1/(end-start)) + (end/(end-start))//FOG模式为Exponential://o.fogCoord = exp2(-unity_FogParams.y * o.vertex.z) = exp(-density*z)//FOG模式为Exponential squared://o.fogCoord = exp2(-((unity_FogParams.x * o.vertex.z)^2)) = exp(-(density*z)^2)//其中,exp(x)函数为计算e^x次方值 (e=2.71828182845904523536) , exp2(x)为e^x //density为雾浓度参数, unity_FogParams尚未了结具体情况, start, end 应该是雾气起始点和终点, z为裁剪坐标的Z值(D3D为[0,far],OPENGL为[-near,far]范围return o;}//片元着色器: 采样纹理颜色并输出、雾效处理fixed4 frag (v2f i) : SV_Target{// sample the texturefixed4 col = tex2D(_MainTex, i.uv);// apply fogUNITY_APPLY_FOG(i.fogCoord, col);//UNITY_APPLY_FOG(coord, col)//在前置渲染ADD模式下://col.rgb = lerp((0,0,0).rgb, (col).rgb, saturate(i.fogCoord.x))//在上述例子中,无论哪种模式都会随着Z变大而fogCoord.x变小逐渐靠近0//因此col颜色值会逐渐变为雾气颜色(0,0,0)即黑色//非前置渲染ADD模式下://col.rgb = lerp((unityFogFactor).rgb, (col).rgb, saturate(i.fogCoord.x))//逐渐靠近Unity设置好的雾气颜色 Window -> Lighting -> Settings (lighting面板)可设置return col;}ENDCG}}
}
其他两种模式请自行研究