1. 绪论

最近研究WebGL,看了《WebGL编程指南》这本书,结合自己的专业知识写的一系列教程。之前在看OpenGL/WebGL的时候总是感觉OpenGL/WebGL看的时候懂,实际用起来却挺难,感觉中间总是隔着很多东西。现在一路边学边写,才明白这中间缺少的其实就是总结,是实践;把这个过程写出来,既是帮助他人,也是帮助自己。

现在这一系列文章也写了不少了,就写个目录汇总一下,方便查阅,以后增添了新的文章也会随之更新。这一系列教程由浅入深,知识也是循序渐进的,前后关联。实例也逐渐复杂,最终完成一个地形渲染的实例:

图1:地形渲染(纹理)

图2:地形渲染(颜色)

2. 目录

1.WebGL简易教程(一):第一个简单示例
概述了这篇教程的目的,编写了WebGL的第一个示例。

2.WebGL简易教程(二):向着色器传输数据
改进了绘制一个点的实例,讲述了WebGL中向着色器(shader)传输数据的问题。

3.WebGL简易教程(三):绘制一个三角形(缓冲区对象)
通过一个绘制三角形的具体实例,详解了WebGL中缓冲区对象(buffer object)的使用。

4.WebGL简易教程(四):颜色
通过绘制彩色三角形的示例,介绍了varying变量,顶点着色器与片元着色器之间数据传输的过程:顶点装配与光栅化。

5.WebGL简易教程(五):图形变换(模型、视图、投影变换)
详细讲解了OpenGL\WebGL关于绘制场景的图形变换过程,并推导了其图形变换矩阵。主要包括模型变换、视图变换以及投影变换。

6.WebGL简易教程(六):第一个三维示例(使用模型视图投影变换)
通过使用模型视图投影变换,完成第一个真正三维场景的示例:显示一组由远及近的三角形。

7.WebGL简易教程(七):绘制一个矩形体
通过一个绘制矩形包围盒的实例,进一步理解了模型视图投影变换。

8.WebGL简易教程(八):三维场景交互
基于之前教程的知识,实现了一个三维场景的浏览实例:通过鼠标实现场景的旋转和缩放。

9.WebGL简易教程(九):综合实例:地形的绘制
综合WebGL的知识,实现了绘制一张地形图的实例。

10.WebGL简易教程(十):光照
讲述了WebGL光照生成的原理,并作出了实际案例。

11.WebGL简易教程(十一):纹理
WebGL中使用纹理的实例:给地形贴上一张真实的纹理。

12.WebGL简易教程(十二):包围球与投影
通过包围球来设置模型视图投影变换,显示合适的渲染位置。

13.WebGL简易教程(十三):帧缓存对象(离屏渲染)
详细论述了WebGL中帧缓冲区技术的实现。

14.WebGL简易教程(十四):阴影
详述了WebGL中生成阴影的ShadowMap算法。

3. 资源

其代码已经上传到GitHub:地址。个人见解难免有所疏漏,欢迎大家来互相交流。

最新文章

  1. iOS-APP提交上架流程(新手必看!2016年3月1日最新版)
  2. 字符串转换为数字---使用java7的装箱功能
  3. ajax绑定
  4. Could not find com.android.tools.build:gradle:1.3.0.
  5. GTD时间管理(1)---捕获搜集
  6. BIO、NIO与NIO.2的区别与联系
  7. ctl 里面pdef解说
  8. 【jmeter】测试报告优化<一>
  9. 每日一“酷”之heapq
  10. (转载)OC学习篇之---@class关键字的作用以及#include和#import的区别
  11. Mysql 目录恢复注意事项
  12. C#解leetcode 16. 3Sum Closest
  13. CentOS 6.4 64位 源码编译hadoop 2.2.0
  14. ++i和i++哪个效率高?
  15. 对象图(Object Diagram)—UML图(三)
  16. 读懂IL
  17. nginx-push-stream模块源码学习(二)——模块初始化
  18. OpenCV学习笔记:resize函数改变图像的大小
  19. 201521123108 《Java程序设计》第7周学习总结
  20. UVA - 10723 类似LCS

热门文章

  1. [开源] gnet: 一个轻量级且高性能的 Golang 网络库
  2. Apache+Tomcat负载均衡
  3. P2934 [USACO09JAN]安全出行
  4. 深入理解java继承从“我爸是李刚”讲起
  5. Potato Sacks
  6. window中php的交互模式
  7. pdf2eps implement
  8. C# Web分页功能实现
  9. C#winfrom打开指定的文件
  10. nyoj 1 A + B Problme