1.1 Three.js基本框架.docx

1.1 Three.js基本框架.docx

ID:28488854

大小:28.33 KB

页数:8页

时间:2018-12-10

1.1 Three.js基本框架.docx_第1页
1.1 Three.js基本框架.docx_第2页
1.1 Three.js基本框架.docx_第3页
1.1 Three.js基本框架.docx_第4页
1.1 Three.js基本框架.docx_第5页
资源描述:

《1.1 Three.js基本框架.docx》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1.1Three.js基本框架在本网站第1课绘制一个三角形等一系列文章中,使用的都是WebGL原生API来编程。但之后就应该自己编写一个代码库,以用于随后的通用3D编程,这样就可以将相对复杂的原生API封装起来,提高编程效率。现在有很多不错的WebGL开源框架,Three.js就是其中的一个,它是一个3DJavaScript库,封装了底层的图形接口,使得程序员能够在无需掌握繁冗的图形学知识的情况下,也能用简单的代码实现三维场景的渲染。它是由西班牙程序员RicardoCabelloMiguel开发的,此人更出名的网名为Mr.doob。Three.js在地址为h

2、ttp://mrdoob.github.io/three.js/,在那儿你可以下载到全部源代码、文档和示例,我使用的版本为r71。本文会建立一个Three.js基本框架,以后的示例都是在这个框架的基础上实现的。我们会将“第1课绘制一个三角形”的步骤用这个框架再实现一次。接下来的绝大多数示例都参考自《LearningThree.js:TheJavascript3DLibraryforWebGL》,在本网站可下载到此书的电子英文版和源代码。基本框架在WebGL原生API中,要在页面上生成内容,大致需要以下几步:l创建WebGL上下文l创建顶点缓冲(和索引缓冲)l

3、创建顶点着色器和片段着色器l编译着色器l创建程序对象和链接着色器l绘制场景而要构建一个Three.js框架,必须拥有三样东西:l渲染器(renderer)对象:负责创建WebGL上下文,绘制场景。l场景(scene)对象:场景是最上级的对象,用于容纳所有的其他图形对象(网格、相机等)。l相机(camera)对象:定义我们在渲染好的scene中能够看到些什么。下面就是网页代码:示例01.01–基本框架

4、>

//页面加载完毕后,就可以运行Three.js了。$(function()

5、{varstats=initStats();//创建渲染器,并设置视口大小和清除色varrenderer=newTHREE.WebGLRenderer();renderer.setClearColor(0x00204d);renderer.setSize(window.innerWidth,window.innerHeight);//将WebGL的输出canvas放置到div中$("#WebGL-output").append(renderer.domElement);//创建scene对象,用来容纳网格、相机、光源等对象varscene=newTHREE.

6、Scene();//创建相机varcamera=newTHREE.PerspectiveCamera(45,window.innerWidth/window.innerHeight,0.1,1000);//设置相机位置,观察目标设置为场景中央camera.position.x=0;camera.position.y=0;camera.position.z=3;camera.lookAt(scene.position);renderer.render(scene,camera);});以上代码还使用了jquery库

7、,这不是必须的,但可以让某些DOM操作更加便捷。若现在运行程序,只会显示墨绿色的背景,我们需要在场景中添加一个黄色的三角形。8/8添加网格(Mesh)对象Three.js中绘制的绝大多数对象都是网格(Mesh),一个Mesh通常是由一个几何体(Geometry)对象和一个材质(Material)对象组合而成。其中Geometry对象保存了Mesh对象的顶点信息和索引信息,而Material对象保存与渲染效果相关的属性。通过设置材质可以改变物体的颜色、纹理贴图、光照模式等。Three.js并没有内置三角形的几何体对象,所以我们需要从几何体基类Geometry自

8、己定义顶点和索引。代码如下:vartriangleG

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
相关标签