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

政务系统网站建设广州广告公司十大排行榜

政务系统网站建设,广州广告公司十大排行榜,特种作业人员成绩查询,网页制作基础教程本社文章目录 前言一、在上一篇文章中#xff0c;得到GI相关数据后#xff0c;需要对其进行Lambert光照模型计算二、在准备好上面步骤后#xff0c;我们需要准备缺少的数据1、准备上图中的 s.Normal2、准备上图中的 s.Albedo 前言 Unity中Shader的GI的直接光实现#xff0c;基… 文章目录 前言一、在上一篇文章中得到GI相关数据后需要对其进行Lambert光照模型计算二、在准备好上面步骤后我们需要准备缺少的数据1、准备上图中的 s.Normal2、准备上图中的 s.Albedo 前言 Unity中Shader的GI的直接光实现基于上一篇准备好的数据的基础上继续实现GI的直接光效果 Unity中Shader的烘培分支的判断 一、在上一篇文章中得到GI相关数据后需要对其进行Lambert光照模型计算 这是上一篇文章中得到 GI 数据的方法 LightingLambert_GI1(o,giInput,gi); 得到了之后我们直接使用Unity自带的计算 Lambert 模型的函数计算即可当然也可自己按照之前的文章实现 Lambert 光照模型 Unity中Shader的Lambert光照的实现 这是在 Lighting.cginc 中Unity实现Lambert光照的方法 我们把它移植到我们自己的 cginc 中方便管理修改记着修改一下函数名防止函数名冲突 二、在准备好上面步骤后我们需要准备缺少的数据 1、准备上图中的 s.Normal 这在之前的文章中已经定义过很多次了具体步骤如下 1.在appdata中接受 half3 normal NORMALhalf3 normal : NORMAL; 2.在 v2f 中定义一个 half3 worldNormal TEXCOORD用于存放顶点法线数据half3 worldNormal : TEXCOORD2; 3.在顶点着色器中把 appdata 传入的数据转化到世界坐标下存入 v2f 的worldNormal中o.worldNormal UnityObjectToWorldNormal(v.normal); 4.在片元着色器中把 worldNormal 赋值给 SurfaceOutput 变量的 Normal//1、准备 SurfaceOutput 的数据 SurfaceOutput o; //目前先初始化为0使用Unity自带的方法把结构体中的内容初始化为0 UNITY_INITIALIZE_OUTPUT(SurfaceOutput,o) o.Normal i.worldNormal; 然后我们在UnityLambertLight1中返回一下diff,看看结果 在片元着色器返回计算结果 fixed4 c LightingLambert1(o,gi); return c; 这是烘培前的效果 这是烘培后的效果我们可以看见已经有基本的光照效果了 2、准备上图中的 s.Albedo 这个 Albedo 一般是用模型的贴图主纹理采样得到的在这里我们没有使用则一般给他赋值为1不能为0不然会导致输出的结果为黑色 以下是修改后的完整代码 //在这里里面使用 自定义的 cginc 来实现全局GI //GI数据的准备 //烘培分支的判断 //GI的直接光实现 //GI的间接光实现 Shader MyShader/P1_8_6 {SubShader{Tags { RenderTypeOpaque }Pass{Tags{LightModeForwardBase}CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile DYNAMICLIGHTMAP_ON#pragma multi_compile LIGHTMAP_ON#include UnityCG.cginc#include AutoLight.cginc#include Lighting.cginc#include CGIncludes/MyGlobalIllumination.cgincstruct appdata{float4 vertex : POSITION;//定义第二套 UV appdata 对应的固定语义为 TEXCOORD1#if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)float4 lightmapUV : TEXCOORD1;#endifhalf3 normal : NORMAL;};struct v2f{float4 vertex : SV_POSITION;float4 worldPos : TEXCOORD0;//定义第二套UV#if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)float4 lightmapUV : TEXCOORD1;#endifhalf3 worldNormal : TEXCOORD2;};v2f vert (appdata v){v2f o;o.vertex UnityObjectToClipPos(v.vertex);o.worldPos mul(unity_ObjectToWorld,v.vertex);//对第二套UV进行纹理采样#if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)o.lightmapUV.xy v.lightmapUV * unity_LightmapST.xy unity_LightmapST.zw;#endifo.worldNormal UnityObjectToWorldNormal(v.normal);return o;}fixed4 frag (v2f i) : SV_Target{//1、准备 SurfaceOutput 的数据SurfaceOutput o;//目前先初始化为0使用Unity自带的方法把结构体中的内容初始化为0UNITY_INITIALIZE_OUTPUT(SurfaceOutput,o)o.Albedo 1;o.Normal i.worldNormal;//2、准备 UnityGIInput 的数据UnityGIInput giInput;//初始化UNITY_INITIALIZE_OUTPUT(UnityGIInput,giInput);//修改用到的数据giInput.light.color _LightColor0;giInput.light.dir _WorldSpaceLightPos0;giInput.worldPos i.worldPos;giInput.worldViewDir normalize(_WorldSpaceCameraPos - i.worldPos);giInput.atten 1;giInput.ambient 0;#if defined(DYNAMICLIGHTMAP_ON) || defined(LIGHTMAP_ON)giInput.lightmapUV i.lightmapUV;#endif//3、准备 UnityGI 的数据UnityGI gi;//直接光照数据主平行光gi.light.color _LightColor0;gi.light.dir _WorldSpaceLightPos0;//间接光照数据(目前先给0)gi.indirect.diffuse 0;gi.indirect.specular 0;LightingLambert_GI1(o,giInput,gi);//我们在得到GI的数据后对其进行Lambert光照模型计算即可得到结果fixed4 c LightingLambert1(o,gi);return c;//return fixed4(gi.indirect.diffuse,1);//return 1;}ENDCG}} } 这是修改后的效果
http://www.w-s-a.com/news/573586/

相关文章:

  • 网站的备案流程图垦利网站制作
  • 行业用品网站怎么建设外链买东西的网站都有哪些
  • 淘宝做促销的网站集团门户网站建设策划
  • 网站排行榜查询怎样把个人介绍放到百度
  • vps 网站上传河北省招投标信息网
  • 武进网站建设咨询网站定制公司选哪家
  • 郑州市建设投资集团公司网站深圳企业网站建设推荐公司
  • 天津个人网站备案查询dz网站恢复数据库
  • 关于网站建设的期刊文献宣传片文案
  • 物业网站模板下载wordpress+菜单大小
  • 网站建设案例教程视频空间刷赞网站推广
  • 网站建设借鉴做外贸球衣用什么网站
  • 网站建设的前途微信公众号制作网站
  • 做网站之前要安装什么网站改进建议有哪些
  • 网站建设+管理系统开发山东专业网站建设公司
  • 基础微网站开发咨询中国印花图案设计网站
  • 找最新游戏做视频网站天津市招标投标公共服务平台
  • 电影订票网站怎么做注册地址出租多少钱
  • 做网站的规划和设想怎样做能让招聘网站记住密码
  • 建站知乎网站公告建设方案
  • 济南市住房和城乡建设局官方网站淮阳住房和城乡建设网站
  • 网站的设计特点有哪些seo推广要多少钱
  • wordpress开通多站点好处软件开发外包公司的设计一般多少钱
  • 为什么我的网站做不起来微信网页版登录手机版下载
  • 苏州市建设职业中心网站北京网站优化方法
  • 于飞网站开发溧阳 招网站开发
  • 网站中的宣传册翻页动画怎么做长沙有哪些网络平台公司
  • 如何做视频门户网站网站建设模板ppt
  • 青岛黄岛区网站开发百度云盘登录入口
  • 建设银行甘肃省行网站房地产市场调研报告