cta quote button

Top 10 WebGL Books You Should Read

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL (OpenGL) (2013)

Using WebGL®, you can create sophisticated interactive 3D graphics inside web browsers, without plug-ins. WebGL makes it possible to build a new generation of 3D web games, user interfaces, and information visualization solutions that will run on any standard web browser, and on PCs, smartphones, tablets, game consoles, or other devices. WebGL Programming Guide will help you get started quickly with interactive WebGL 3D programming, even if you have no prior knowledge of HTML5, JavaScript, 3D graphics, mathematics, or OpenGL.

 

You’ll learn step-by-step, through realistic examples, building your skills as you move from simple to complex solutions for building visually appealing web pages and 3D applications with WebGL. Media, 3D graphics, and WebGL pioneers Dr. Kouichi Matsuda and Dr. Rodger Lea offer easy-to-understand tutorials on key aspects of WebGL, plus 100 downloadable sample programs, each demonstrating a specific WebGL topic.

 

You’ll move from basic techniques such as rendering, animating, and texturing triangles, all the way to advanced techniques such as fogging, shadowing, shader switching, and displaying 3D models generated by Blender or other authoring tools. This book won’t just teach you WebGL best practices, it will give you a library of code to jumpstart your own projects.

 

Coverage includes:

• WebGL’s origin, core concepts, features, advantages, and integration with other web standards
• How <canvas> and basic WebGL functions work together to deliver 3D graphics
• Shader development with OpenGL ES Shading Language (GLSL ES)
• 3D scene drawing: representing user views, controlling space volume, clipping, object creation, and perspective
• Achieving greater realism through lighting and hierarchical objects
• Advanced techniques: object manipulation, heads-up displays, alpha blending, shader switching, and more
• Valuable reference appendixes covering key issues ranging from coordinate systems to matrices and shader loading to web browser settings

 

This is the newest text in the OpenGL Technical Library, Addison-Wesley’s definitive collection of programming guides an reference manuals for OpenGL and its related technologies. The Library enables programmers to gain a practical understanding of OpenGL and the other Khronos application-programming libraries including OpenGL ES and OpenCL. All of the technologies in the OpenGL Technical Library evolve under the auspices of the Khronos Group, the industry consortium guiding the evolution of modern, open-standards media APIs.

Author(s): Kouichi Matsuda, Rodger Lea

2. Programming 3D Applications with HTML5 and WebGL: 3D Animation and Visualization for Web Pages (2014)

Create high-performance, visually stunning 3D applications for the Web, using HTML5 and related technologies such as CSS3 and WebGL—the emerging web graphics standard. With this book, you’ll learn how to use the tools, frameworks, and libraries for building 3D models and animations, mind-blowing visual effects, and advanced user interaction in both desktop and mobile browsers.

In two parts—Foundations and Application Development Techniques—author Tony Parisi provides a thorough grounding in theory and practice for designing everything from a simple 3D product viewer to immersive games and interactive training systems. Ideal for developers with Javascript and HTML experience.

  • Explore HTML5 APIs and related technologies for creating 3D web graphics, including WebGL, Canvas, and CSS
  • Work with the popular JavaScript 3D rendering and animation libraries Three.js and Tween.js
  • Delve into the 3D content creation pipeline, and the modeling and animation tools for creating killer 3D content
  • Look into several game engines and frameworks for building 3D applications, including the author’s Vizi framework
  • Create 3D environments with multiple objects and complex interaction, using examples and supporting code
  • Examine the issues involved in building WebGL-based 3D applications for mobile browsers

Author(s): Tony Parisi

3. WebGL: Up and Running: Building 3D Graphics for the Web (2012)

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
  • Get to know the Three.js open source library in detail
  • Develop working knowledge of graphics rendering, texturing, animation, interaction, and behaviors
  • Seamlessly integrate 3D graphics with other content on the page
  • Learn the tools, file formats, and techniques for developing robust and secure applications in a production environment

“WebGL: Up and Running is an ideal introduction to the world of 3D programming on the web. It’s well-written, clear, and fun. I wish it had been around when I started learning!”

—Giles Thomas, LearningWebGL.com

Author(s): Tony Parisi

4. WebGL Gems (2017)

WebGL Gems will teach you how to initialize WebGL in your browser, clear the screen, load 3D models from Blender in PLY format with complete source code and detailed explanations included for each step of the way.

The book covers many other subjects such as WebGL shaders, scene lighting, 3D line vs triangle collision detection, texture mapping, working with 3D cameras, creating a camera that follows the player controlled object, loading a 3D racing track and keyboard controls just to name a few.

Additionally, a section toward the end of the book is dedicated to explanations on how to draw 2D sprites for making "platformer" games on JavaScript 3D canvas which provides better performance than 2D canvas. You will create a font engine, draw on-screen elements that need to be rendered flat on top of your 3D geometry (for example a UI for your game,) and discover how to make a basic racing game in WebGL.

Author(s): Greg Sidelnikov

5. Learning Three.js: The JavaScript 3D Library for WebGL – Second Edition (2015)

Create stunning 3D graphics in your browser using the Three.js JavaScript library

About This Book

  • Enhance your 3D graphics with light sources, shadows, advanced materials, and textures
  • Load models from external sources, and visualize and animate them directly from JavaScript
  • Each subject is explained using extensive examples that you can use directly and adapt for your own purposes

Who This Book Is For

If you know JavaScript and want to start creating 3D graphics that run in any browser, this book is a great choice for you. You don’t need to know anything about math or WebGL; all that you need is general knowledge of JavaScript and HTML.

What You Will Learn

  • Use the different geometries that are provided by Three.js
  • Apply realistic lighting and shadows to the 3D objects you have created
  • Use the different camera controls provided by Three.js to effortlessly navigate around your 3D scene
  • Make use of advanced textures on materials to create realistic-looking 3D objects by using bump maps, normal maps, specular maps, and light maps
  • Import and animate models from external formats, such as OBJ, STL, Collada, and many more
  • Create and run animations using morph targets and bone animations
  • Explore the Physijs JavaScript library to apply physics to your 3D objects
  • Interact directly with WebGL by creating custom vertex and fragment shaders

In Detail

Modern browsers support WebGL, which makes it possible to create 3D graphics in a browser without having to use plugins such as Flash and Java. Programming WebGL, however, is difficult, complex, and very difficult to debug. With Three.js, it is possible to create stunning 3D graphics in an intuitive manner using JavaScript, without the need to know the details of WebGL.

Learning Three.js – the JavaScript 3D Library for WebGL, Second Edition, is a practical, example-rich book that will help you learn about all the features of Three.js. This book will show you how to create or load models from externally created models and realistic-looking 3D objects using materials and textures. You’ll also learn how to use the HTML5 video and canvas elements as a material for your 3D objects, different ways of animating your models, skeleton-based animation, and how to add physics such as gravity and collision detection to your scene. By the end of the book, you’ll know everything that is required to create 3D animated graphics that run in any browser using Three.js.

Author(s): Jos Dirksen

6. Professional WebGL Programming: Developing 3D Graphics for the Web (2012)

Everything you need to know about developing hardware-accelerated 3D graphics with WebGL!

As the newest technology for creating 3D graphics on the web, in both games, applications, and on regular websites, WebGL gives web developers the capability to produce eye-popping graphics. This book teaches you how to use WebGL to create stunning cross-platform apps. The book features several detailed examples that show you how to develop 3D graphics with WebGL, including explanations of code snippets that help you understand the why behind the how.

You will also develop a stronger understanding of WebGL development from coverage that:

•Provides a comprehensive overview of WebGL and shows how it relates to other graphics-related technologies
•Addresses important topics such as the WebGL graphics pipeline, 3D transformations, texturing and lighting
•Teaches you how to write vertex shaders and fragment shaders for WebGL
•Includes a lot of useful guidelines, tips, and tricks for WebGL performance optimizations

Professional WebGL Programming is the first book on the market to delve into this fascinating topic and it puts you on your way to mastering the possibilities that exist with WebGL.

 

 

Author(s): Andreas Anyuru

7. WebGL Beginner’s Guide (2012)

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.

  • Dive headfirst into 3D web application development using WebGL and JavaScript.
  • Each chapter is loaded with code examples and exercises that allow the reader to quickly learn the various concepts associated with 3D web development
  • The only software that the reader needs to run the examples is an HTML5 enabled modern web browser. No additional tools needed.
  • A practical beginner’s guide with a fast paced but friendly and engaging approach towards 3D web development

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

  • Understand the structure of a WebGL application
  • Build and render 3D objects with WebGL
  • Load complex models using JSON and AJAX
  • Set up a lighting model using shaders, physics of light reflection, and lighting strategies
  • Create a camera and use it to move around a 3D scene
  • Use texturing, lighting and shading techniques to add greater realism to 3D scenes
  • Implement selection of objects in a 3D scene with the mouse
  • Advanced techniques to create more visually complex and compelling scenes

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.

Author(s): Diego Cantor, Brandon Jones

8. HOW TO DESIGN 3D GAMES WITH WEB TECHNOLOGY – BOOK 01: Three.js – HTML5 and WebGL (2017)

Over the year’s web browsers have been incorporating new technologies, changing from simple page viewers with plain text and some images to platforms that allow us to create three-dimensional games.

The revolution began with improved CSS styles and continued with the addition of relational and documental databases and the ability to create applications that work in offline mode without internet connection. Progress continued with the incorporation of audiovisual technologies, the possibility of watching movies, native audio management, including speech recognition and speech synthesis for reading texts. Finally, the incorporation of 3D technology (WebGL) with hardware acceleration, motion detection and virtual reality technology, have meant that the WEB programming is as every bit as good as other platforms and traditional languages.

Therefore, I decided to start a collection of books that allows us to explore these developments and become true experts. To distinguish the collection from other books on the market I’ve focused on teaching how to perform a role-playing game in first person, merely as an excuse to gradually introduce WEB technologies.

What does the first book of the collection cover?

The book is aimed at those who want to explore how to create 3D animation, either to add visual elements to their web pages, as well as those who want to try their luck in game design. In it we’ll learn how to:

• Use the Three.js library to create and animate a basic scene.
• To prepare the development environment and solve the main problems we encounter.
• To use geometries and materials offered by the default library.
• To create advanced textures and transparencies.
• To illuminate the scene and create shadows.
• To load objects made with third party platforms and animate them using different techniques.
• To use the keyboard, mouse and even body movement to control the camera.

Finally, we’ll create our first game location. A beautiful medieval village with its castle and cemetery, full of villagers walking about and doing daily chores and a thick forest full of dangerous monsters.

What is the game like?

The game spans from the creation of 3D scenes to the management of music and sound effects, artificial intelligence, character animation and monsters, saving the current game, subsequently recovering it and finally packaging.

What prior knowledge is needed?

This book is suitable for anyone with basic knowledge of JavaScript and HTML. No knowledge of advanced mathematics or WebGL are needed.

Author(s): Jordi Josa

9. Interactive Computer Graphics with WebGL (2016)

Paperback International Edition … Same contents as in the US edition at Low Cost !!

Author(s): Shreiner Angel

10. Learning HTML5 Game Programming: A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL (2011)

Get Started Fast with HTML5 Online Game Programming!

 

HTML5 will transform web and mobile gaming. As new browsers rapidly adopt it, HTML5 will do everything “legacy” technologies such as Flash and Silverlight have done—and much more. In Learning HTML5 Game Programming, pioneering developer James L. Williams gives you all the knowledge, code, and insights you’ll need to get started fast!

 

Williams combines detailed explanations of HTML5’s key innovations with examples, including two case study applications that address the entire development process. He guides you through setting up a state-of-the-art HTML5 development environment; making the most of HTML5’s canvas tag, SVG vector graphics, and WebGL 3D; and targeting diverse mobile and social platforms. It’s all here: from the essentials of online game design to the nitty-gritty details of performance optimization.

 

About the Website

 

All code samples and answers to chapter exercises are available for download at www.informit.com/title/9780321767363 and on Github at https://github.com/jwill/html5-game-book.

 

Coverage includes

·          Understanding the HTML5 innovations that make it possible to create amazingly rich games

·          Setting up a state-of-the-art open source HTML5 game development environment

·          Using JavaScript to drive sophisticated interactions between users and games

·          Building basic games fast, with the prototype-based Simple Game Framework (SGF)

·          Generating movement and gameplay with the canvas tag and surface

·          Creating games with SVG vector graphics using the RaphaëlJS Javascript library

·          Using Three.js to build powerful WebGL 3D games with far less complexity

·          Developing games without JavaScript, using Google Web Toolkit (GWT) or CoffeeScript

·          Building a complete multiplayer game server using Node.js and WebSockets

·          Planning and choosing tools for mobile game development with HTML5

·          Optimizing game performance with offline cache, minification, and other techniques

 

Learning HTML5 Game Programming is the fastest route to success with HTML5 game development—whether you’re a long-time game developer or a web/mobile programmer building games for the first time.

 

Author(s): James L. Williams

11. HTML5 Games: Creating Fun with HTML5, CSS3, and WebGL (2011)

Discover new opportunities for building 2D and 3D games with HTML5

The newest iteration of HTML, HTML5 can be used with JavaScript, CSS3, and WebGL to create beautiful, unique, engaging games that can be played on the web or mobile devices like the iPad or Android phones. Gone are the days where games were only possible with plugin technologies such as Flash and this cutting-edge book shows you how to utilize the latest open web technologies to create a game from scratch using Canvas, HTML5 Audio, WebGL, and WebSockets. You’ll discover how to build a framework on which you will create your HTML5 game. Then each successive chapter covers a new aspect of the game, including user input, sound, multiplayer functionality, 2D and 3D graphics, and more.

  • Aims directly at a new way to develop games for the web through the use of HTML5
  • Demonstrates how to make iOS and Android web apps
  • Explains how to capture player input; create 3D graphics; and incorporate textures, lighting, and sound
  • Guides you through the process of creating a game from scratch using Canvas, HTML5 Audio, WebGL, and WebSockets

By the end of this invaluable book, you will have created a fully functional game that can be played in any compatible browser or on any mobile device that supports HTML5.

Author(s): Jacob Seidelin