HTML5 Game Development
   
  • HOME
  • News
  • Tutorials
  • Engines
  • Demos
  • Tools
  • Partners
  • Mobile HTML Game
  • Guess The Celebrity
  • About us

Book Review: A Tale of Two WebGL Books

I made it through Professional WebGL Programming: Developing 3D Graphics for the Web over the past weekend and picked up and read through WebGL: Up and Running this week.

As WebGL books go, these two constitute 2/3rds of what’s currently available on the market for WebGL books. The remaining title is WebGL Beginner’s Guide, which I haven’t had a chance to read (and truthfully, at this point, I’m not sure I’m going to make it through another WebGL book anytime soon) From the table of contents, WebGL Beginner’s Guide actually looks comparable to Professional WebGL in terms of material (it focuses on straight WebGL), so it might be worth a look.

Professional WebGL Programming: Developing 3D Graphics for the Web

I have mixed feeling about Professional WebGL Programming: Developing 3D Graphics for the Web. On one hand it covers all the material I expected it to cover, and covers it pretty authoritatively. On the other hand, the writing style is sometimes hard to follow and it’s often difficult to see the forest through the trees of the technical detail. And I say this as someone who has done OpenGL programming in the past (in the pre-shader days, however) and is familiar with 3D programming in general.

The author clearly has deep knowledge of 3D and WebGL, but the first question a WebGL book must face is: how is it better than the Learning WebGL intro lessons? The answer is that the Learning WebGL intro lessons, while pragmatically useful, focus more on getting things up on the screen than giving you an exhaustive accounting of the API. The latter is what this book does, and that’s both good and bad.

If I we’re new to 3D programming I think I would find myself pretty overwhelmed with technical details instead of understanding the utility of each of the pieces of the API. One example of this is Blending, which doesn’t show up until the end of the book, strangely under WebGL performance optimizations. The section goes on for five pages before explaining what you might commonly use blending for (transparent objects) and the caveats to rendering those objects in the correct order. The book is laser focused on the WebGL API and doesn’t cover thing like model loading, walking around a scene, etc. If you’re new to 3D, there’s still going to be a big gap from finishing this book to building 3D games.

On the other hand, if you’ve got some experience in 3D, Professional WebGL is pretty spot on. It covers the WebGL API fairly exhaustively, spends a good amount of time on shaders and provides and explains in depth the shader code for all the standard transformations, texturing, light reflection models and lighting models. At 361 pages, it actually qualifies as short for the amount of material it covers

Bottom Line: If you’re new to 3D, even if you have plenty of JavaScript experience, this isn’t your book. If you just want a densely-packed intro to WebGL, give it a look.

WebGL: Up and Running

On the complete opposite end of the spectrum from Professional WebGL is WebGL up and Running.

For the most part, Up and Running isn’t about the WebGL API at all, but rather it’s about how to get you writing cool 3D stuff in the browser as quickly as possible. If you’ve ever done any OpenGL programming, you know that it’s a very low-level API, and getting even basic shapes onto the canvas is a chore (a simple triangle is 150+ lines) Up and Running takes a different approach and uses the hyper-popular Three.js library for the majority of the book.

Using Three.js means that the majority of the book works at a much higher level than straight WebGL (The author even creates Sim.js, an abstraction on top of Three.js to keep code duplication down).

Because the code is at a higher level, in 230 action-packed pages the author has time to cover hit detection, picking, and exporting, loading and animating 3D models. The book culminates in a simple 3D racing game that ties it all together. All that stuff Professional WebGL didn’t have space to cover because it was dealing with the nitty-gritty of actual WebGL.

This high-level code comes at the trade-off that you’ll walk away from the book with barely any experience in the actual WebGL API itself. Is this a problem? Depends on your goals. Three.js is massively popular and has been used in the vast majority of cool WebGL stuff you see on the Web (including full-blown games like Trigger Rally) It also is lacking documentation, so a book that covers it in depth is sorely needed, and that’s exactly what Up and Running provides.

Bottom Line: If you want to get started building cool 3D stuff in the browser or have had trouble getting started with Three.js, this is 100% the book for you. If you’re a 3D vet and are looking for details on the WebGL API itself, Professional WebGL may be more your cup of tea.

Share List

You might also find this interesting:


  1. PlayCanvas WebGL 3rd Person Multiplayer Demo HTML5 Game creation tools PlayCanvas has released a 3rd-person multiplayer shooter demo on their engine that uses WebGL, Web Audio API, WebSockets and has support for the Gamepad API, Pointerlock...

  2. Scirra's IE10 Review: Still Disappointing for HTML5 Games HTML5 Game Engine maker Scirra has posted a somewhat scathing review of IE10 performance when it comes to HTML5 Games. What makes the piece interesting is that IE10’s Canvas performance...

  3. O'Reilly publishes first game-engine specific HTML5 Book (on Impact.js) O’Reilly media has published one of it’s world-renowned Animal Cover books on HTML5 Game Development titled: Introducing HTML5 Game DevelopmentDeveloping Games with Impact It’s a short book (120 pages) but...

  4. Book Launch Contest: Professional Mobile HTML5 Game Development Share List...

  5. Soul Reaper: HTML5 Scroll Book Soul Reaper, and HTML5-based scroll book is pushing the boundaries of comic-book style story-telling by bring it to the web in parallax scrolling style. Share List...

HTML5 News

License HTML5 Games

Are you a company looking to license HTML5 games? We recommend MarketJS.com, a B2B platform for licensing games.

MarketJS has over 300 HTML5 games for licensing. They also provide additional services such as game reskin, custom development, and white label portals.

Html5 Game Development


Follow @GameDevHTML5



WHAT’S NEW

  • Game Localization For Food Delivery App

  • HTML5 Games in Guest Room Tablets

  • What’s New in Phaser 3.50

  • Particle and Sprite Editors in Babylon.js 4.2

  • Healthcare Industry HTML5 Games



NEW DEMOS

  • Vertical Endless Runner Prototype

  • Particle and Sprite Editors in Babylon.js 4.2

  • Song Maker in Google Experiment

  • Phaser 3 Experiment for Drawing Cards

  • HTML5 Game for a Recycling Campaign


ENGINES

  • Phaser 3 Game Object Pools Tutorial

    Memory allocation inside update loops often causes framerate problems in real-time gaming. One of the best solutions to this is to use Object Pools in Phaser 3. An Object Pool …Read more

  • Games During The COVID-19 Pandemic

    There so many effective ways to engage your audience with HTML5 games. Here is an example of how to run a game campaign to keep users motivated during difficult times. …Read more

  • Building Simulated 3D HTML5 Games With Phaser

    Phaser is commonly used as a 2D game engine for creating HTML5 desktop and mobile games. However, with the help of three.js and Phaser 3D library, you could render your …Read more

SEARCH OUR ARCHIVES

CONNECT

rss twitter

HTML5 Game Development is proudly run by 3P Solutions Inc

GOT NEWS?

Send new engines, demos, information and tips to hello@html5gamedevelopment.com

MONTHLY MEETUP

In boston? Join us for the Monthly HTML5 Game Development meetup.

BOOKS

We're in the process of writing a few books about game development. Coming soon!

Copyright HTML5gamedevelopment.com