Book Image

WebGL Beginner's Guide

Book Image

WebGL Beginner's Guide

Overview of this book

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.
Table of Contents (18 chapters)
WebGL Beginner's Guide
Credits
About the Authors
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Index

Normal mapping


One technique that is very popular among real-time 3D applications today is normal mapping. Normal mapping creates the illusion of highly detailed geometry on a low-poly model by storing surface normals in a texture map, which is then used to calculate the lighting of the mesh. This method is especially popular in modern games, where it allows developers to strike a balance between high performance and detailed scenes.

Typically, lighting is calculated using nothing but the surface normal of the triangle being rendered, meaning that the entire polygon will be lit as a continuous, smooth surface.

With normal mapping, the surface normals are replaced by normals encoded within a texture, which can give the appearance of a rough or bumpy surface. Note that the actual geometry is not changed when using a normal map, only how it is lit. If you look at a normal mapped polygon from the side, it will still appear perfectly flat.

The texture used to store the normals is called a normal...