WebGL入门3相机参数及光照模型
Posted yanky
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebGL入门3相机参数及光照模型相关的知识,希望对你有一定的参考价值。
透视相机:PerspectiveCamera( fov, aspect, near, far )
1、视角fov:这个最难理解,我的理解是,眼睛睁开的角度,即,视角的大小,如果设置为0,相当你闭上眼睛了,所以什么也看不到,如果为180,那么可以认为你的视界很广阔,但是在180度的时候,往往物体很小,因为他在你的整个可视区域中的比例变小了。
2、近平面near:这个呢,表示你近处的裁面的距离。补充一下,也可以认为是眼睛距离近处的距离,假设为10米远,请不要设置为负值,Three.js就傻了,不知道怎么算了,
3、远平面far:这个呢,表示你远处的裁面,
4、纵横比aspect:实际窗口的纵横比,即宽度除以高度。这个值越大,说明你宽度越大。
正投影相机:OrthographicCamera( left, right, top, bottom, near, far )
1、 left参数
left:左平面距离相机中心点的垂直距离。
2、 right参数
right:右平面距离相机中心点的垂直距离。
3、 top参数
top:顶平面距离相机中心点的垂直距离。
4、 bottom参数
bottom:底平面距离相机中心点的垂直距离。
5、near参数
near:近平面距离相机中心点的垂直距离。
6、far参数
far:远平面距离相机中心点的垂直距离。
对于光照模型,和opengl一样,需要注意的是,方向光的position是一个向量,各项的范围都应该在(0,1)之间,其他光源是看作放在空间某个position的一盏灯,所以各项的范围可以很大。
和其他模块一样,需要添加的light就是一个object,声明一盏灯,然后确定类型,位置和颜色。
以上是关于WebGL入门3相机参数及光照模型的主要内容,如果未能解决你的问题,请参考以下文章
shader编程-RayMarching与SDF搭建三维场景实现Blinn-Phong光照(WebGL-Shader开发基础08)
shader编程-RayMarching与SDF搭建三维场景实现Blinn-Phong光照(WebGL-Shader开发基础08)