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

选择网站建设公司好网站建设费属于宣传费吗

选择网站建设公司好,网站建设费属于宣传费吗,规划设计公司网站,网站首页 栏目页 内容页文章目录 前言一、计算BulinnPhone的函数有两个重载1、 目前最新使用的是该方法#xff08;这是我们之后主要分析的函数#xff09;2、 被淘汰的老方法#xff0c;需要传入一堆数据 二、GetMainLight1、Light结构体2、GetMainLight具有4个方法重载3、1号重载干了什么#x… 文章目录 前言一、计算BulinnPhone的函数有两个重载1、 目前最新使用的是该方法这是我们之后主要分析的函数2、 被淘汰的老方法需要传入一堆数据 二、GetMainLight1、Light结构体2、GetMainLight具有4个方法重载3、1号重载干了什么该函数就是获取我们主光信息的函数 三、测试代码 前言 在上一篇文章中我们大概了解了SampleLit下的片元着色器主要干了什么。 Unity中URP下的SimpleLit片元着色器 我们在这篇文章中来看一下计算BlinnPhone光照时怎么获取主光的信息。 一、计算BulinnPhone的函数有两个重载 1、 目前最新使用的是该方法这是我们之后主要分析的函数 /// Phong lighting...half4 UniversalFragmentBlinnPhong(InputData inputData, SurfaceData surfaceData) {#if defined(DEBUG_DISPLAY)half4 debugColor;if (CanDebugOverrideOutputColor(inputData, surfaceData, debugColor)){return debugColor;}#endifuint meshRenderingLayers GetMeshRenderingLayer();half4 shadowMask CalculateShadowMask(inputData);AmbientOcclusionFactor aoFactor CreateAmbientOcclusionFactor(inputData, surfaceData);Light mainLight GetMainLight(inputData, shadowMask, aoFactor);MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, aoFactor);inputData.bakedGI * surfaceData.albedo;LightingData lightingData CreateLightingData(inputData, surfaceData); #ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(mainLight.layerMask, meshRenderingLayers)) #endif{lightingData.mainLightColor CalculateBlinnPhong(mainLight, inputData, surfaceData);}#if defined(_ADDITIONAL_LIGHTS)uint pixelLightCount GetAdditionalLightsCount();#if USE_FORWARD_PLUSfor (uint lightIndex 0; lightIndex min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex){FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECKLight light GetAdditionalLight(lightIndex, inputData, shadowMask, aoFactor); #ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) #endif{lightingData.additionalLightsColor CalculateBlinnPhong(light, inputData, surfaceData);}}#endifLIGHT_LOOP_BEGIN(pixelLightCount)Light light GetAdditionalLight(lightIndex, inputData, shadowMask, aoFactor); #ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(light.layerMask, meshRenderingLayers)) #endif{lightingData.additionalLightsColor CalculateBlinnPhong(light, inputData, surfaceData);}LIGHT_LOOP_END#endif#if defined(_ADDITIONAL_LIGHTS_VERTEX)lightingData.vertexLightingColor inputData.vertexLighting * surfaceData.albedo;#endifreturn CalculateFinalColor(lightingData, surfaceData.alpha); }2、 被淘汰的老方法需要传入一堆数据 二、GetMainLight 在 UniversalFragmentBlinnPhong 函数中一开始就获取了主光的信息这也是我们这篇文章中主要分析的怎么获取主光信息 1、Light结构体 其中最主要的就是 direction主光线方向color主光线颜色 2、GetMainLight具有4个方法重载 这里我们为了方便分析分别叫他们 1号、2号、3号、4号重载 带参数的方法重载额外实现了 阴影衰减 不带参数的方法重载 主要实现了主光信息的获取 BulinnPhone光照计算调用的是4号重载 我们按调用顺序依次展开分析 4号重载 调用了3号重载 3号重载 调用了 1号重载 2号 重载也调用了 1号重载但是我们这里没有使用到不做分析 1号重载该函数就是获取我们主光信息的函数 3、1号重载干了什么该函数就是获取我们主光信息的函数 _MainLightPosition 获取主光线方向 light.direction half3(_MainLightPosition.xyz); 我们输出看看效果 _MainLightColor 获取主光颜色 light.color _MainLightColor.rgb; 我们输出看看效果 unity_LightData.z 获取光照距离衰减值因为主光线是平行灯。所以没有距离远近的说法这里值只有 1 和 0 // unity_LightData.z is 1 when not culled by the culling mask, otherwise 0. //距离衰减接收光照时为 1。剔除接收光照为 0 light.distanceAttenuation unity_LightData.z; 阴影衰减预先赋值为 1后面再做处理 light.shadowAttenuation 1.0; 三、测试代码 // Shader targeted for low end devices. Single Pass Forward Rendering. Shader MyShader/URP/P4_7_3 {// Keep properties of StandardSpecular shader for upgrade reasons.Properties{[MainTexture] _BaseMap(Base Map (RGB) Smoothness / Alpha (A), 2D) white {}[MainColor] _BaseColor(Base Color, Color) (1, 1, 1, 1)_Cutoff(Alpha Clipping, Range(0.0, 1.0)) 0.5_Smoothness(Smoothness, Range(0.0, 1.0)) 0.5_SpecColor(Specular Color, Color) (0.5, 0.5, 0.5, 0.5)_SpecGlossMap(Specular Map, 2D) white {}_SmoothnessSource(Smoothness Source, Float) 0.0_SpecularHighlights(Specular Highlights, Float) 1.0[HideInInspector] _BumpScale(Scale, Float) 1.0[NoScaleOffset] _BumpMap(Normal Map, 2D) bump {}[HDR] _EmissionColor(Emission Color, Color) (0,0,0)[NoScaleOffset]_EmissionMap(Emission Map, 2D) white {}// Blending state_Surface(__surface, Float) 0.0_Blend(__blend, Float) 0.0_Cull(__cull, Float) 2.0[ToggleUI] _AlphaClip(__clip, Float) 0.0[HideInInspector] _SrcBlend(__src, Float) 1.0[HideInInspector] _DstBlend(__dst, Float) 0.0[HideInInspector] _SrcBlendAlpha(__srcA, Float) 1.0[HideInInspector] _DstBlendAlpha(__dstA, Float) 0.0[HideInInspector] _ZWrite(__zw, Float) 1.0[HideInInspector] _BlendModePreserveSpecular(_BlendModePreserveSpecular, Float) 1.0[HideInInspector] _AlphaToMask(__alphaToMask, Float) 0.0[ToggleUI] _ReceiveShadows(Receive Shadows, Float) 1.0// Editmode props_QueueOffset(Queue offset, Float) 0.0// ObsoleteProperties[HideInInspector] _MainTex(BaseMap, 2D) white {}[HideInInspector] _Color(Base Color, Color) (1, 1, 1, 1)[HideInInspector] _Shininess(Smoothness, Float) 0.0[HideInInspector] _GlossinessSource(GlossinessSource, Float) 0.0[HideInInspector] _SpecSource(SpecularHighlights, Float) 0.0[HideInInspector][NoScaleOffset]unity_Lightmaps(unity_Lightmaps, 2DArray) {}[HideInInspector][NoScaleOffset]unity_LightmapsInd(unity_LightmapsInd, 2DArray) {}[HideInInspector][NoScaleOffset]unity_ShadowMasks(unity_ShadowMasks, 2DArray) {}}SubShader{Tags{RenderType OpaqueRenderPipeline UniversalPipelineUniversalMaterialType SimpleLitIgnoreProjector True}LOD 300//ForwardLitPass{Name ForwardLitTags{LightMode UniversalForward}// -------------------------------------// Render State Commands// Use same blending / depth states as Standard shaderBlend[_SrcBlend][_DstBlend], [_SrcBlendAlpha][_DstBlendAlpha]ZWrite[_ZWrite]Cull[_Cull]AlphaToMask[_AlphaToMask]HLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex LitPassVertexSimple#pragma fragment LitPassFragmentSimple// -------------------------------------// Material Keywords#pragma shader_feature_local _NORMALMAP#pragma shader_feature_local_fragment _EMISSION#pragma shader_feature_local _RECEIVE_SHADOWS_OFF#pragma shader_feature_local_fragment _SURFACE_TYPE_TRANSPARENT#pragma shader_feature_local_fragment _ALPHATEST_ON#pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON _ALPHAMODULATE_ON#pragma shader_feature_local_fragment _ _SPECGLOSSMAP _SPECULAR_COLOR#pragma shader_feature_local_fragment _GLOSSINESS_FROM_BASE_ALPHA// -------------------------------------// Universal Pipeline keywords#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS#pragma multi_compile _ EVALUATE_SH_MIXED EVALUATE_SH_VERTEX#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING#pragma multi_compile _ SHADOWS_SHADOWMASK#pragma multi_compile _ _LIGHT_LAYERS#pragma multi_compile _ _FORWARD_PLUS#pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS#pragma multi_compile_fragment _ _SHADOWS_SOFT#pragma multi_compile_fragment _ _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH#pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3#pragma multi_compile_fragment _ _LIGHT_COOKIES#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl// -------------------------------------// Unity defined keywords#pragma multi_compile _ DIRLIGHTMAP_COMBINED#pragma multi_compile _ LIGHTMAP_ON#pragma multi_compile _ DYNAMICLIGHTMAP_ON#pragma multi_compile_fog#pragma multi_compile_fragment _ DEBUG_DISPLAY#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#pragma instancing_options renderinglayer#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl//--------------------------------------// Defines#define BUMP_SCALE_NOT_SUPPORTED 1// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlslCBUFFER_START(UnityPerMaterial)float4 _BaseMap_ST;half4 _BaseColor;half4 _SpecColor;half4 _EmissionColor;half _Cutoff;half _Surface;CBUFFER_END#ifdef UNITY_DOTS_INSTANCING_ENABLEDUNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)UNITY_DOTS_INSTANCED_PROP(float4, _BaseColor)UNITY_DOTS_INSTANCED_PROP(float4, _SpecColor)UNITY_DOTS_INSTANCED_PROP(float4, _EmissionColor)UNITY_DOTS_INSTANCED_PROP(float , _Cutoff)UNITY_DOTS_INSTANCED_PROP(float , _Surface)UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)static float4 unity_DOTS_Sampled_BaseColor;static float4 unity_DOTS_Sampled_SpecColor;static float4 unity_DOTS_Sampled_EmissionColor;static float unity_DOTS_Sampled_Cutoff;static float unity_DOTS_Sampled_Surface;void SetupDOTSSimpleLitMaterialPropertyCaches(){unity_DOTS_Sampled_BaseColor UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _BaseColor);unity_DOTS_Sampled_SpecColor UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _SpecColor);unity_DOTS_Sampled_EmissionColor UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float4 , _EmissionColor);unity_DOTS_Sampled_Cutoff UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Cutoff);unity_DOTS_Sampled_Surface UNITY_ACCESS_DOTS_INSTANCED_PROP_WITH_DEFAULT(float , _Surface);}#undef UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES#define UNITY_SETUP_DOTS_MATERIAL_PROPERTY_CACHES() SetupDOTSSimpleLitMaterialPropertyCaches()#define _BaseColor unity_DOTS_Sampled_BaseColor#define _SpecColor unity_DOTS_Sampled_SpecColor#define _EmissionColor unity_DOTS_Sampled_EmissionColor#define _Cutoff unity_DOTS_Sampled_Cutoff#define _Surface unity_DOTS_Sampled_Surface#endifTEXTURE2D(_SpecGlossMap);SAMPLER(sampler_SpecGlossMap);half4 SampleSpecularSmoothness(float2 uv, half alpha, half4 specColor,TEXTURE2D_PARAM(specMap, sampler_specMap)){half4 specularSmoothness half4(0, 0, 0, 1);#ifdef _SPECGLOSSMAPspecularSmoothness SAMPLE_TEXTURE2D(specMap, sampler_specMap, uv) * specColor;#elif defined(_SPECULAR_COLOR)specularSmoothness specColor;#endif#ifdef _GLOSSINESS_FROM_BASE_ALPHAspecularSmoothness.a alpha;#endifreturn specularSmoothness;}inline void InitializeSimpleLitSurfaceData(float2 uv, out SurfaceData outSurfaceData){outSurfaceData (SurfaceData)0;half4 albedoAlpha SampleAlbedoAlpha(uv, TEXTURE2D_ARGS(_BaseMap, sampler_BaseMap));outSurfaceData.alpha albedoAlpha.a * _BaseColor.a;outSurfaceData.alpha AlphaDiscard(outSurfaceData.alpha, _Cutoff);outSurfaceData.albedo albedoAlpha.rgb * _BaseColor.rgb;outSurfaceData.albedo AlphaModulate(outSurfaceData.albedo, outSurfaceData.alpha);half4 specularSmoothness SampleSpecularSmoothness(uv, outSurfaceData.alpha, _SpecColor,TEXTURE2D_ARGS(_SpecGlossMap, sampler_SpecGlossMap));outSurfaceData.metallic 0.0; // unusedoutSurfaceData.specular specularSmoothness.rgb;outSurfaceData.smoothness specularSmoothness.a;outSurfaceData.normalTS SampleNormal(uv, TEXTURE2D_ARGS(_BumpMap, sampler_BumpMap));outSurfaceData.occlusion 1.0;outSurfaceData.emission SampleEmission(uv, _EmissionColor.rgb,TEXTURE2D_ARGS(_EmissionMap, sampler_EmissionMap));}#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl#if defined(LOD_FADE_CROSSFADE)#include Packages/com.unity.render-pipelines.universal/ShaderLibrary/LODCrossFade.hlsl#endifstruct Attributes{float4 positionOS : POSITION;float3 normalOS : NORMAL;float4 tangentOS : TANGENT;float2 texcoord : TEXCOORD0;float2 staticLightmapUV : TEXCOORD1;float2 dynamicLightmapUV : TEXCOORD2;UNITY_VERTEX_INPUT_INSTANCE_ID};struct Varyings{float2 uv : TEXCOORD0;float3 positionWS : TEXCOORD1; // xyz: posWS#ifdef _NORMALMAPhalf4 normalWS : TEXCOORD2; // xyz: normal, w: viewDir.xhalf4 tangentWS : TEXCOORD3; // xyz: tangent, w: viewDir.yhalf4 bitangentWS : TEXCOORD4; // xyz: bitangent, w: viewDir.z#elsehalf3 normalWS : TEXCOORD2;#endif#ifdef _ADDITIONAL_LIGHTS_VERTEXhalf4 fogFactorAndVertexLight : TEXCOORD5; // x: fogFactor, yzw: vertex light#elsehalf fogFactor : TEXCOORD5;#endif#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)float4 shadowCoord : TEXCOORD6;#endifDECLARE_LIGHTMAP_OR_SH(staticLightmapUV, vertexSH, 7);#ifdef DYNAMICLIGHTMAP_ONfloat2 dynamicLightmapUV : TEXCOORD8; // Dynamic lightmap UVs#endiffloat4 positionCS : SV_POSITION;UNITY_VERTEX_INPUT_INSTANCE_IDUNITY_VERTEX_OUTPUT_STEREO};void InitializeInputData(Varyings input, half3 normalTS, out InputData inputData){inputData (InputData)0;inputData.positionWS input.positionWS;#ifdef _NORMALMAPhalf3 viewDirWS half3(input.normalWS.w, input.tangentWS.w, input.bitangentWS.w);inputData.tangentToWorld half3x3(input.tangentWS.xyz, input.bitangentWS.xyz, input.normalWS.xyz);inputData.normalWS TransformTangentToWorld(normalTS, inputData.tangentToWorld);#elsehalf3 viewDirWS GetWorldSpaceNormalizeViewDir(inputData.positionWS);inputData.normalWS input.normalWS;#endifinputData.normalWS NormalizeNormalPerPixel(inputData.normalWS);viewDirWS SafeNormalize(viewDirWS);inputData.viewDirectionWS viewDirWS;#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)inputData.shadowCoord input.shadowCoord;#elif defined(MAIN_LIGHT_CALCULATE_SHADOWS)inputData.shadowCoord TransformWorldToShadowCoord(inputData.positionWS);#elseinputData.shadowCoord float4(0, 0, 0, 0);#endif#ifdef _ADDITIONAL_LIGHTS_VERTEXinputData.fogCoord InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactorAndVertexLight.x);inputData.vertexLighting input.fogFactorAndVertexLight.yzw;#elseinputData.fogCoord InitializeInputDataFog(float4(inputData.positionWS, 1.0), input.fogFactor);inputData.vertexLighting half3(0, 0, 0);#endif#if defined(DYNAMICLIGHTMAP_ON)inputData.bakedGI SAMPLE_GI(input.staticLightmapUV, input.dynamicLightmapUV, input.vertexSH, inputData.normalWS);#elseinputData.bakedGI SAMPLE_GI(input.staticLightmapUV, input.vertexSH, inputData.normalWS);#endifinputData.normalizedScreenSpaceUV GetNormalizedScreenSpaceUV(input.positionCS);inputData.shadowMask SAMPLE_SHADOWMASK(input.staticLightmapUV);#if defined(DEBUG_DISPLAY)#if defined(DYNAMICLIGHTMAP_ON)inputData.dynamicLightmapUV input.dynamicLightmapUV.xy;#endif#if defined(LIGHTMAP_ON)inputData.staticLightmapUV input.staticLightmapUV;#elseinputData.vertexSH input.vertexSH;#endif#endif}///// Light Abstraction /////Light GetMainLight1(){Light light;//通过内置参数获取主光线方向light.direction half3(_MainLightPosition.xyz);#if USE_FORWARD_PLUS#if defined(LIGHTMAP_ON) defined(LIGHTMAP_SHADOW_MIXING)light.distanceAttenuation _MainLightColor.a;#elselight.distanceAttenuation 1.0;#endif#else// unity_LightData.z is 1 when not culled by the culling mask, otherwise 0.//距离衰减接收光照时为 1。反之为0light.distanceAttenuation unity_LightData.z;#endiflight.shadowAttenuation 1.0;//通过内置参数获取主光线颜色light.color _MainLightColor.rgb;light.layerMask _MainLightLayerMask;return light;}Light GetMainLight1(float4 shadowCoord, float3 positionWS, half4 shadowMask){Light light GetMainLight1();light.shadowAttenuation MainLightShadow(shadowCoord, positionWS, shadowMask,_MainLightOcclusionProbes);#if defined(_LIGHT_COOKIES)real3 cookieColor SampleMainLightCookie(positionWS);light.color * cookieColor;#endifreturn light;}Light GetMainLight1(InputData inputData, half4 shadowMask, AmbientOcclusionFactor aoFactor){Light light GetMainLight1(inputData.shadowCoord, inputData.positionWS, shadowMask);#if defined(_SCREEN_SPACE_OCCLUSION) !defined(_SURFACE_TYPE_TRANSPARENT)if (IsLightingFeatureEnabled(DEBUGLIGHTINGFEATUREFLAGS_AMBIENT_OCCLUSION)){light.color * aoFactor.directAmbientOcclusion;}#endifreturn light;}/// Phong lighting...half4 UniversalFragmentBlinnPhong1(InputData inputData, SurfaceData surfaceData){#if defined(DEBUG_DISPLAY)half4 debugColor;if (CanDebugOverrideOutputColor(inputData, surfaceData, debugColor)){return debugColor;}#endifuint meshRenderingLayers GetMeshRenderingLayer();half4 shadowMask CalculateShadowMask(inputData);AmbientOcclusionFactor aoFactor CreateAmbientOcclusionFactor(inputData, surfaceData);Light mainLight GetMainLight1(inputData, shadowMask, aoFactor);MixRealtimeAndBakedGI(mainLight, inputData.normalWS, inputData.bakedGI, aoFactor);inputData.bakedGI * surfaceData.albedo;LightingData lightingData CreateLightingData(inputData, surfaceData);#ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(mainLight.layerMask, meshRenderingLayers))#endif{lightingData.mainLightColor CalculateBlinnPhong(mainLight, inputData, surfaceData);}#if defined(_ADDITIONAL_LIGHTS)uint pixelLightCount GetAdditionalLightsCount();#if USE_FORWARD_PLUSfor (uint lightIndex 0; lightIndex min(URP_FP_DIRECTIONAL_LIGHTS_COUNT, MAX_VISIBLE_LIGHTS); lightIndex){FORWARD_PLUS_SUBTRACTIVE_LIGHT_CHECKLight light GetAdditionalLight(lightIndex, inputData, shadowMask, aoFactor);#ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(light.layerMask, meshRenderingLayers))#endif{lightingData.additionalLightsColor CalculateBlinnPhong(light, inputData, surfaceData);}}#endifLIGHT_LOOP_BEGIN(pixelLightCount)Light light GetAdditionalLight(lightIndex, inputData, shadowMask, aoFactor);#ifdef _LIGHT_LAYERSif (IsMatchingLightLayer(light.layerMask, meshRenderingLayers))#endif{lightingData.additionalLightsColor CalculateBlinnPhong(light, inputData, surfaceData);}LIGHT_LOOP_END#endif#if defined(_ADDITIONAL_LIGHTS_VERTEX)lightingData.vertexLightingColor inputData.vertexLighting * surfaceData.albedo;#endifreturn CalculateFinalColor(lightingData, surfaceData.alpha);}///// Vertex and Fragment functions /////// Used in Standard (Simple Lighting) shaderVaryings LitPassVertexSimple(Attributes input){Varyings output (Varyings)0;UNITY_SETUP_INSTANCE_ID(input);UNITY_TRANSFER_INSTANCE_ID(input, output);UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output);VertexPositionInputs vertexInput GetVertexPositionInputs(input.positionOS.xyz);VertexNormalInputs normalInput GetVertexNormalInputs(input.normalOS, input.tangentOS);#if defined(_FOG_FRAGMENT)half fogFactor 0;#elsehalf fogFactor ComputeFogFactor(vertexInput.positionCS.z);#endifoutput.uv TRANSFORM_TEX(input.texcoord, _BaseMap);output.positionWS.xyz vertexInput.positionWS;output.positionCS vertexInput.positionCS;#ifdef _NORMALMAPhalf3 viewDirWS GetWorldSpaceViewDir(vertexInput.positionWS);output.normalWS half4(normalInput.normalWS, viewDirWS.x);output.tangentWS half4(normalInput.tangentWS, viewDirWS.y);output.bitangentWS half4(normalInput.bitangentWS, viewDirWS.z);#elseoutput.normalWS NormalizeNormalPerVertex(normalInput.normalWS);#endifOUTPUT_LIGHTMAP_UV(input.staticLightmapUV, unity_LightmapST, output.staticLightmapUV);#ifdef DYNAMICLIGHTMAP_ONoutput.dynamicLightmapUV input.dynamicLightmapUV.xy * unity_DynamicLightmapST.xy unity_DynamicLightmapST.zw;#endifOUTPUT_SH(output.normalWS.xyz, output.vertexSH);#ifdef _ADDITIONAL_LIGHTS_VERTEXhalf3 vertexLight VertexLighting(vertexInput.positionWS, normalInput.normalWS);output.fogFactorAndVertexLight half4(fogFactor, vertexLight);#elseoutput.fogFactor fogFactor;#endif#if defined(REQUIRES_VERTEX_SHADOW_COORD_INTERPOLATOR)output.shadowCoord GetShadowCoord(vertexInput);#endifreturn output;}// Used for StandardSimpleLighting shadervoid LitPassFragmentSimple(Varyings input, out half4 outColor : SV_Target0#ifdef _WRITE_RENDERING_LAYERS, out float4 outRenderingLayers : SV_Target1#endif){UNITY_SETUP_INSTANCE_ID(input);UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);SurfaceData surfaceData;InitializeSimpleLitSurfaceData(input.uv, surfaceData);#ifdef LOD_FADE_CROSSFADELODFadeCrossFade(input.positionCS);#endifInputData inputData;InitializeInputData(input, surfaceData.normalTS, inputData);SETUP_DEBUG_TEXTURE_DATA(inputData, input.uv, _BaseMap);#ifdef _DBUFFERApplyDecalToSurfaceData(input.positionCS, surfaceData, inputData);#endifhalf4 color UniversalFragmentBlinnPhong1(inputData, surfaceData);outColor color;color.rgb MixFog(color.rgb, inputData.fogCoord);color.a OutputAlpha(color.a, IsSurfaceTypeTransparent(_Surface));outColor color;#ifdef _WRITE_RENDERING_LAYERSuint renderingLayers GetMeshRenderingLayer();outRenderingLayers float4(EncodeMeshRenderingLayer(renderingLayers), 0, 0, 0);#endif}ENDHLSL}//ShadowCasterPass{Name ShadowCasterTags{LightMode ShadowCaster}// -------------------------------------// Render State CommandsZWrite OnZTest LEqualColorMask 0Cull[_Cull]HLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex ShadowPassVertex#pragma fragment ShadowPassFragment// -------------------------------------// Material Keywords#pragma shader_feature_local_fragment _ALPHATEST_ON#pragma shader_feature_local_fragment _GLOSSINESS_FROM_BASE_ALPHA// -------------------------------------// Unity defined keywords#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl// This is used during shadow map generation to differentiate between directional and punctual light shadows, as they use different formulas to apply Normal Bias#pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlslENDHLSL}//GBufferPass{Name GBufferTags{LightMode UniversalGBuffer}// -------------------------------------// Render State CommandsZWrite[_ZWrite]ZTest LEqualCull[_Cull]HLSLPROGRAM#pragma target 4.5// Deferred Rendering Path does not support the OpenGL-based graphics API:// Desktop OpenGL, OpenGL ES 3.0, WebGL 2.0.#pragma exclude_renderers gles3 glcore// -------------------------------------// Shader Stages#pragma vertex LitPassVertexSimple#pragma fragment LitPassFragmentSimple// -------------------------------------// Material Keywords#pragma shader_feature_local_fragment _ALPHATEST_ON//#pragma shader_feature _ALPHAPREMULTIPLY_ON#pragma shader_feature_local_fragment _ _SPECGLOSSMAP _SPECULAR_COLOR#pragma shader_feature_local_fragment _GLOSSINESS_FROM_BASE_ALPHA#pragma shader_feature_local _NORMALMAP#pragma shader_feature_local_fragment _EMISSION#pragma shader_feature_local _RECEIVE_SHADOWS_OFF// -------------------------------------// Universal Pipeline keywords#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN//#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS//#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS#pragma multi_compile_fragment _ _SHADOWS_SOFT#pragma multi_compile_fragment _ _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH#pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl// -------------------------------------// Unity defined keywords#pragma multi_compile _ DIRLIGHTMAP_COMBINED#pragma multi_compile _ LIGHTMAP_ON#pragma multi_compile _ DYNAMICLIGHTMAP_ON#pragma multi_compile _ LIGHTMAP_SHADOW_MIXING#pragma multi_compile _ SHADOWS_SHADOWMASK#pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT#pragma multi_compile_fragment _ _RENDER_PASS_ENABLED#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#pragma instancing_options renderinglayer#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl//--------------------------------------// Defines#define BUMP_SCALE_NOT_SUPPORTED 1// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitGBufferPass.hlslENDHLSL}//DepthOnlyPass{Name DepthOnlyTags{LightMode DepthOnly}// -------------------------------------// Render State CommandsZWrite OnColorMask RCull[_Cull]HLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex DepthOnlyVertex#pragma fragment DepthOnlyFragment// -------------------------------------// Material Keywords#pragma shader_feature_local_fragment _ALPHATEST_ON#pragma shader_feature_local_fragment _GLOSSINESS_FROM_BASE_ALPHA// -------------------------------------// Unity defined keywords#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlslENDHLSL}// This pass is used when drawing to a _CameraNormalsTexture texturePass{Name DepthNormalsTags{LightMode DepthNormals}// -------------------------------------// Render State CommandsZWrite OnCull[_Cull]HLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex DepthNormalsVertex#pragma fragment DepthNormalsFragment// -------------------------------------// Material Keywords#pragma shader_feature_local _NORMALMAP#pragma shader_feature_local_fragment _ALPHATEST_ON#pragma shader_feature_local_fragment _GLOSSINESS_FROM_BASE_ALPHA// -------------------------------------// Unity defined keywords#pragma multi_compile_fragment _ LOD_FADE_CROSSFADE// Universal Pipeline keywords#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl//--------------------------------------// GPU Instancing#pragma multi_compile_instancing#include_with_pragmas Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitDepthNormalsPass.hlslENDHLSL}// This pass it not used during regular rendering, only for lightmap baking.Pass{Name MetaTags{LightMode Meta}// -------------------------------------// Render State CommandsCull OffHLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex UniversalVertexMeta#pragma fragment UniversalFragmentMetaSimple// -------------------------------------// Material Keywords#pragma shader_feature_local_fragment _EMISSION#pragma shader_feature_local_fragment _SPECGLOSSMAP#pragma shader_feature EDITOR_VISUALIZATION// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitMetaPass.hlslENDHLSL}//Universal2DPass{Name Universal2DTags{LightMode Universal2DRenderType TransparentQueue Transparent}HLSLPROGRAM#pragma target 2.0// -------------------------------------// Shader Stages#pragma vertex vert#pragma fragment frag// -------------------------------------// Material Keywords#pragma shader_feature_local_fragment _ALPHATEST_ON#pragma shader_feature_local_fragment _ALPHAPREMULTIPLY_ON// -------------------------------------// Includes#include Packages/com.unity.render-pipelines.universal/Shaders/SimpleLitInput.hlsl#include Packages/com.unity.render-pipelines.universal/Shaders/Utils/Universal2D.hlslENDHLSL}}Fallback Hidden/Universal Render Pipeline/FallbackErrorCustomEditor UnityEditor.Rendering.Universal.ShaderGUI.SimpleLitShader }
http://www.dnsts.com.cn/news/74112.html

相关文章:

  • 如何做黑客攻击网站支持付费下载系统的网站模板或建站软件
  • 高端家具东莞网站建设技术支持wordpress 手赚主题
  • 进服务器编辑网站怎么做商城app免费制作
  • 做网站是干嘛中国互联网排名前十名
  • 淘宝网站维护设计素材网站的问卷调查
  • 如何申请免费网站域名广州专业的免费建站
  • spring做网站外发加工厂联系方式
  • 网站设计与规划论文大连 网站制作 外贸
  • nas做网站要哪些东东仁怀那里可以做网站
  • 电子商务网站与建设课件淘宝哪些做网站关键词排名的有用吗
  • 肥西县市建设局网站免费做网站用什么软件
  • 优惠券的网站怎么做2345网址大全17
  • 湖南网站制作哪家专业wordpress 登录后台乱码
  • 网站设置屏蔽广告wordpress必做
  • 做任务赚取佣金网站公众号的运营地区
  • 网站建设基础百度百科微网站模板在线
  • 棋牌论坛网站怎么做wordpress建企业展示
  • 网站用户注册页面怎么做dede 分类信息网站 模板
  • 怎么建设微网站百度有几种推广方式
  • 网站编程入门教程用ps怎么做网站
  • 洛龙区网站制作建设费用搜索引擎营销的常见方式
  • 西安整站优化优秀个人网站设计模板
  • 网站怎么建设模块赢了网站怎么做的
  • 一级a做片性视频 网站在线观看wordpress china 中文
  • 网站地图导出怎么做网站被降权表现
  • 网站建设有哪些技术ui设计到底能不能学
  • 南京做网站公司哪家好网站关键词多少个字数 站长网
  • 医院网站HTML5情人节网站源码下载
  • 百胜招聘 网站开发wordpress主题仿
  • 建设银行官方网站首页个人登录行业协会网站织梦模板