Get a quick introduction to WebGL, the new standard for 3D rendering on the Web and a member of HTML5’s family of technologies. With this hands-on guide, you’ll learn essential WebGL development and production concepts, using the JavaScript 3D engine Three.js. At the end of the book, you’ll put everything together and build a full 3D application with WebGL.

You don’t have to be a game development wizard or have 3D graphics experience to get started. If you use HTML, CSS, and JavaScript—and have familiarity with JQuery and Ajax—this book will help you gain a working knowledge of WebGL through clear and simple examples.

Understand core 3D graphics concepts and how to implement them in WebGL

Create WebGL sample pages as you learn, and build a racing game application in the final chapter

Tony Parisi

Tony Parisi is an entrepreneur and career CTO/architect. He has developed international standards and protocols, created noteworthy software products, and started and sold technology companies. Tony's passion for innovating is exceeded only by his desire to bring coolness and fun to the broadest possible audience.

Tony is perhaps best known for his work as a pioneer of 3D standards for the web. He is the co-creator of VRML and X3D, ISO standards for networked 3D graphics. He also co-developed SWMP, a real-time messaging protocol for multi-user virtual worlds. Tony continues to build community around innovations in 3D as the co-chair of the WebGL Meetup and a founder of the Rest3D working group.

Tony is currently a partner in a stealth online gaming startup and has a consulting practice developing social games, virtual worlds and location-based services for San Francisco Bay Area clients.

The animal on the cover of WebGL: Up and Running is a chrysaora. Agenus of marine jellyfish from the Scyphozoa class, chrysaora are found all over the world inboth tropical and temperate inshore waters. There are several species of chrysaora, and a commonone is known as the Pacific sea nettle. This variety of jellyfish are typically found along thecoasts of Oregon and California. The word “chrysaora” stems from Greek mythology; Chrysaor wasthe son of Poseidon and Medusa, and brother of Pegasus. When translated, it means “he who has agolden armament.”Chrysaora are elegant creatures, and are noted for their long, thin tentacles—about 24 intotal—attached to an opaque bell. The bell carries pulsations that help chrysaora, using a formof jet propulsion, travel through water. Their tentacles can grow more than three feet inlength, depending on the species, and are used to catch the planktonic animals they eat. Whilehumans fear a chrysaora’s sting, it is only deadly to small prey. Chrysaora are alsohermaphrodites, reproducing asexually, and the average lifespan for a chrysaora is about oneyear. Additionally, species vary greatly in color and size, which makes them popular foraquarium exhibits.There is in fact a direct association between WebGL development and the chrysaora. Chrysaora.com features a demo ofWebGL, simulating jellyfish pulsating underwater—in real-time—rendered in 3D. The demo wascreated by Aleksandar Rodic, and utilizes numerous programming languages, including JavaScript,CSS, and Python. Site visitors can tweak the simulation, controlling shadows, speed, and eventhe number of jellyfish in the rendering itself. The cover image is from Beauties of Land and Sea.

Excellent book to get "Up and Running" with WebGL, using the Three.js library. This book is very well written and informative for the person who wants to start learning about the basics of WebGL and start out with a simple setup.

The examples in the book is relate to the Three.js library from GitHub, which is still in development and therefor may not be linking to the right library. But if a person tries to read and understand what is written, it is very elementary explained in the book and easy to overcome with just a few corrections.

I would highly recommend this book to a person, who gives the time to read it!

This book seems to be about Three.js. But it isn't really. It is more about sim.js - a framework written by the author to simplify the use of Three.js. But - in his own words: "Sim.js is primarily to illustrate WebGL concepts. It is a bit too simplistic for building large-scale applications."

This means: To understand what is happening, you have to analyze the sim.js framework, which seems to be okay but does not really have too many comments.

Worse: All examples use Textures. Somehow these Textures do not work on any of my browsers. I don't see the Earth rotating, I only see a white circle. I found no hint on this website or anywhere about how to fix that.

When I first came to webgl I realized that it was too much work for me and understood that It was better to learn three.js and it is fine because it has a big community of supporters and it seems that will be around for long time, that's why I bought the book, but now I have to learn sim.js what I see as an additional complication instead of helping in any way and also who guarantee me that sim.js will be maintained (updated) by the only one contributor, Tony Parisi.

While this book is well written, it won't learn you anything new about WebGL that you haven't read on the web except maybe going a bit deeper in explaining the concepts ... neither will it go into detail when it comes to Three.js ... Another bad point is that the examples use "Sim.js" a "helper/wrapper" around Three.js, so the book should be renamed to "Getting started with Sim.js". I learned more about Three.js on it's github repository page, than in this book.

The code is not compatible with the current version of Three.js, which is a bit disapointing, this book needs an update. A disapointeed reader

Well, while the book's title has a word 'webgl' in it, in reality you will learn absolutely nothing about it.Actually, you will not even learn anything about three.js, a de-facto standard framework.All examples except the introductory chapter are built around author's own framework, sim.js, which is built to work on top of three.js.While I appreciate author's effort to make the book accessible to anyone, the book wouldn't work for anyone but beginner web developers with little or no programming experience. It may help you to quickly make some 3d in browser in a weekend to impress your friends, but you will gain no real word knowledge at all. (Sorry, author, but the knowledge of your framework couldn't be considered as useful)And I think O'Reilly should reconsider it's naming strategies, because the book dedicated to high-level framework which works on top of another high level framework couldn't be named webgl book.

This book is good introduction to WebGL. It covers the most important aspects of programming in WebGL. There are a lot of practical examples written mostly in Three.js and Sim.js. Author points out other useful tools & frameworks to play with. I like author's good sense of humour & his approach "use right tool for right job".WebGL: Up and Running is really good choice if you want to play with WebGL.

Posed to reach the promise and fulfillment of prior technologies including VRML and X3D, WebGL is quite simply your best technology 'bet' for the future of the 3D web as it is an extension of core technologies that the enterprise already relies upon : HTML and javascript. Tony Parisi , widely known as an industry veteran within 3D web technologies is the best person to introduce you to this topic. Relying on his vast experience, Tony presents the material in very down-to-earth terms with practical examples that will have you designing your own 3D applications in a very short time. The book examples leverage the three.js library with examples covering simple animation all the way to the development of a complete WebGL based game. Perfect guide for novices as well as experienced web developers who want to begin to develop practical 3D-web applications.

I have just finished my first reading of WebGL: Up and Running written by Tony Parisi.

Note and disclaimer: The author is my very good friend. I prepared demonstration material for the book. Tony mentions me by name three times in the book in glowing terms. Therefore you can assume that my point of view is not particularly neutral. On the contrary I am definitely biased in favor of Tony and his work.

I did not track the time, but my guess is that it took about two or three hours including breaks to complete the reading - which is a good fast read for me. This is because the writing is very consistent. Once you get on to Tony's wavelength it's easy to keep the reading rate at a good speed. I didn't find any place where I really slowed down or ended up not reading a page. So Tony doesn't beat you with sticks of tech text. And then in terms of carrots, he has opinions. And, boy, does Tony have opinions. Every few pages there is an observation or an anecdote or wisecrack. It all makes for a lively read. The book's a page-turner.

I have been writing JavaScript quite seriously for a couple of years now. But I am much more of a designer than a programmer. I design stuff but instead of using pen and paper I design using code. Looking at the code of Tony's sim.js makes me think that I could get a much better basis on objects, prototypes and closure and just coding a bit more effectively.

The other thing I need to learn about is shaders. So many possibilities. And very high on my to-learn list. Well now I have the place where I am going to learn how to to do shaders. The other thing I am going to come back to fairly soon is the section on tween.js. On the other I could come back to the part on collisions first. Well, you are beginning to get the idea. My designer brain has built up its own image of the book and wants to re-visit it quite frequently.

Were there any downsides? Of course. There was a lot of code that I could not just read and immediately comprehend or take in. But isn't that what a good book is about? Taking you by the hand to unfamiliar places. Thank you for doing this, Tony.