webGL入门
待整理:
webGL学习资源:
官方教程:
http://www.khronos.org/webgl/wiki/Tutorial
另外比较有名的:
国内的翻译http://www.html5china.com/course/20110118_1520.html 翻译得……
初步:
http://www.cnblogs.com/pandora/articles/1918392.html
webGL比canvas2D好
http://muizelaar.blogspot.com/2011/02/drawing-sprites-canvas-2d-vs-webgl.html
自己机子上运行不了webGL,可能是驱动的问题。
说到装驱动,驱动精灵确实好用,但是它也有装不了的问题,比如这个显卡驱动就安装失败,我只好到intel官网去找。http://www.intel.com/p/en_US/support/detect/graphics [建议用ie跑]
它检测我的机器说是由电脑制招商自定义的驱动。我就找到了dell,输入我的机器service tag,嘿嘿,就列出一大堆可更新的驱动。果然有显卡的。安装重启,还是运行不了。后来才发现,每个浏览器都默认不是打开webGL支持的。
对于firefox,打开about:config,查找webgl,把看着像的代开就可以了。(这么说主要是每个版本都不太一样,例如FF4.0.1要设置webgl.force-enabled=true)。
在chrome里则需要添加启动参数(winXP下),见http://code.google.com/p/chromium/issues/detail?id=72975
--ignore-gpu-blacklist
不过目前最新safari只能在mac os系统下面才能提供webgl 见http://www.khronos.org/webgl/wiki_1_15/index.php/Getting_a_WebGL_Implementation#Safari。
webGL demo:
http://www.khronos.org/webgl/wiki/Demo_Repository
怎样兼容openGL和Directx [抽象]
webgl官方规范初始化代码是getContext('webgl'),而实际可用的是getContext('experimental-webgl')。官方解释是最终会向webgl过渡。
GLSL资源:(copy别人)
OpenGL Shading Language Specification
http://www.opengl.org/documentation/oglsl.html
OpenGL低级着色语言与高级着色语言
http://gameres.com/Articles/Program/Visual/3D/OpenGLOctane3d.pdf
OpenGL Shading Language Tutorials
http://www.clockworkcoders.com/oglsl/
OrangeBook's Web Site
下面依据http://learningwebgl.com/的教程来做笔记:
在进入课程前先看看它的示例代码,从第一课的下载链接中下载:(示例代码和教程写的不一样?)
要在javascript使用webGLContext编译GLSL。GLSL的写法涉及到的功能可能会导致浏览器报错(例如example0-3就报错)。
微软最近说的不支持WebGl是由于安全原因,很大部分都是说对图形卡功能的直接操作。我想他大概指的就是GLSL这种基于c形式的图形语言吧。(不过微软这种说法我觉得很勉强!)
实际上目前的webgl示例,我稍微改动一下,就导致FF在之后的绘制中一直不正常,重启FF就好了(估计是把webgl引擎搞坏了)。刚起步,我能理解……
但是到了第五课就运行不了了,只好改为chrome,可以运行。
在webglutils.js中的requestAnimFrame函数是浏览器专门为动画提供支持的函数:
见http://www.otakustay.com/animation-and-requestanimationframe/
有的需要ajax请求模型文件,所以需要发布后运行。
一个macbook的模型数据有1.2M,压缩后120k,怪不得3d文件这么大。
查了一下openGL 2d,大都说:
看nehe教程1-6即可。
z坐标固定,正交投影(较慢)。
跨平台下可考虑SDL。
www.opengl.org里面有webgl手册卡,打印出来很好用。
第十二课展示了两个物体贴图的示例(月亮和箱子)。