WebGL is a powerful web technology that brings hardware-accelerated 3D graphics to the browser without requiring the user to install additional software. Given that WebGL is based on OpenGL and introduces 3D graphics programming to web development, it may seem unfamiliar to even experienced web developers. On the other hand, for those with experience in traditional computer graphics, building 3D applications with JavaScript takes some getting use to. A common view is that JavaScript is not as fast as other traditional languages used in computer graphics; although this is a concern in comparing CPU-bound algorithms, it is not an issue in comparing GPU-bound work. This is where WebGL shines! The powerful capabilities that WebGL offers, coupled with the ubiquity and accessibility of browsers, positions the technology in a unique and attractive position to power the future of immersive experiences on the web.
Packed with many examples, this book shows how WebGL can be easy to learn despite its unfriendly appearance. Each chapter addresses one of the important aspects of 3D graphics programming and presents different alternatives for its implementation. The topics are always associated with exercises that will allow the reader to put the concepts to the test.
Real-Time 3D Graphics with WebGL 2 presents a clear roadmap to learning WebGL 2. While WebGL1 is based on the OpenGL ES 2.0 specification, WebGL 2 is derived from OpenGL ES 3.0, which guarantees the availability of many WebGL1 extensions along with new features. Each chapter starts with a summary of the learning goals for the chapter, followed by a detailed description of each topic. The book offers example-rich, up-to-date introductions to a wide range of essential WebGL topics, including drawing, color, texture, transformations, frame buffers, light, surfaces, geometry, and more. Each chapter is packed with useful and practical examples that demonstrate the implementation of these topics in a WebGL scene. With each chapter, you will "level up" your 3D graphics programming skills. This book will become your trustworthy companion, filled with the information required to develop compelling 3D web applications with JavaScript and WebGL 2.