Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/mikolalysenko/gl-modules

A modular approach to WebGL programming
https://github.com/mikolalysenko/gl-modules

Last synced: 5 days ago
JSON representation

A modular approach to WebGL programming

Awesome Lists containing this project

README

        

gl-modules
==========
A guide to WebGL programming using npm and browserify. For an overview of the modules used in this discussion, please go to:

### [API Overview](API.md)

### Goals

Broadly the goals of this document are to:

* Teach WebGL with minimal amount of magic
* Wrap common verbose tasks in modules to reduce code size and avoid errors
* Emphasize code reuse in shaders through modular programming

### Prerequisites:

* Proficiency with JavaScript
* Basic understanding of node.js and npm
* Some familiarity with graphics concepts and browserify will be helpful

# Lessons

### [Lesson 0: Preliminaries](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson00/README.md)

### [Lesson 1: Setting up WebGL](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson01/README.md)

### [Lesson 2: 2D Drawing](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson02/README.md)

### [Lesson 3: Textures](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson03/README.md)

### [Lesson 4: Framebuffers](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson04/README.md)

### [Lesson 5: Coordinate Transformations](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson05/README.md)

### [Lesson 6: Indexed geometry](https://github.com/mikolalysenko/gl-modules/blob/master/Lesson06/README.md)

### [Summary](https://github.com/mikolalysenko/gl-modules/blob/master/API.md)

# Other references

[Overview of graphics pipeline](http://acko.net/files/fullfrontal/fullfrontal/webglmath/online.html)

[WebGL specification](http://www.khronos.org/registry/webgl/specs/latest/)

# Credits
(c) 2013 Mikola Lysenko. MIT License