If you’re a JavaScript developer who wants to take the plunge into 3D web development, this is the perfect primer. From a basic understanding of WebGL structure to creating realistic 3D scenes, everything you need is here. In Detail WebGL is a new web technology that brings hardware-accelerated 3D graphics to the browser without installing additional software. As WebGL is based on OpenGL and brings in a new concept of 3D graphics programming to web development, it may seem unfamiliar to even experienced Web developers. 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 in an immediate manner. WebGL Beginner's Guide presents a clear road map to learning WebGL. 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, framebuffers, light, surfaces, geometry, and more. 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 cool-looking 3D web applications with WebGL and JavaScript. What you will learn from this book Approach This book is a step-by-step tutorial that includes complete source code for all of the examples covered. Every chapter builds on top of the previous one thereby giving the reader an immediate feeling of progression. Each block of code is explained, and 3D web development concepts are diagrammed and covered in detail. Who this book is written for This book is written for JavaScript developers who are interested in 3D web development. A basic understanding of the DOM object model and the jQuery library is ideal but not required. No prior WebGL knowledge is expected.
If you have wanted to start learning any kind of OpenGL, WebGL is a great way to start learning. This book provides a lot of information about using WebGL, from just introducing the canvas tag, to actually loading models from Blender in obj format, picking geometry using the mouse and ray tracing, and even using shaders in your WebGL application.
If you have used OpenGL or OpenGL ES before, a lot of the techniques will be very familiar. If you haven’t he starts off at the beginning, explaining everything thoroughly, and as long as you have programmed before, and hopefully have used Javascript, you will be able to start creating WebGL apps using modern techniques. The advantages of using WebGL include not needing to compile anything, so any text editor is all you really need(although I would recomend at least using notepad++), it uses Javascript, so has a relatively low barrier of entry for more novice programmers, and it’s viewable on the web- so you could upload it to your website for everyone to be able to check out.
If you know some Javascript, and are interested in adding anywhere from simple 3d, up to enough to create a small 3d game, this book would be able to get you started, and confident with using WebGL.
While the book is not entirely devoid of merit, it falls short of its promise to cater to novices. The book presumes a considerable familiarity with computer graphics terminology and WebGL, making it a challenging read for true beginners. It fails to build concepts incrementally, leaving readers to grapple with complex ideas without sufficient foundational knowledge.
Despite its claim of "less theory, more doing," the book often feels bogged down by unexplained jargon and insufficiently detailed explanations. The practical approach it touts is undermined by a lack of depth, making it difficult for beginners to grasp the underlying principles of WebGL. In essence, this book is not an ideal starting point for those new to WebGL.
I am awarding it two stars because many other books on the subject also struggle to convey the concepts effectively, suggesting that the intricacies of WebGL may be too complex to be easily distilled into a beginner-friendly format.