在线查看: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目前有两点目的:

  1. Web应该是跨平台最舒服的手段了,没有哪个现代操作系统(哪怕手机系统)不配浏览器吧,HTML5的到来,感觉Web前途一片光明。
  2. 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教程的更多相关文章

  1. WebGL学习(1) - 三角形

    原文地址:WebGL学习(1) - 三角形 还记得第一次看到canvas的粒子特效的时候,真的把我给惊艳到了,原来在浏览器也能做出这么棒的效果.结合<HTML5 Canvas核心技术>和网 ...

  2. WebGL学习(2) - 3D场景

    原文地址:WebGL学习(2) - 3D场景 经过前面WebGL学习(1) - 三角形的学习,我们已经掌握了webGL的基础知识,也已经能够画出最基本的图形,比如点,线,三角形,矩形等.有了2D绘图的 ...

  3. WebGL学习(3) - 3D模型

      原文地址:WebGL学习(3) - 3D模型   相信很多人是以创建逼真酷炫的三维效果为目标而学习webGL的吧,首先我就是

  4. WebGL学习之纹理贴图

    为了使图形能获得接近于真实物体的材质效果,一般会使用贴图,贴图类型主要包括两种:漫反射贴图和镜面高光贴图.其中漫反射贴图可以同时实现漫反射光和环境光的效果. 实际效果请看demo:纹理贴图 2D纹理 ...

  5. webgl学习笔记五-纹理

    写在前面 建议先阅读下前面我的三篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 webgl学习笔记三-平移旋转缩放 术语 : 纹理 :图像 图形装配区域 :顶点着色器顶点坐标 ...

  6. webgl学习笔记四-动画

    写在前面 建议先阅读下前面我的三篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 webgl学习笔记三-平移旋转缩放   下面我们将讲解下如何让一个正方形动起来~不断擦除和重绘 ...

  7. webgl学习笔记三-平移旋转缩放

    写在前面 建议先阅读下前面我的两篇文章. webgl学习笔记一-绘图单点 webgl学习笔记二-绘图多点 平移 1.关键点说明 顶点着色器需要加上 uniform vec4 u_Translation ...

  8. webgl学习笔记二-绘图多点

    写在前面 建议先看下第一篇webgl学习笔记一-绘图单点 第一篇文章,介绍了如何用webgl绘图一个点.接下来本文介绍的是如何绘制多个点.形成一个面. webgl提供了一种很方便的机制,即缓冲区对象, ...

  9. WebGL学习之法线贴图

    实际效果请看demo:纹理贴图 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理.但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面.以光照算法的视角 ...

随机推荐

  1. asp.net日志跟踪方法

    1. 页面级的配置 要在页面级启用跟踪功能,就要在@Page指令中设置Trace属性.如下所示: *************************************************** ...

  2. catalog、scheme区别

    按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要用来解决命名冲突问题.从概念上说,一个数据库系统包含多个 ...

  3. 《ASP.NET1200例》嵌套在DataLisT控件中的其他服务器控件---DropDownList控件的数据绑定

    aspx <script type="text/javascript"> function CheckAll(Obj) { var AllObj = document. ...

  4. iOS 用CALayer实现动画

    与动画有关的几个类的继承关系 涉及到动画的类主要有6个,看一下它们的基本用途: 1. CAAnimation  动画基类 2. CAAnimationGroup 组合多个动画 3. CAPropert ...

  5. POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)

    题意:给出a和b的gcd和lcm,让你求a和b.按升序输出a和b.若有多组满足条件的a和b,那么输出a+b最小的.思路:lcm=a*b/gcd   lcm/gcd=a/gcd*b/gcd 可知a/gc ...

  6. ubuntu命令行相关命令使用心得

    一.Ubuntu解压缩zip,tar,tar.gz,tar.bz2 ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac ...

  7. fcitx-sogoupinyin下载地址和安装

    伴随着Deepin 12.12 beta的发布,搜狗输入法也与我们见面了.在发布前几日Deepiner也通过各种途径向我们展示了搜狗Linux输入法,当然也掉足了胃口. 来自官方的截图: 当然令很多U ...

  8. MFC基于Dialog的工程中使用OSG

    osg的例子有osgviewerMFC,是MDI类型的MFC工程,我一般用基于对话框的MFC较多. 注意观察MFC_OSG.h文件中的cOSG构造函数,参数是一个窗口句柄hWnd,这里的窗口可以不只局 ...

  9. vm 负责虚拟机出现“”适配器 的mac地址在保留地址范围内‘’

    我自己在windows中文件中,直接将一个虚拟机进行复制了一份,后用vm打开, 选择我已经移到,结果会出现了一下的情况, 导致了我无法ping 通,故我看到一下提示: 原来是我两台虚拟机的MaC ,即 ...

  10. 二、JavaScript语言--JS基础--JavaScript进阶篇--流程控制语句

    1.if语句--做判断 if语句是基于条件成立才执行相应代码时使用的语句. 语法: if(条件) { 条件成立时执行代码} 注意:if小写,大写字母(IF)会出错! 假设你应聘web前端技术开发岗位, ...