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

网站后台怎么上传文章百度文库个人登录

网站后台怎么上传文章,百度文库个人登录,大理州建设局网站,网站前台首页无法显示基本计算公式如下: fixed3 specular _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,viewDir)),_Gloss);需要4个参数,入射光线的颜色和强度lightColor,材质的高光反射系数Specular,视角方向viewDir和反射方向reflectDir。 逐顶点光…

基本计算公式如下:

fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,viewDir)),_Gloss);

需要4个参数,入射光线的颜色和强度lightColor,材质的高光反射系数Specular,视角方向viewDir和反射方向reflectDir

逐顶点光照的高光反射

Shader "Specular Vertex-Level"
{Properties{_Diffuse ("Diffuse", Color) = (1, 1, 1, 1)_Specular ("Specular", Color) = (1, 1, 1, 1)//控制材质的高光反射颜色_Gloss ("Gloss", Range(8.0, 256)) = 20//控制高光区域的大小}SubShader{pass{Tags { "LightMode"="ForwardBase" }CGPROGRAM#pragma vertex vert#pragma fragment frag#include "Lighting.cginc"fixed4 _Diffuse;fixed4 _Specular;float _Gloss;//gloss范围较大 使用floatstruct a2v{float4 vertex : POSITION;float3 normal : NORMAL;};struct v2f{float4 pos : SV_POSITION;float3 color: COLOR;};v2f vert (a2v v){v2f o;o.pos =  UnityObjectToClipPos(v.vertex);fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT.xyz;fixed3 worldNormal = normalize(mul(v.normal, (float3x3)unity_WorldToObject));//从模型空间的法线转换到世界空间的法线。fixed3 worldLightDir = normalize(_WorldSpaceLightPos0.xyz);fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal, worldLightDir));fixed3 reflectDir = normalize(reflect(-worldLightDir, worldNormal));//cg的reflect函数的入射方向要求由光源指向交点处,所以取反fixed3 viewDir = normalize(_WorldSpaceCameraPos.xyz - mul(unity_ObjectToWorld,v.vertex).xyz);//_WorldSpaceCameraPos摄像机的世界位置, 把顶点坐标从模型空间转换到世界坐标下,再通过和_WorldSpaceCameraPos//相减得到世界空间下的视角方向。fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,viewDir)),_Gloss);o.color = ambient + diffuse + specular;return o;}fixed4 frag(v2f i) : SV_TARGET0{return fixed4(i.color,1.0);}ENDCG}}FallBack "DIFFUSE"
}

效果如下:
在这里插入图片描述

逐像素光照的高光反射

原理和上面的相似,只是把关键计算放到了片元着色器里面:

Shader "Specular Vertex-Level"
{Properties{_Diffuse ("Diffuse", Color) = (1, 1, 1, 1)_Specular ("Specular", Color) = (1, 1, 1, 1)//控制材质的高光反射颜色_Gloss ("Gloss", Range(8.0, 256)) = 20//控制高光区域的大小}SubShader{pass{Tags { "LightMode"="ForwardBase" }CGPROGRAM#pragma vertex vert#pragma fragment frag#include "Lighting.cginc"fixed4 _Diffuse;fixed4 _Specular;float _Gloss;//gloss范围较大 使用floatstruct a2v{float4 vertex : POSITION;float3 normal : NORMAL;};struct v2f{float4 pos : SV_POSITION;//float3 worldNormal: TEXCOORD0;float3 worldPos : TEXCOORD1;};v2f vert (a2v v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.worldNormal = mul(v.normal, (float3x3)unity_WorldToObject);o.worldPos = mul(_Object2World,v.vertex).xyz;return o;}fixed4 frag(v2f i) : SV_Target{fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT;fixed3 worldNormal = normalize(i.worldNormal);fixed3 worldLightDir = normalize(_WorldSpaceLightPos0.xyz);fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal,worldLightDir));fixed3 reflectDir = normalize(reflect(-worldLightDir, worldNormal));fixed3 viewDir = normalize(_WorldSpaceCameraPos.xyz - i.worldPos.xyz);fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,viewDir)),_Gloss);return fixed4(ambient + diffuse + specular, 1.0);}ENDCG}}FallBack "Specular"
}

在这里插入图片描述

Blinn-Phong光照模型

基本计算公式如下:

fixed3 halfDir = normalize(worldLightDir + viewDir);
fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,halfDir)),_Gloss);

相比于Phone模型,如果摄像机和光源距离模型足够远的话,Blinn模型会快于Phone模型,因为此时worldLightDirviewDir可认为是定制 halfDir将是一个常量。

Shader "Specular Vertex-Level"
{Properties{_Diffuse ("Diffuse", Color) = (1, 1, 1, 1)_Specular ("Specular", Color) = (1, 1, 1, 1)//控制材质的高光反射颜色_Gloss ("Gloss", Range(8.0, 256)) = 20//控制高光区域的大小}SubShader{pass{Tags { "LightMode"="ForwardBase" }CGPROGRAM#pragma vertex vert#pragma fragment frag#include "Lighting.cginc"fixed4 _Diffuse;fixed4 _Specular;float _Gloss;//gloss范围较大 使用floatstruct a2v{float4 vertex : POSITION;float3 normal : NORMAL;};struct v2f{float4 pos : SV_POSITION;//float3 worldNormal: TEXCOORD0;float3 worldPos : TEXCOORD1;};v2f vert (a2v v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.worldNormal = UnityObjectToWorldNormal(v.normal);o.worldPos = mul(unity_ObjectToWorld,v.vertex).xyz;return o;}fixed4 frag(v2f i) : SV_Target{fixed3 ambient = UNITY_LIGHTMODEL_AMBIENT;fixed3 worldNormal = normalize(i.worldNormal);//fixed3 worldLightDir = normalize(_WorldSpaceLightPos0.xyz);fixed3 worldLightDir = normalize(UnityWorldSpaceLightDir(i.worldPos));fixed3 diffuse = _LightColor0.rgb * _Diffuse.rgb * saturate(dot(worldNormal,worldLightDir));fixed3 reflectDir = normalize(reflect(-worldLightDir, worldNormal));//fixed3 viewDir = normalize(_WorldSpaceCameraPos.xyz - i.worldPos.xyz);fixed3 viewDir = normalize(UnityWorldSpaceViewDir(i.worldPos));fixed3 halfDir = normalize(worldLightDir + viewDir);fixed3 specular = _LightColor0.rgb * _Specular.rgb * pow(saturate(dot(reflectDir,halfDir)),_Gloss);return fixed4(ambient + diffuse + specular, 1.0);}ENDCG}}FallBack "Specular"
}
http://www.lbrq.cn/news/2613133.html

相关文章:

  • 京东网站建设及特点软件推广平台
  • 做网站的流程是怎么样的重庆seo优化
  • 怎么做自己网站产品seo百度建站
  • 天天向上做图网站企业类网站有哪些例子
  • 新浪云虚拟主机做电影网站西安小程序开发的公司
  • 网站建设运营期末考试seo常用的优化工具
  • 做淘宝客网站能有效果吗软文是什么
  • 做类似电驴网站抖音关键词推广
  • wordpress编辑器按钮七台河网站seo
  • 怎样做一个好的网站百度推广登录首页官网
  • 海贼王网页设计素材云优化软件
  • 网站机房建设图网站免费seo
  • 群晖配置wordpress 80端口廊坊seo建站
  • 崇州网站建设友情链接交换源码
  • 双语网站建设方案网络销售这个工作到底怎么样
  • 张家港企业网站制作google商店
  • 有没有好的ppt网站做参考的青岛网站
  • 外贸soho先做网站网页开发教程
  • wordpress镜像是什么意思整站seo排名
  • 网站建设免费课程网站推广
  • 运城网站建设公司有多少中国宣布取消新冠免费治疗
  • 喀什百度做网站多少钱头条搜索
  • 做同城购物网站有什么优势吗淘宝美工培训
  • php网站做语言包360优化大师软件
  • 网络在线培训网站建设方案站点查询
  • 大连地图seo每日一帖
  • 网上注册网站要钱吗论坛推广软件
  • 做网站需要什么配置的电脑seo建站收费地震
  • 今天新闻摘抄十条关键词优化排名工具
  • wordpress 批量打印文章关键词优化推广排名多少钱
  • MaxKB 使用 MCP 连接 Oracle (免安装 cx_Oracle 和 Oracle Instant Client)
  • W3D引擎游戏开发----从入门到精通【22】
  • Physics Simulation - UE中Projectile相关事项
  • Qt按键响应
  • C++高频知识点(十四)
  • 思途Spring学习 0804