CSGrandeur的WebGL学习——WebGL教程
在线查看:http://csgrandeur.gitbooks.io/webgl-learn/content/
离线mobi:http://files.cnblogs.com/files/CSGrandeur/csgrandeur-webgl-learn_mobi_20150520.rar
离线pdf:http://files.cnblogs.com/files/CSGrandeur/csgrandeur-webgl-learn_20150520.pdf
在线版本会及时更新,离线版本在有较大改动时更新。
第一章(目前只有一章)内容来自 Learning WebGL ,他的网站是:http://learningwebgl.com。我修改了代码适用到gl-matrix 2.x的版本,把操作dom的代码改成jQuery了。教程没有纯翻译,看着原版理解着写着,不明白的问题在搜了之后补充上了,自己觉得太明白的问题删减掉了。
之后学习的内容会开辟新的章节更新。如有问题欢迎指正。
——————————以下是教程前言——————————
简介
WebGL是什么
HTML5是当前HTML的新标准,其中一个特性就可以用JavaScript写调用显卡的程序,在新的网页元素Canvas上显示华丽的3D效果,开发WebGL主要使用 JavaScript语言。
我学WebGL目前有两点目的:
- Web应该是跨平台最舒服的手段了,没有哪个现代操作系统(哪怕手机系统)不配浏览器吧,HTML5的到来,感觉Web前途一片光明。
- JavaScript开发3D好像舒服很多啊,用C++写OpenGL,编译老半天,调试一步一步扯得蛋疼。
当然这两点目的可能很傻很天真,不过学点有用的东西总是好的,也不必太较真儿了。
学习WebGL需要什么基础
开始学习WebGL时我的基础:
- 具备一点PHP、HTML、JS的基础知识,做过几个Web的小项目。
- 做过几年程序设计竞赛,对C/C++语言还算比较熟悉。
- 跟着《OpenGL编程指南》第八版学过一点入门知识,懵懂了解可编程渲染管线的概念。
建议:
- 至少具备一些基本的编程技能,理解变量、函数等基础知识。
- 不必担心对Web相关领域的陌生,毕竟那不是重点,也不会成为学习WebGL过程中的难点。
- WebGL的学习过程和OpenGL是相似相通的,所以也不必担心是否需要OpenGL的基础知识
这本书干什么
这本书是我学习WebGL过程的记录,会根据学习的经验写成教程的形式。
第一章是“Learning WebGL”的内容,部分是翻译,部分是自己不懂的地方查阅资料补充的,也省略了一些觉得不必解释过细的内容,可以理解为“Learning WebGL”的一个中文版。之后学习的内容会开辟新的章节。
这本书的GitBook主页:https://www.gitbook.com/book/csgrandeur/webgl-learn
对应的Github主页:https://github.com/CSGrandeur/csgrandeur-webgl-learn
代码演示:http://csgrandeur.github.io/WebGL_Learn_Code
初学者,难免有错误与疏漏,欢迎指正,我会及时修改更新。
参考
Learning WebGL 他的网站是:http://learningwebgl.com 。
CSGrandeur的WebGL学习——WebGL教程的更多相关文章
- WebGL学习(1) - 三角形
原文地址:WebGL学习(1) - 三角形 还记得第一次看到canvas的粒子特效的时候,真的把我给惊艳到了,原来在浏览器也能做出这么棒的效果.结合<HTML5 Canvas核心技术>和网 ...
- WebGL学习(2) - 3D场景
原文地址:WebGL学习(2) - 3D场景 经过前面WebGL学习(1) - 三角形的学习,我们已经掌握了webGL的基础知识,也已经能够画出最基本的图形,比如点,线,三角形,矩形等.有了2D绘图的 ...
- WebGL学习(3) - 3D模型
原文地址:WebGL学习(3) - 3D模型 相信很多人是以创建逼真酷炫的三维效果为目标而学习webGL的吧,首先我就是
- WebGL学习之纹理贴图
为了使图形能获得接近于真实物体的材质效果,一般会使用贴图,贴图类型主要包括两种:漫反射贴图和镜面高光贴图.其中漫反射贴图可以同时实现漫反射光和环境光的效果. 实际效果请看demo:纹理贴图 2D纹理 ...
- webgl学习笔记五-纹理
写在前面 建议先阅读下前面我的三篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 webgl学习笔记三-平移旋转缩放 术语 : 纹理 :图像 图形装配区域 :顶点着色器顶点坐标 ...
- webgl学习笔记四-动画
写在前面 建议先阅读下前面我的三篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 webgl学习笔记三-平移旋转缩放 下面我们将讲解下如何让一个正方形动起来~不断擦除和重绘 ...
- webgl学习笔记三-平移旋转缩放
写在前面 建议先阅读下前面我的两篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 平移 1.关键点说明 顶点着色器需要加上 uniform vec4 u_Translation ...
- webgl学习笔记二-绘图多点
写在前面 建议先看下第一篇webgl学习笔记一-绘图单点 第一篇文章,介绍了如何用webgl绘图一个点.接下来本文介绍的是如何绘制多个点.形成一个面. webgl提供了一种很方便的机制,即缓冲区对象, ...
- WebGL学习之法线贴图
实际效果请看demo:纹理贴图 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理.但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面.以光照算法的视角 ...
随机推荐
- 双参数Bellman-ford带队列优化类似于背包问题的递推
为方便起见,将Bellman-ford队列优化称为SPFA,= = 抓住 ZMF (ZMF.pas/c/cpp) 题目描述 话说这又是一个伸手不见五指的夜晚,为了机房的电子竞技事业永远孜孜不倦的 ZM ...
- CH round #55 Streaming #6
T^T Saffah大神照样刷我这样诚心诚意想做一套NOIP模拟题的蒟蒻. 第一题 九九归一 好diao的名字... 题意就是给定一队$n,q$,求在模$n$意义下一个数$x$自乘的循环节长度. 当$ ...
- Windows下的git配置
需要的配置: 1.C:\Program Files\Git\etc\git-completion.bash: alias ls='ls --show-control-chars --color=aut ...
- schedule CCCallfunc CCCallfuncN CCCallfuncND
schedule(schedule_selector(HelloWorld::step), 1.0f); void HelloWorld::step(float dt) { CCLog("d ...
- 61. 从1到n,共有n个数字,每个数字只出现一次。从中随机拿走一个数字x,请给出最快的方法,找到这个数字。如果随机拿走k(k>=2)个数字呢?[find k missing numbers from 1 to n]
[本文链接] http://www.cnblogs.com/hellogiser/p/find-k-missing-numbers-from-1-to-n.html [题目] 从1到n,共有n个数字 ...
- canvas实践小实例一 —— 画板工具
前面讲了一部分的canvasAPI的基础知识,光看API的介绍确实是很无趣乏味,需要一点可以激发内心的激情的东西来激励自己来学习,于是就了伴随canvasAPI学习的小实例,这样通过API的知识,结合 ...
- 【python】
1.修改系统默认编码: reload(sys) sys.setdefaultencoding('utf-8') 为什么在sys.setdefaultencoding之前要写reload(sys) 因为 ...
- CodeForces - 416A (判断大于小于等于 模拟题)
Guess a number! Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- Java性能优化权威指南-读书笔记(三)-JVM性能调优-内存占用
新生代.老年代.永久代的概念不多说,这三个空间中任何一个不能满足内存分配请求时,就会发生垃圾收集. 新生代不满足内存分配请求时,发生Minor GC,老年代.永久代不满足内存分配请求时,发生Full ...
- c++流的读写
std::istream input_stream;//这是一个文件流,想把它写入文件 思路是,先将input_stream流读入一个char* buffer; 然后用std::ofstream将bu ...