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

一个数据库怎么做二个网站seo网站推广可以自己搞吗

一个数据库怎么做二个网站,seo网站推广可以自己搞吗,网站怎么做百度能搜到,企业营销型网站建设方案作为离开学校十几年的学渣,最近决定要改一改过分功利地追求工程进度,得过且过的烂习惯。从最基础的光照理论复习起来。当年的课本镇住题头先。一般计算机图形学在讲解光照理论[1]时都是如下的顺序。虽说都是过时了的技术,但是你们fashion的PB…

0e4ce045552754634f8bf42c1da6856d.png

作为离开学校十几年的学渣,最近决定要改一改过分功利地追求工程进度,得过且过的烂习惯。从最基础的光照理论复习起来。当年的课本镇住题头先。

一般计算机图形学在讲解光照理论[1]时都是如下的顺序。虽说都是过时了的技术,但是你们fashion的PBR还是以这些老祖宗为基础的。魔改的时候,请注意这些是骨头动不了。

1.1 Shading 着色方式

1.1.1 Flat shading平面着色

这是渲染一个材质表面最简单高效的方式。每个面使用单个颜色来表现. 在Unity中并没有实现这种着色方式,你需要自己动手写一个简单的CG shader。如果你要的是lowpoly那种效果的话,记得别用光滑组,按三角面给出顶点法线。

9f8dd198e3fc0e7f7350c3aba3ba07de.png

1.1.2 Gouraud shading 哥罗德着色

哥罗德着色方式被引入图形学用于提升颜色在光滑物体上的自然过渡。该方式计算每个模型顶点的光色,然后将光色插值到顶点所在的三角面.

22814c7c720c8283107306c901d76a14.png

这样的方式显然会比逐像素计算光色来的高效,但是由于大部分的材质并不只有漫反射,还有镜面反射,而镜面反射大都发生在多边形内部并非顶点上,所以该方式在表现具有细节高光的物体时显得非常糟糕.

Unity 自带VertexLit shader使用的该着色方式,请右键你的shader文件,在inspector中查看生成后的shader代码中的frag函数。

1.1.3 Phong shading 旁氏着色

如上所说大部分的材质表面并不是只有漫反射,还有高光反射。为了表现材质高光,旁氏着色被引入渲染方法中。在渲染多边形中的某一个点时,该点的法线为相邻顶点法线的插值。光色逐点计算.

b8c89f16705719e68423f2729f8088e4.png

这能非常完美地表现一个球体,因为法线的插值正是符合球体的法线分布规律。

UNITY surface shader默认使用Phong shading,请右键你的mobile diffuse shader,在inspector中查看生成后的surf shader代码中的frag函数。

1.2 Lambert Lighting Model

f1f7865159ef7da5587f9f584699615e.png

漫反射材质的特性是进入表面的入射光线会从一个随机方向反射出去。你可以把这个过程想象成为一个原子会吸收一部分光子后向另外一个方向发射另外一个光子,由于光反射方向的随机性,我们的观察角度变得不那么重要,唯一需要关注的就是光从什么方向进入这个材质表面。

226e499d5941e7d6a9298301b501b657.png

cbc5e4bb47d7f8ddd7647d3b4281d08a.png

如果光从一个更接近垂直的角度进入表面,意味着更密集的光能量到达了材质表面。如果光从一个斜视的角度进入材质,同样多的光能量会覆盖更大的区域而单位表面接受到的光能量更少一些.如图所示,材质表面接收到的光能量以及它能反射出去的量 是与材质表面以及光方向之间的夹角成比例的。

这就是为什么我们需要材质表面的法线向量。法线与光方向夹角的余弦值决定了我们需要的照明比例。

在Unity中我们可以找到Lambert Lighting的实现如下:

//Shader代码 from Lighting.cgin
fixed diff = max (0, dot (input.Normal, light.dir));
fixed4 output;
output.rgb = s.Albedo * light.color * diff;

1.3 Phong Lighting Model

bf16a6479eb5898598b4ce7944360699.png

正如我们之前提到的,材质表面并不仅仅只有漫反射,现实中的物体表面都会有一部分镜面反射,即部分入射光线会从反射方向射出。如果材质的观察者正好从反射角度来观察材质,会发现材质表面的一个区域会比其他区域更亮一些。注意观察者的位置是不变的。观察者可以选择观察材质表面的不同区域,但是高光反射只会出现在反射光线直射到观察者的区域。这样,一部分光被材质表面吸收并反射到了任意方向,而另一部分直接反射出表面,如果这个直接反射的部分为100%,那么这个表面就是一个理想镜面了.

我们仍旧可以使用观察方向和光线的反射方向的余弦值来定义这个光照模型,但是,由于余弦函数衰减得太慢,它在材质表面呈现的是一个大而松散的高光。Phong提议使用余弦值的n次幂来快速衰减余弦值,且不会影响函数0~1的值域,这个次幂在程序圈里被叫做shininess。由于计算量相比Blinn-Phong更大,Unity的默认shader中并没有使用该光照模型,当然你自己魔改一下也可以,高光点的位置会稍微有区别,不过,别杠行不?

1.4 Blinn-Phong Lighting Model

更接近真实世界的光照模型其实是Blinn-Phong模型,它计算高光的方式有些许的不同。在Blinn-Phong模型中,我们使用的是光的入射向量与观察方向之和与材质表面法线的余弦值来衡量照明效果,从图中可以看到,在光的反射方向与观察方向重合时,该向量与法线方向重合,余弦值为1,感受到最强的光,理论自洽没毛病。

43fedd83279be01651e34d002c9d3bf1.png

其他的一切不变,在Unity中的实现如下

//Shader代码 from Lighting.cginc
half3 h = normalize (light.dir + viewDir);
fixed diff = max (0, dot (s.Normal, light.dir));
float nh = max (0, dot (s.Normal, h));
float spec = pow (nh, s.Specular*128.0) * s.Gloss;
fixed4 c;
c.rgb = s.Albedo * light.color * diff + light.color * _SpecColor.rgb * spec;

本来还想写写PBS,最后发现我知道的那点皮毛都是从别的知乎大神那里学来的,还是等实践体会再深一点,再来总结吧。

Reference

[1]Computer Graphics: Shading and Lighting

http://www.lbrq.cn/news/2351827.html

相关文章:

  • 网站 前端seo日常工作内容
  • 网站域名申请费用好用的磁力搜索引擎
  • 西宁做网站_君博相约网站推广是干嘛的
  • 如何在公司服务器建个内部 网站推广码怎么填
  • 有没有可以做网站动图的软件友情链接吧
  • 网站被禁止访问怎么打开网络营销推广外包平台
  • 入职简历模板好的seo网站
  • 做网站该去哪找客户软文文章
  • 别人做的网站不能用怎么办啊seo学途论坛网
  • 中国生态文明建设的意义和目标网站整体优化
  • 中国设计在线网站百度竞价登录入口
  • 成都网站建设福州站长之家关键词查询
  • 广州海珠建网站北京网站seo优化推广
  • 装修网单平台哪个好点网站关键词排名优化推广软件
  • 宣传片制作公司前景优化大师兑换码
  • 用dedecms做的网站国际局势最新消息今天
  • 私域视频seo外链购买
  • 企业商城网站开发建设怎么建企业网站
  • 石家庄seo网站建设代刷网站推广
  • 机械设备行业网站建设seo的含义是什么意思
  • 做公司网站价格seo百度快速排名
  • 网站制作过程灰色行业关键词推广
  • 国内h5 css3网站什么是搜索引擎优化推广
  • 网站建设外包质量进度跟进seo快速优化文章排名
  • 做网站首页图片全网线报 实时更新
  • 海南高端建设网站哪里有培训网
  • 数字营销包括什么安徽网站推广优化
  • 网站快照是自己做的吗淘宝引流推广怎么做
  • 安徽专业网站制作公司企业网站优化软件
  • 建一个网站的费用查看浏览过的历史记录百度
  • LeafletJS 进阶:GeoJSON 与动态数据可视化
  • uniapp写好的弹窗组件
  • 分布式弹性故障处理框架——Polly(1)
  • WebView JSBridge 无响应问题排查实录 全流程定位桥接调用失效
  • 快速了解 HTTPS
  • Linux探秘坊-------14.信号