WebGL编程指南 - 【美】Kouichi Matsuda,Rodger Lea(松田浩一,罗杰•李)

WebGL编程指南

【美】Kouichi Matsuda, Rodger Lea(松田浩一, 罗杰•李)

出版时间

2014-05-31

ISBN

9787121229428

评分

★★★★★

标签

编程

书籍介绍

WebGL 是一项在网页上渲染三维图形的技术,也是HTML5 草案的一部分。

《WebGL编程指南》的主要篇幅讲解了WebGL 原生API 和三维图形学的基础知识,包括渲染管线、着色器、矩阵变换、着色器编程语言(GLSL ES)等等,也讲解了使用WebGL 渲染三维场景的一般技巧,如光照、阴影、雾化等等。《WebGL编程指南》提供了丰富的示例程序供读者钻研,也提供了极具价值的附录供读者参考。

《WebGL编程指南》适合有一定前端开发基础,希望学习WebGL,但对三维图形学缺乏了解的程序员们阅读。

AI导读
核心看点
  • 系统讲解WebGL原生API与三维图形学基础
  • 深入剖析着色器、矩阵变换及渲染管线原理
  • 提供丰富示例代码,涵盖光照阴影等进阶技巧
适合谁读
  • 具备前端基础,希望学习WebGL的程序员
  • 对三维图形学缺乏了解,需补底层的开发者
  • 想深入理解底层渲染逻辑的游戏引擎使用者
读前提醒
  • 需结合源码实践,部分代码下载可能需翻墙
  • 书中存在少量翻译错误,建议参考勘误表
  • WebGL技术逐渐式微,可同步关注WebGPU
读者共识
  • 讲解细致循序渐进,是公认的优秀入门读物
  • 配合源码研读,对理解OpenGL底层逻辑极有帮助
  • 虽API较底层,但能彻底打通图形学知识盲区

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "WebGL 系统由两部分组成,即定点着色器和片元着色器。 着色器运行在 WebGL 系统中,而不是 JavaScript 程序中。 WebGL 程序包括运行在浏览器中的 JavaScript 和运行在 WebGL 系统的着色器程序这两个部分。 顶点着色器指定点的位置和尺寸,片元着色器将指定点的颜色。"
  • "顶点着色器控制点的位置和大小,片元着色器控制点的颜色。如前所述,片元就是现实在屏幕上的一个像素(严格意义来说,片元包括这个像素的位置、颜色和其他信息)。"
  • "WebGL 系统中的绘制操作实际上是在颜色缓冲区中进行绘制的,绘制结束后系统将缓冲区中的内容显示在屏幕上,然后颜色缓冲区就会被充值,其中的内容就会丢失"
  • "WebGL 提供了一种很方便的机制。即缓冲区对象(buffer object),它可以一次性地向着色器传入多个顶点数据。缓冲区对象是 WebGL 系统中的一块内存区域,我们可以一次性地向缓冲区对象中填充大量的顶点数据,然后将这些数据保存在其中,供顶点着色器使用。"
  • "由于目的是为了将三角形旋转 90 度,我们得事先计算 90 度的正弦值和余弦值。在 JavaScript 中算出这两个值,再传给顶点着色器的两个 uniform 变量。 你也可以将旋转的角度传入顶点着色器,并在着色器中计算正弦值和余弦值。但是,实际上所有顶点旋转的角度都是一样的,在 JavaScript 中算好正弦值和余弦值,然后再传递进去,只需要计算一次,效率更高。"
  • "发生在顶点着色器和片元着色器之间从图形到片元的转化,又称为图元光栅化(rasterzation process)。"
  • "显示在屏幕上的三角形是由片元(像素)组成的,所以还需要将图形转化为片元,这个过程被称为光栅化(raterization)。"
作者简介
关于作者 Kouichi Matsuda 博士是多媒体产品用户界面和用户体验设计方面的专家。他先后供职于日本电气(NEC)、索尼(Sony) 研发中心、索尼(Sony) 计算机科学实验室,曾经做过产品研发,也做过科学研究,最终回到产品研发的岗位。目前,他是用户体验和人机交互领域的首席研究员,负责多款消费类电子产品的设计。他曾经设计了社交三维虚拟世界“PAW”,也曾经参与过VRML97(ISO/IEC 14772-1:1997) 标准的开发工作,在VRML和X3D(WebGL 的前身) 社区中仍然非常活跃。他撰写过15 本计算机技术的书籍,并翻译过25 本相关书籍。他专长于用户体验、用户界面、人机交互、自然语言处理和面向娱乐的网络设备,以及接口代理系统等领域。他不仅对技术领域的新鲜事物充满热情,还热衷于温泉、夏季的海滩、红酒和漫画(为此他已经沉迷于绘制插画一段时间了)。他在东京大学工程系获得了博士学位,你可以通过WebGL.prog.guide@gmail.com 联系他。 Rodger Lea 博士是卑诗大学媒体与图像跨学科中心的兼职教授,对多媒体和分布式计算等领域很感兴趣。他和他带领的研究小组在学术和工业领域耕耘超过20 年,参与制定了VRML97 标准,开发了多媒体操作系统、可交互数字电视原型,并领导了家用多媒体网络标准的制定工作。他发表了60 多篇学术论文,著有3 本技术书籍,并拥有12 项专利。目前,他的研究集中在探索发展中的互联网,但他仍然对有关多媒体和图形学的一切抱有热情。 关于译者 谢光磊,毕业于南京大学,目前为中科院在读硕士,即将成为淘宝UED 的一名前端工程师。因一次偶然的机会接触WebGL 而对其萌生兴趣,并愿意持久深入地研究这项技术。个人站点为 www.xieguanglei.com。
目录
第1 章 WebGL 概述...................... 1
WebGL 的优势 ...........................................3
使用文本编辑器开发三维应用 ...............3
轻松发布三维图形程序 .................................4
充分利用浏览器的功能 ...........................5

显示全部
用户评论
图文并茂,讲解清晰
webgl在我看来国内还是比较少的,做的好的感知不到多少,感觉这是我的方向呀,加油
非常容易理解,按照实践应用的顺序写,读完特别通气。。。还是很基础的东西,但要不是讲得这么细,shader还是看不懂的。
之前读opengles3.0编程指南,完全不知所云,一度怀疑自己的智商。直到遇到这本书,才算搞明白,真是相见恨晚。这才是真正的入门书,读完之后茅塞顿开。
再读一遍 https://webglfundamentals.org/webgl/lessons/zh_cn/
对WebGL基础介绍详细,翻译的很好。 着色器,点线三角形绘制,变换矩阵,MVP 矩阵,光照和层次模型。入门 WebGL很好的参考,读完可以轻松实现一个机器人行走动画。 但已经2022年了,WebGL 逐步淘汰,应该开始学习 WebGPU
有一些小错误,挺让人费劲的,不过整本书读下来很顺畅
少有的真的由浅入深让人能看懂的技术书。
这本书真的是一本非常好的入门书籍,虽说只是入门,到高级技术中也有很多实用干货,我的两个bug,就从这里找到了解决方案。网上还找到跟本书例子一模一样的教程,配合食用更佳。收获颇丰的一周。发现几处错别字、拼写错误,但是瑕不掩瑜。
作者循序渐进,娓娓道来,很适合我这种初学者,帮我理清了很多概念。
下载
收藏