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

苏州公司网站建设价格莱芜新闻最新视频

苏州公司网站建设价格,莱芜新闻最新视频,网络平台代理合同,经典门户网站欣赏文章目录 前言一、片元半兰伯特着色器是什么#xff1f;1. 片元漫反射着色器的工作原理2. 片元半兰伯特着色器的优缺点优点#xff1a;缺点#xff1a; 3. 公式 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数… 文章目录 前言一、片元半兰伯特着色器是什么1. 片元漫反射着色器的工作原理2. 片元半兰伯特着色器的优缺点优点缺点 3. 公式 二、使用步骤1. Shader 属性定义2. SubShader 设置3. 渲染 Pass4. 定义结构体和顶点着色器函数5. 片元着色器函数 三、效果四、总结 前言 在 Unity 中Shader 可以用来实现各种视觉效果。本教程将详细介绍如何编写一个基于片元半兰伯特着色器使物体的颜色根据光照和法线方向的变化而变化。 一、片元半兰伯特着色器是什么 1. 片元漫反射着色器的工作原理 片元半兰伯特着色器是一种用于在计算机图形学中模拟物体光照效果的着色器技术。它基于半兰伯特Half Lambert模型用于计算物体在光照条件下的漫反射光照强度。与标准的兰伯特模型相比片元半兰伯特着色器采用了一种简化的方法来计算漫反射光的强度使得物体在光照变化时表现出更加柔和的过渡效果。 2. 片元半兰伯特着色器的优缺点 优点 计算简单片元半兰伯特着色器采用了简化的半兰伯特模型计算相对较简单不需要复杂的数学运算因此性能开销较小。 柔和的光照过渡由于采用了半兰伯特模型产生的光照效果更加柔和物体在光照变化时表现出更加自然的明暗过渡效果。 适用性广泛片元半兰伯特着色器适用于对光照效果要求不是特别高的场景能够在性能受限的情况下实现基本的光照效果。 性能开销较小简化的计算模型使得片元半兰伯特着色器的性能开销相对较小适用于需要在性能受限情况下实现光照效果的场景。 缺点 缺乏真实感片元半兰伯特着色器采用了简化的模型可能无法准确地模拟真实世界中复杂的光照效果导致生成的图像缺乏真实感。 不适用于高要求场景由于是基于简化的模型片元半兰伯特着色器在需要较高光照效果真实感的场景下可能表现不佳无法满足高要求的视觉效果。 局限性半兰伯特模型适用于特定类型的材质和光照条件对于一些特殊情况可能无法准确表现导致着色效果不理想。 有限的光照控制片元半兰伯特着色器对于光照效果的控制有限无法实现一些复杂的光照效果如阴影和反射等。 3. 公式 二、使用步骤 1. Shader 属性定义 Properties {_Diffuse(Diffuse, Color) (1, 1, 1, 1) // 漫反射颜色属性默认白色 }这段代码定义了 Shader 的属性。在本例中我们只有一个属性 _Diffuse表示物体的基本颜色使用 RGBA 形式表示。默认为白色。 2. SubShader 设置 SubShader {Tags{RenderType Opaque // 渲染类型为不透明}LOD 100 // 细节级别 }SubShader 定义了一组渲染设置包括标签和细节级别。在这里我们将渲染类型标签设置为 “Opaque”表示物体是不透明的。 3. 渲染 Pass Pass {CGPROGRAM#pragma vertex vert#pragma fragment frag#include UnityCG.cginc#include Lighting.cginc }这里开始了渲染 Pass 部分。在这里我们使用了 CGPROGRAM 指令来声明顶点着色器和片元着色器函数。#pragma vertex vert 和 #pragma fragment frag 分别指定了顶点着色器函数和片元着色器函数的名称。 然后我们包含了 UnityCG.cginc 和 Lighting.cginc它们提供了许多有用的函数和宏用于简化编写 Shader。 4. 定义结构体和顶点着色器函数 struct v2f {float4 vertex : SV_POSITION; // 顶点位置fixed3 worldNormal : TEXCOORD0; // 颜色 };v2f vert(appdata_base v) {v2f o;o.vertex UnityObjectToClipPos(v.vertex); // 顶点位置变换到裁剪空间fixed3 worldNormal UnityObjectToWorldNormal(v.normal); // 世界空间法线o.worldNormal worldNormal;return o; }这里定义了结构体 v2f用于从顶点着色器向片元着色器传递数据。在顶点着色器函数中我们将顶点位置转换到裁剪空间并计算世界空间的法线向量。 5. 片元着色器函数 fixed4 frag(v2f i) : SV_Target {fixed3 ambient UNITY_LIGHTMODEL_AMBIENT.xyz; //获取环境光fixed3 worldLight normalize(_WorldSpaceLightPos0.xyz); //获取光源位置//* 0.5 0.5半兰伯特模型fixed3 diffuse _LightColor0.rgb * _Diffuse.rgb * (dot(worldLightDir, i.worldNormal) * 0.5 0.5);fixed3 color diffuse ambient; // 最终颜色return fixed4(color, 1); // 输出颜色 }片元着色器函数计算最终的颜色。首先我们获取环境光和光源位置。然后计算漫反射光照并将环境光和漫反射光照相加得到最终颜色。 三、效果 左:顶点漫反射 中:片元漫反射 右:片元半兰伯特 四、总结 片元漫反射、顶点漫反射和片元半兰伯特着色器是用于模拟物体在光照条件下的重要技术它们各自有着不同的特点和适用场景。 片元漫反射在每个像素上计算的漫反射光照效果。它提供了更精细的光照效果因为考虑了每个像素的光照情况。适用于需要高度真实感和精细光照效果的场景例如逼真的游戏场景、影视特效等。 顶点漫反射在顶点级别计算的漫反射光照效果。计算量较小适用于对性能要求较高或需要大量物体渲染的场景。可以在渲染管线的早期阶段就进行计算节省计算资源。 片元半兰伯特着色器常用于实现逼真的漫反射效果考虑了光线入射角和表面法线之间的关系符合半兰伯特定律。能够为渲染场景增加一定的真实感特别是在模拟粗糙表面时效果较好。 然而片元半兰伯特着色器也有局限性它仅考虑了漫反射光照未考虑其他光照效果如镜面反射、环境光照等。在某些场景中特别是需要更复杂光照效果以增强真实感时仅使用片元半兰伯特着色器可能会导致渲染结果缺乏真实感。 因此为了实现高度逼真的渲染效果通常需要综合考虑多种光照技术并根据场景需求选择和调整。片元半兰伯特着色器在模拟物体表面的漫反射方面表现良好但在其他方面可能需要配合其他技术以获得更好效果。
http://www.hkea.cn/news/14393368/

相关文章:

  • 昆明做整站优化自己做的网站为什么不显示图片
  • 网站建设与管理的考试做海岛旅游类网站的背景及意义
  • 网站需求分析报告范文wordpress用户后台插件
  • 邳州做网站的公司搜索引擎的营销方法
  • 南阳市城乡和住房建设局网站店铺推广渠道
  • 网站安全建设自建商城
  • 微山网站建设哪家好北京公司摇号需要哪些资格条件
  • 广西东晋建设有限公司网站新郑做网站推广
  • 网站平台开发报价表怎么做建设一个电商网站的步骤
  • 信丰做网站wordpress推荐文章
  • 潍坊网站建设怎样郑州中森网站建设
  • 延吉市住房城乡建设局官方网站芜湖市建设工程质量监督站官方网站
  • 网上花店 网站源代码WordPress 3.5火车头发布接口
  • 产品经理网站开发需求程序员为什么不敢创业做网站
  • 嘉兴网站设计999 999在阿里巴巴上做网站要多少钱
  • 郑州网络营销网站湖北省建设主管部门网站
  • 手机模板网站模板免费下载苏州工业园区教育网
  • 网站空间数据百度收录申请
  • 嘉定网站设计制作价格四川短视频seo优化网站
  • 好发信息网-网站建设魔兽世界 建设公会网站
  • 哪个网站虚拟主机好怎样将自己做的网站发布到外网上
  • 群晖网站建设处理错误500网站建设网站备案所需资料
  • 劳务 东莞网站建设网络营销的主要特点有哪些
  • 网站建设梦幻创意手机开发人员选项在哪
  • 主播网站开发设计师关注的十大网站
  • 上海城隍庙景点介绍自助建站网站seo公司
  • 建筑网官方网站dw编辑器
  • 公司网站建设怎么做账wordpress主题升级失败
  • 格尔木市公司网站建设wordpress怎么删除评论源码
  • 类似wordpress的博客系统龙岩seo包年系统排行榜