
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL (OpenGL) Paperback – July 9, 2013
Purchase options and add-ons
Using WebGL®, you can create sophisticated interactive 3D graphics inside web browsers, without plug-ins. WebGL makes it possible to build a new generation of 3D web games, user interfaces, and information visualization solutions that will run on any standard web browser, and on PCs, smartphones, tablets, game consoles, or other devices. WebGL Programming Guide will help you get started quickly with interactive WebGL 3D programming, even if you have no prior knowledge of HTML5, JavaScript, 3D graphics, mathematics, or OpenGL.
Youll learn step-by-step, through realistic examples, building your skills as you move from simple to complex solutions for building visually appealing web pages and 3D applications with WebGL. Media, 3D graphics, and WebGL pioneers Dr. Kouichi Matsuda and Dr. Rodger Lea offer easy-to-understand tutorials on key aspects of WebGL, plus 100 downloadable sample programs, each demonstrating a specific WebGL topic.
Youll move from basic techniques such as rendering, animating, and texturing triangles, all the way to advanced techniques such as fogging, shadowing, shader switching, and displaying 3D models generated by Blender or other authoring tools. This book wont just teach you WebGL best practices, it will give you a library of code to jumpstart your own projects.
Coverage includes:
WebGLs origin, core concepts, features, advantages, and integration with other web standards
How and basic WebGL functions work together to deliver 3D graphics
Shader development with OpenGL ES Shading Language (GLSL ES)
3D scene drawing: representing user views, controlling space volume, clipping, object creation, and perspective
Achieving greater realism through lighting and hierarchical objects
Advanced techniques: object manipulation, heads-up displays, alpha blending, shader switching, and more
Valuable reference appendixes covering key issues ranging from coordinate systems to matrices and shader loading to web browser settings
This is the newest text in the OpenGL Technical Library, Addison-Wesleys definitive collection of programming guides an reference manuals for OpenGL and its related technologies. The Library enables programmers to gain a practical understanding of OpenGL and the other Khronos application-programming libraries including OpenGL ES and OpenCL. All of the technologies in the OpenGL Technical Library evolve under the auspices of the Khronos Group, the industry consortium guiding the evolution of modern, open-standards media APIs.
- Print length542 pages
- LanguageEnglish
- PublisherAddison-Wesley Professional
- Publication dateJuly 9, 2013
- Dimensions7 x 1.23 x 9.13 inches
- ISBN-100321902920
- ISBN-13978-0321902924
Book recommendations, author interviews, editors' picks, and more. Read it now.
Frequently bought together

Customers who viewed this item also viewed
Editorial Reviews
About the Author
Dr. Rodger Lea is an adjunct professor with the Media and Graphics Interdisciplinary Centre at the University of British Columbia, with an interest in systems aspects of multimedia and distributed computing. With more than 20 years of experience leading research groups in both academic and industrial settings, he has worked on early versions of shared 3D worlds, helped define VRML97, developed multimedia operating systems, prototyped interactive digital TV, and led developments on multimedia home networking standards. He has published more than 60 research papers and three books, and he holds 12 patents. His current research explores the growing "Internet of Things," but he retains a passion for all things media and graphics.
Product details
- Publisher : Addison-Wesley Professional; OpenGL edition (July 9, 2013)
- Language : English
- Paperback : 542 pages
- ISBN-10 : 0321902920
- ISBN-13 : 978-0321902924
- Item Weight : 1.6 pounds
- Dimensions : 7 x 1.23 x 9.13 inches
- Best Sellers Rank: #1,708,422 in Books (See Top 100 in Books)
- #26 in OpenGL Software Programming
- #318 in Digital Video Production (Books)
- Customer Reviews:
About the authors
Currently CEO of Internet of Things startup, Sense Tecnic, Dr. Lea has over 25 years experience spanning academic, large corporations and startups. For the last 10 years, he has started or helped start 4 new companies while managing an active research program (University of British Columbia, Canada and Lancaster University, UK) into distributed and ubiquitous computing.
Prior to his startups, Dr. Lea spent over 15 years in industrial research, most recently as Vice President and Director of Sony’s US distributed system lab, located in Silicon Valley, CA. In this capacity, Dr. Lea aided in developing advanced technologies to support Sony’s broadband media strategy including research and development in areas such as future media presentation formats, media delivery and caching, digital and interactive TV, home networking and peer to peer infrastructure technologies. This research generated over 100 international patents and delivered technology into a number of major products ranging from Sony’s interactive set-top boxes, to the Sony PDAs and High Definition TV systems.
Before this, Dr Lea was part of Sony’s Tokyo based Computer Science Laboratory where he led developments in the area of adaptive operating systems, and networked virtual reality systems.
Before joining Sony, Dr. Lea spent time with Hewlett Packard’s research labs where he led the definition and implementation of a distributed fault tolerant infrastructure for telecom systems. This work grew out of his previous role heading up the European research and development programs for Chorus Systems, a French start up company which spun out of the French national research labs.
Dr. Lea holds a Ph.D in computer science from Lancaster University in the UK and has numerous publications in the area of distributed systems, operating systems and home networking. He is the holder of several US patents and has published books on the Internet of Things (IoT) web graphics (WebGL), home networking and 3D graphics for virtual reality systems. He currently splits his time between BC, Silicon Valley and Europe.
Currently Professor in Engineering, Dr. Matsuda has over 30 years experience from human computer interaction (and metaverse) to machine learning. He holds a Ph.D in computer science from the University of Tokyo in the Japan and has numerous publications in the area of metaverse, computer vision, computer graphics and progamming. He is also active translator and published about 30 translations of computer science books in Japan.
Discover more of the author’s books, see similar authors, read book recommendations and more.
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonCustomers say
Customers find this WebGL programming guide excellent for beginners, with clear explanations and helpful diagrams and images. The book effectively teaches 3D programming fundamentals, and one customer notes that the code is available on the book's website. Customers consider it worth the investment.
AI-generated from the text of customer reviews
Select to learn more
Customers find this book to be an excellent learning resource, particularly for beginners, as it effectively explains the basics of WebGL programming. One customer notes that the exercises complement the material well.
"...very thoroughly, and this is as good a reference as a learning tool...." Read more
"...show things not to do, and what would happen, which helps with understanding the concepts...." Read more
"...This book will give you a good understanding of how the canvas element in HTML5 works with WebGL and what you need to get started...." Read more
"...That said, as you move through the book, you do learn the core stuff." Read more
Customers find the language of the book well laid out and clearly explained, with one customer noting that it uses beginner-friendly terminology for certain concepts.
"...Tough language (not that OpenGL is easy either!), outstanding text and reference, must have if you have or will commit to this API...." Read more
"...They also use beginner friendly terminology for certain things, like calling depth buffering “hidden surface removal”, which was odd at first until..." Read more
"...The book is well laid out and will not leave you asking questions, as it introduces new content in a linear fashion...." Read more
"...So this book is really friendly for readers. So if you are a beginner who is learning webgl, this is the best book for you." Read more
Customers appreciate the code quality in this programming guide, which provides a good walk-through to explain WebGL, with one customer noting that the code is clean and available on the book's website, while another mentions it introduces new content in a linear fashion.
"...books and numerous web tutorials on WebGL, and this is by far the most complete and real world of any of them-- I began using the code snippets..." Read more
"...WebGL initialization, drawing a point, a triangle with transformation, basic animation, color and texture, the GLSL language, cameras, lighting, and..." Read more
"...out and will not leave you asking questions, as it introduces new content in a linear fashion...." Read more
"Good walk through to explain WebGL...." Read more
Customers find the book excellent, with one mentioning that the code snippets are worth the investment.
"...If there was one reason to buy this book-- the snippets themselves are worth the investment...." Read more
"...A very competent look at the API...." Read more
"WebGL programing guide is an excellent book for explaining how the JavaScript world and the opengl world are brought together...." Read more
"This book is a great (long) tutorial for how to get graphics to work online using WebGL - very in-depth chapters!" Read more
Customers appreciate the visual content of the book, with helpful diagrams and images, and one customer specifically mentions its effectiveness for online graphics.
"...It’s honestly hard to find fault with the text. This is a great look into WebGL and a key point in your journey as a WebGL programmer...." Read more
"...C code, Javascript takes care of input/output as well as graphics context creation, it is based on OpenGL ES which is more elegant and simpler...." Read more
"Things are explained very clearly. The diagrams and images are quite helpful as well...." Read more
"Excellent WebGL book..." Read more
Top reviews from the United States
There was a problem filtering reviews. Please reload the page.
- Reviewed in the United States on July 22, 2013WebGL is here to stay, as its unique architecture (accessing the user's GPU (for its shader, for example) and running on the client side) makes it ideal for embedded chips and mobile, as well as browsers. Google Maps runs in WebGL, and both Autodesk's early support with Maya WebGL interfaces, and now their cloud servers which port all their applications to the cloud via WebGL portend well for learning this challenging language.
If you're already an OpenGL Jock (both programs are from the Khronos Group, with a Mozilla pedigree), it will help a lot. Whenever an API accesses the GPU it doesn't bode well for user friendly programming! Since its beta debut in 2009 a lot of "easier" spins have appeared, most especially Three dot js. Both are obviously JavaScript API's, and there are about 20 others vying to help with the GPU coding. Since the technology doesn't require plug ins and bytecode, but uses the user's power, it is ideal for any device with a decent GPU platform, and nearly all browsers now support it natively (although IE's prior to Windows 8.1 do require a plug in).
Although building and animating with WebGL's ide is a pain, the nice thing is that it supports Maya, Blender, etc. and you can seamlessly import your creations. With Flash no longer being supported, and HTML5/Canvas skyrocketing, WebGL is becoming a very hot "go to" platform for 3D. The "feel" is a lot like OpenGL (and in fact you need it to code in WebGL) and the commands sport a blend of imperative and functional. The forums say there is a lot of support for concurrent/parallel built in and coming, but I am skeptical at this writing.
For a new book, the code is pretty clean, with only minor punctuation rather than syntax errors. Kindle works quite well with this title, and the code resources are simply awesome. If there was one reason to buy this book-- the snippets themselves are worth the investment. However, if you haven't yet decided if this is a language you want to learn, I wouldn't be quick to jump in. If you are already very good at JavaScript with SOME OpenGL (beginner to intermediate), this would be worth it for your career or art due to the "Flash vacuum" and architecture. Both mobile and other embedded is extremely supercharged right now, and if you want your games and apps to run on Android, this platform is not easy, but worth the work.
In addition to the GPU coding issues, this API does not support matrix math like OpenGL. This is thrown into your ballpark via the scripting space (which is why I keep harping on your JavaScript background). The authors cover this problem (as well as the GPU techniques) very thoroughly, and this is as good a reference as a learning tool. Adding a glMatrix type library helps the matrix issue a lot. On the positive side "mixing" coding with libraries (eg JavaScript libraries for the missing GPU links and matrices), HTML, page elements, and even Canvas, is fast and seamless once you gain the tricks from this text or web tutorials. If you've used Inka3D with Maya, you know how powerful and fast WebGL can be for executing even memory-hogging Maya graphics in a way that doesn't slow down even older browsers and will run on chips and smartphones. A Unity interface also is in the rumor mill at this writing.
Tough language (not that OpenGL is easy either!), outstanding text and reference, must have if you have or will commit to this API. I've read 4 books and numerous web tutorials on WebGL, and this is by far the most complete and real world of any of them-- I began using the code snippets immediately. I am a game developer and coder at Shader Joes, but work more on the streaming than HTML- Canvas side, but do work with Maya all day, and all of us have SOME web requests, right? Implementations I've seen are pretty awesome given the amount of RAM they take to develop initially in Blender, for example, then when exported don't cause the browser to snail out like some of my streams do!
Library Picks reviews only for the benefit of Amazon shoppers and has nothing to do with Amazon, the authors, manufacturers or publishers of the items we review. We always buy the items we review for the sake of objectivity, and although we search for gems, are not shy about trashing an item if it's a waste of time or money for Amazon shoppers. If the reviewer identifies herself, her job or her field, it is only as a point of reference to help you gauge the background and any biases.
- Reviewed in the United States on October 1, 2018WebGL Programming Guide is the first WebGL book that I can fully recommend. The authors stick to straight WebGL code (no libraries like Three.js) and explain everything in full detail. Since they focus more on the API than anything else, most of the samples are simple things like colored triangles or spinning cubes, but that is fine to learn the basics. I liked how sometimes they would show things not to do, and what would happen, which helps with understanding the concepts.
In the book, which is around 500 pages long, Kouichi Matsuda and Rodger Lea cover many important topics including: WebGL initialization, drawing a point, a triangle with transformation, basic animation, color and texture, the GLSL language, cameras, lighting, and a shorter chapter at the end with techniques for fog, shadows, alpha blending, etc. Really a great roster for anyone looking to learn WebGL. Much appreciated are some of the tricks they show, like how to pick 3d objects with the mouse, or how to render off-screen objects to a texture, useful for shadowing or other effects. There is even a chapter detailing how to write an OBJ model importer, perfect for someone not wanting to rely on 3rd party libraries.
I especially liked how detailed the book can become, for example when explaining the differences between right and left-handed coordinate systems. Something that can be confusing to 3d novices but the authors here did a great job. They also use beginner friendly terminology for certain things, like calling depth buffering “hidden surface removal”, which was odd at first until I remembered someone new to 3d may not understand what a depth buffer is without prior knowledge. In the book, many parts of the API are listed out in charts, such as the built-in functions/variables for GLSL, function signatures for the GL context (which explan the errors you may get and return values, etc.). A very competent look at the API.
The book was well written and I did not see any obvious errors (though I did not attempt to run any of the code). Thankfully, they make the code available on the book’s website for anyone wishing to run it themselves and pick it apart. It’s honestly hard to find fault with the text. This is a great look into WebGL and a key point in your journey as a WebGL programmer. Not to be missed.
- Reviewed in the United States on January 21, 2015This is a great book for understanding the fundamentals of the OpenGL, particularly WebGL, which is built on top of OpenGL. The exercises complement the book material and will leave you with a better understanding of 3D modeling. The book is well laid out and will not leave you asking questions, as it introduces new content in a linear fashion. The companion website was useful for seeing working demos the projects. The only thing that would've been nice is if they had told you where to find their library to do the work in the book.
Now, with the proliferation of JavaScript frameworks like THREE.js, this book may seem irrelevant, but it's not. If you want to have a good understanding of how the creators of THREE.js have implemented their high-level abstraction of WebGL, then you need to read this book. This book will give you a good understanding of how the canvas element in HTML5 works with WebGL and what you need to get started. Having a deeper understanding of WebGL in modern browsers is not detrimental, and simply understanding the THREE.js or other abstractions of WebGL would be selling yourself short. Definitely give this book a read to better understand 3D modeling in the modern browser.
- Reviewed in the United States on July 7, 2016Good walk through to explain WebGL. My only criticism is that the authors start out with their own special frameworks and libraries to simplify things. For a book like this, I bought it to learn the core API of WebGL, not someone else's library. That said, as you move through the book, you do learn the core stuff.
Top reviews from other countries
-
jclefReviewed in France on March 13, 2014
5.0 out of 5 stars Parfait pour apprentissage
J'ai rarement lu un ouvrage technique destiné à la découverte d'un domaine aussi bien fait. L'apprentissage est progressif, les explications claires et surtout les auteurs ne se contentent pas d'analyser le code mais de plus décortiquent ses actions sur le "hard". Nous avons ainsi non seulement le comment mais aussi le pourquoi.
En exagérant à peine: cet ouvrage se lit comme un polar !
Les prérequis sont une bonne maîtrise de javascript , du html et des notions élémentaires de calcul matriciel. Dans ces conditions je ne puis que recommander ce livre, à qui veut découvrir Webgl et L'UTILISER , sans passer par OpenGL.
Dommage qu'il ne soit pas traduit. Il y a bien un autre ouvrage en français écrit par un X et comme à l'habitude destiné aux ..........X
- ShinigamiReviewed in the United Kingdom on October 16, 2013
5.0 out of 5 stars WebGL is described in details
In this book WebGL is described in details so much that someone can think it is detailed too much. But I think it is good. Mostly for people who do not have experience in graphics. It uses same custom libraries made for this book, but you can use this libraries as additional source of learning and book says it will explain this libraries at the end of book. I have not finished reading it yet. But I like it already.
- Amazon CustomerReviewed in Canada on August 2, 2016
5.0 out of 5 stars Excellent Introduction to WebGL
An excellent introduction to the world of WebGL. It's a little dry (as all reference texts are) however after memorizing the examples cover to cover I feel I have a solid base with which to expand on.
- CarlossReviewed in Mexico on September 4, 2018
5.0 out of 5 stars Agradable
Fine
- CatfishReviewed in Australia on April 25, 2015
5.0 out of 5 stars Bit verbose bit a very neat progression through the workings of WebGL.
Bit verbose bit a very neat progression through the workings of WebGL.