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

巴塘网站建设网站开发 技术指标

巴塘网站建设,网站开发 技术指标,郑州城乡建设局官网,国内企业邮箱文章目录 前言一、在片元着色器中使用如下公式计算最终的颜色 lerp(雾效颜色#xff0c;物体颜色#xff0c;雾效混合因子)1、获取雾效颜色2、物体的颜色一般通过纹理采样得到#xff0c;此处用 1 代替测试3、获取 雾效混合因子#xff08;由 雾的距离 和 雾的浓度决定最终的颜色 lerp(雾效颜色物体颜色雾效混合因子)1、获取雾效颜色2、物体的颜色一般通过纹理采样得到此处用 1 代替测试3、获取 雾效混合因子由 雾的距离 和 雾的浓度决定 二、在顶点着色器中计算不同类型的雾效混合因子在顶点着色器计算节省性能Unity预定义好方便我们计算的四维变量 unity_FogParams1、计算线性雾的雾效混合因子2、计算指数雾1 的雾效混合因子3、计算指数雾2 的雾效混合因子 三、最终测试代码 前言 Unity中Shader雾效的实现方法一按照之前的公式, 我们自己来实现一下 Unity中Shader雾效的原理 基于上一篇文章继续 Unity中Shader的雾效 一、在片元着色器中使用如下公式计算 最终的颜色 lerp(雾效颜色物体颜色雾效混合因子) 不管是什么类型的雾这个雾效的公式都是统一的 1、获取雾效颜色 unity_FogColor 2、物体的颜色一般通过纹理采样得到此处用 1 代替测试 3、获取 雾效混合因子由 雾的距离 和 雾的浓度决定 雾效混合因子是由之前的三个雾效衰减公式计算得到的 Unity中Shader雾效的原理 因为在片元着色器中计算雾效需要使用该因子 所以在 v2f 中定义一个 TEXCOORD 类型的 float 变量 fogFactor float fogFactor : TEXCOORD1; 二、在顶点着色器中计算不同类型的雾效混合因子在顶点着色器计算节省性能 Unity预定义好方便我们计算的四维变量 unity_FogParams 1、计算线性雾的雾效混合因子 获取 z 这个z是摄像机到物体的距离 z 用摄像机的世界坐标 - 顶点的世界坐标的 模长 计算需要准备 摄像机的世界坐标_WorldSpaceCameraPos 顶点的世界坐标:mul(unity_ObjectToWorld,v.vertex) float z length(_WorldSpaceCameraPos - worldPos); 获取 start 和 end 上面的公式可以等价为 fogFactor (end - z) / (end - start) (end / (end - start)) z * (-1 / (end - start)) 使用Unity预定义的公式后 unity_FogParams.w z * unity_FogParams.z ; //(end - z) / (end - start) (end / (end - start)) z * (-1 / (end - start)) o.fogFactor z * unity_FogParams.z unity_FogParams.w; 效果 2、计算指数雾1 的雾效混合因子 fogFactor exp2(-density * z) 使用Unity预定义的公式后 exp2(-unity_FogParams.y * z) //exp2(-density * z) o.fogFactor exp2(-unity_FogParams.y * z); 效果 3、计算指数雾2 的雾效混合因子 fogFactor exp2(-(density * z)^2) 使用Unity预定义的公式后 exp2(-(unity_FogParams.x * z)^2) //exp2(-(density * z)^2) float density unity_FogParams.x * z; o.fogFactor exp2(-density * density); 效果 三、最终测试代码 //unity的雾效 //雾效的实现方法一 Shader MyShader/P1_9_3 {SubShader{Tags { RenderTypeOpaque }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_fog#include UnityCG.cgincstruct appdata{float4 vertex : POSITION;};struct v2f{float4 vertex : SV_POSITION;float fogFactor : TEXCOORD1;};v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);float4 worldPos mul(unity_ObjectToWorld,v.vertex);float z length(_WorldSpaceCameraPos - worldPos);#if defined(FOG_LINEAR)//(end - z) / (end - start) (end / (end - start)) z * (-1 / (end - start))o.fogFactor z * unity_FogParams.z unity_FogParams.w;#elif defined(FOG_EXP)//exp2(-density * z)o.fogFactor exp2(-unity_FogParams.y * z);#elif defined(FOG_EXP2)//exp2(-(density * z)^2)float density unity_FogParams.x * z;o.fogFactor exp2(-density * density);#endifreturn o;}fixed4 frag (v2f i) : SV_Target{fixed4 c 0;#if defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2)c lerp(unity_FogColor,c,i.fogFactor);#endifreturn c;}ENDCG}} }
http://www.w-s-a.com/news/705880/

相关文章:

  • 网站建设备案流程windows优化大师有必要安装吗
  • 怎么网站定制自己做网站卖视频
  • 网站开发二线城市网站制作过程中碰到的问题
  • 最好网站建设公司制作平台小程序开发教程资料
  • 陕西省高速建设集团公司网站国内做会展比较好的公司
  • 建设学校网站的原因网页设计实训报告1500
  • 网站建设客户来源江门网站设计华企立方
  • 自己如何做棋牌网站宁波网络推广优化方案
  • 深圳招聘网站推荐seo网站推广方案
  • 彩票网站开发 合法学术会议网站建设
  • 商务网站建设论文答辩pptseo技术博客
  • 怎样才能有自己的网站桂林搭建公司
  • 哪个网站做视频赚钱万科
  • 莆系医疗网站建设wp如何做网站地图
  • 网站建设应急处置方案团购网站 备案问题
  • 网站建设 岗位职责浙江中天建设集团有限公司网站
  • 西海岸建设局网站用wordpress建站学什么
  • 网站静态和动态学校网站建设流程步骤
  • 做群头像的网站在线怎么做俄语网站
  • 西安网站定制开发国内cms推荐
  • windows网站建设教程视频教程wordpress默认用户头像
  • 做网站需要什么软件wordpress会员邮件通知
  • 技术支持网站合肥网站搭建
  • 无为网站设计免费制作企业网站平台
  • 社交网站第一步怎么做房屋装修效果图用什么软件
  • 企业网站 批量备案合肥 网站建设
  • 如何提高网站索引量室内设计师之路网站
  • ps怎么做响应式网站布局图现在做网站都是怎么做的
  • 导购 网站模板网站主题选择
  • 毕业设计医院网站设计怎么做郑州铭功路网站建设