three.js

栏目: 编程工具 · 发布时间: 6年前

内容简介:three.js

1.canvas默认是透明的,所以不要四处找你的canvas,加个border吧

2.一般使用canvas前,要获取绘制二维图形的上下文,也要注意后面使用的到底是canvas还是其上下文ctx,例:

var ctx = canvas.getContext('2d');

3.在使用canvas的imgdata时,一定要注意从canvas中取得数据是以左上角为坐标原点的,而映射到3d空间时,一般是以左下为坐标原点的。这里用高中的坐标系知识,y轴取反然后向正方向平移即可。例:

yPage = -yCanvas + yOffset;	// yOffset为向正方向平移的值,一般设为正值。

4.个人觉得webgl的核心部分还是属于opengl的那一部分,其他真的就只是熟悉api而已,而正常用three.js做点小东西的话最多也只会在编写shader着色器的时候会卡住一下,所以认真的读文档,测试官方的小例子最好不过。而关于着色器部分主要用的是GLSL(opengl shader language),看three.js的例子中,着色器其实主要编写两个部分吧,一个是顶点着色器,一个是片元着色器,简单的说第一个用来定位,第二个用来画就是了。po上从书里抄的代码,例:

// 顶点
void main(){
	gl_Position = vec4(0.0, 0.0, 0.0, 1.0);	// 表示齐次坐标,可以提高计算机处理效率
	gl_PointSize = 10.0;
}

// 片元
void main(){
	gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0)''
}

这个,类C但是比C简单,本狗其实也么有专门写过着色器。。。深究起来感觉,啊,怎么都到编写游戏去了。注意一点,就是webgl的程序包括运行在浏览器中的javascript和运行在 webgl系统中的着色器程序(抄自webgl编程指南,不错的书)。

5.关于webgl的坐标轴,表示很讨厌那些坐标系统啦左右手坐标啦什么的,明明就是垂直屏幕向外是z轴,x和y就是正常的就行了,搞那么复杂。。

6.关于元素的旋转,(x,y)表示原来的位置,a表示原来的角度,(x’,y’)表示后来的位置,b表示后来的角度。关系:

x' = x cosb - y sinb;
y' = x sinb + y cosb;

高中知识。。。 忘光了


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ext JS学习指南

Ext JS学习指南

(美)布莱兹、(美)拉姆齐、(美)弗雷德里克 / 孔纯、肖景海、张祖良 / 人民邮电出版社 / 2009-10 / 39.00元

《Ext JS学习指南》系统化地介绍了Ext JS的基础知识,从框架的下载安装到各种常用小部件的实例介绍,从如何自定义小部件到Ext JS代码复用和扩展机制,《Ext JS学习指南》覆盖了Ext JS知识的所有主要方面。作为Web 2.0时代企业应用的一把开发利器,Ext JS为企业应用开发的表现层实现提供了优秀的解决方案。 如果你掌握了HTML,并且了解一般的CSS和JavaScript的......一起来看看 《Ext JS学习指南》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具