Skip to Content
Real-Time 3D Graphics with WebGL 2 - Second Edition
book

Real-Time 3D Graphics with WebGL 2 - Second Edition

by Farhad Ghayour, Diego Cantor
October 2018
Intermediate to advanced
500 pages
12h 40m
English
Packt Publishing
Content preview from Real-Time 3D Graphics with WebGL 2 - Second Edition

Adding Support for Light Objects

Let's cover these changes in detail. We have created a new JavaScript module, Lights.js, that has two objects:

  • Light: Aggregates light properties (position, diffuse, specular, and so on) in a single entity.
  • LightsManager: Contains the lights in our scene. This allows us to retrieve each light by index or name.

LightsManager also contains the getArray method to flatten the arrays of properties by type:

getArray(type) {  return this.list.reduce((result, light) => {    result = result.concat(light[type]);    return result;  }, []);}

This will be useful when we use uniform arrays later on.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL

WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL

Kouichi Matsuda, Rodger Lea
3D Graphics Rendering Cookbook

3D Graphics Rendering Cookbook

Sergey Kosarevsky, Viktor Latypov

Publisher Resources

ISBN: 9781788629690Supplemental Content