[技术解析]毫秒级响应:智能扫码系统的底层逻辑与实战优化

核心内容摘要

大模型入门必看:收藏这份多模态模型学习指南,小白也能轻松掌握!
langchain 快速入门(五):Langgraph应用,执行流程由线转图

解决MySQL80服务自动停止与DBeaver连接问题的实战指南

(

(

把 Scene_12_6另存为 Scene_13_3(

(

(

(

https://github.com/candycat1992/Unity_Shaders_Book/blob/master/Assets/Scripts/Chapter13/FogWithDepthTexture.csusing UnityEngine; using System.Collections; public class FogWithDepthTexture : PostEffectsBase { public Shader fogShader; public Material fogMaterial null; public Material material { get { fogMaterial CheckShaderAndCreateMaterial(fogShader, fogMaterial); return fogMaterial; } } private Camera myCamera; public Camera camera { get { if (myCamera null) { myCamera GetComponentCamera(); } return myCamera; } } private Transform myCameraTransform; public Transform cameraTransform { get { if (myCameraTransform null ) { myCameraTransform camera.transform; } return myCameraTransform; } } [Range(

0f,

0f)] public float fogDensity

0f; //控制雾的浓度 public Color fogColor Color.white; //控制雾的颜色 public float fogStart

0f; //控制雾效的起始高度 public float fogEnd

0f; //控制雾效的终止高度 void OnEnable() { camera.depthTextureMode | DepthTextureMode.Depth; } //获取摄像机的深度纹理 void OnRenderImage (RenderTexture src, RenderTexture dest) { if (material ! null) { Matrix4x4 frustumCorners Matrix4x

identity; float fov camera.fieldOfView; float near camera.nearClipPlane; float aspect camera.aspect; float halfHeight near * Mathf.Tan(fov *

5f * Mathf.D

Rad); Vector3 toRight cameraTransform.right * halfHeight * aspect; Vector3 toTop cameraTransform.up * halfHeight; Vector3 topLeft cameraTransform.forward * near toTop - toRight; float scale topLeft.magnitude / near; topLeft.Normalize(); topLeft * scale; Vector3 topRight cameraTransform.forward * near toRight toTop; topRight.Normalize(); topRight * scale; Vector3 bottomLeft cameraTransform.forward * near - toTop - toRight; bottomLeft.Normalize(); bottomLeft * scale; Vector3 bottomRight cameraTransform.forward * near toRight - toTop; bottomRight.Normalize(); bottomRight * scale; frustumCorners.SetRow(0, bottomLeft); frustumCorners.SetRow(1, bottomRight); frustumCorners.SetRow(2, topRight); frustumCorners.SetRow(3, topLeft); material.SetMatrix(_FrustumCornersRay, frustumCorners); material.SetFloat(_FogDensity, fogDensity); material.SetColor(_FogColor, fogColor); material.SetFloat(_FogStart, fogStart); material.SetFloat(_FogEnd, fogEnd); Graphics.Blit (src, dest, material); } else { Graphics.Blit(src, dest); } } }Shader Custom/Chapter13-FogWithDepthTexture { Properties { _MainTex (Base (RGB), 2D) white {} _FogDensity (Fog Density, Float)

0 _FogColor (Fog Color, Color) (1, 1, 1,

_FogStart (Fog Start, Float)

0 _FogEnd (Fog End, Float)

0 } SubShader { CGINCLUDE #include UnityCG.cginc float4x4 _FrustumCornersRay; sampler2D _MainTex; half4 _MainTex_TexelSize; sampler2D _CameraDepthTexture; half _FogDensity; fixed4 _FogColor; float _FogStart; float _FogEnd; struct v2f { float4 pos : SV_POSITION; half2 uv : TEXCOORD0; half2 uv_depth : TEXCOORD1; float4 interpolatedRay : TEXCOORD2; }; v2f vert(appdata_img v) { v2f o; o.pos mul(UNITY_MATRIX_MVP, v.vertex); o.uv v.texcoord; o.uv_depth v.texcoord; #if UNITY_UV_STARTS_AT_TOP if (_MainTex_TexelSize.y

o.uv_depth.y 1 - o.uv_depth.y; #endif int index 0; if (v.texcoord.x

5 v.texcoord.y

0.

{ index 0; } else if (v.texcoord.x

5 v.texcoord.y

0.

{ index 1; } else if (v.texcoord.x

5 v.texcoord.y

0.

{ index 2; } else { index 3; } #if UNITY_UV_STARTS_AT_TOP if (_MainTex_TexelSize.y

index 3 - index; #endif o.interpolatedRay _FrustumCornersRay[index]; return o; } fixed4 frag(v2f i) : SV_Target { float linearDepth LinearEyeDepth(SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, i.uv_depth)); float3 worldPos _WorldSpaceCameraPos linearDepth * i.interpolatedRay.xyz; float fogDensity (_FogEnd - worldPos.y) / (_FogEnd - _FogStart); fogDensity saturate(fogDensity * _FogDensity); fixed4 finalColor tex2D(_MainTex, i.uv); finalColor.rgb lerp(finalColor.rgb, _FogColor.rgb, fogDensity); return finalColor; } ENDCG Pass { ZTest Always Cull Off ZWrite Off CGPROGRAM #pragma vertex vert #pragma fragment frag ENDCG } } FallBack Off }(

《Unity Shader》

1

3 雾效

海角社区ID:1120.7126.7更新日志-海角社区ID:1120.7126.7更新日志应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123