上一面讲述了向场景中添加物体对象。这一篇准备把每个功能点细细的讲述一遍,一方面是为了加深自己的理解。另一方面希望能够帮助到有需要的人。一、在学习WEBGL的时候,你应该先了解要创建一个WebGL程序需要哪些步骤。就跟弄梅菜扣肉一样,需要哪些步骤。初始化WebGL绘图上下文初始化着 ...
上一面讲述了向场景中添加物体对象。这一篇准备把每个功能点细细的讲述一遍,一方面是为了加深自己的理解。另一方面希望能够
帮助到有需要的人。
一、在学习WEBGL的时候,你应该先了解要创建一个WebGL程序需要哪些步骤。就跟弄梅菜扣肉一样,需要哪些步骤。
- 初始化WebGL绘图上下文
- 初始化着色器程序
- 建立模型和数据缓存
- 完成绘制和动画
这是一个面向过程编程。然而three.js不一样,是一个面向对象编程。主要构建三个对象 scene(场景) camera(相机) renderer(渲染器).。
这三个东西是什么意思呢?听起来完全不懂是啥。举个小列子:就拿电影来说。场景(scene)就好比整个布局空间,相机(camera)相当于
拍摄期。而渲染器相当于(renderer)把拍摄的电影转换成胶卷也就是电脑的屏幕。
场景和空间包含了3D和数据模型,而renderer包含了着色器和WebGL绘图上下文。
二、THREE.JS创建场景,相机,渲染器
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Demo1(three入门第一篇)</title></head><body></body><script type="text/javascript" src='/images/loading.gif' data-original="js/three.js"></script><script type="text/javascript"> var width = window.innerWidth, height = window.innerHeight; var scene = new THREE.Scene(); //创建一个场景 var camera = new THREE.PerspectiveCamera(75,width/height,1,5000); //创建相机 /* three.js创建相机的方式有很多种,其中最长用的是PerspectiveCamera(); 远景相机,相当于人眼观察模式 肯定有人会有疑问,这几个参数是什么意思呢? 第一个 75 是 视角 width / height 相机拍摄面的长宽比,别问为什么这么写,我也没搞清楚。反正设置为窗口 的width/height图形就不会被压变形。 下面两个是近裁剪面。和远裁剪面。 */ var renderer = new THREE.WebGLRenderer(); //s上一篇用的是CSS3DRenderer //WebGLrenderer其实是用CANVAS渲染。 renderer.setSize(width,height); document.getElementsByTagName('body')[0].appendChild(renderer.domElement);</script></html>
原标题:Three.js入门篇(一)创建一个场景
关键词:JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。