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)

[WebGL入门]二十五,点光源的光照

光照模型

OpenGL ES之基础光照模型的实现

Unity_URP_Rendering Debugger 调试入门之解构环境光反射光等Lit光照模型的代码逻辑