-
Notifications
You must be signed in to change notification settings - Fork 11
WebGL scene graph hack
License
kig/magi
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Sketching a small WebGL scene graph library
Goals: [- planned, + implemented, x started]
Put together quick presentation graphics
x slides/ -- semi-complete HTML slideshow app
Write documentation
+ matrix.js changes -- glMatrix.js fork
x gl_util.js -- WebGL utils, DOM utils, Colors, Curves, Klass
- scenegraph.js -- Basic scene graph
- scene_util.js -- More advanced stuff, default shaders
- tar.js -- Tar archive loader
- obj_loader.js -- Quite incomplete OBJ model format loader
- bin_loader.js -- Custom binary model format loader
Make simple things simple
Drawing text
+ Draw text using the 2D canvas
+ Billboard text (buggy)
- Extruded text (hmm?)
Drawing images
+ Load image to textured quad
Applying post-processing filters
+ Displays with FBO render targets
+ Material system
- Easy way to chain filters
Animation
+ Move along Bezier curves & Catmull-Rom splines
x Animation vocabulary
- Transformation tweens
User inputs
+ Default camera navigation
- Event handlers
Loading and displaying simple textured models
x Load archives with model and textures using XMLHttpRequest
- Multiple lights
Drawing presentation geometry
+ Quads, mesh quads
+ Fullscreen quads
x Spheres
x Cubes, mesh cubes
x Ring segments, capped rings
- Capped cylinders
- Ribbons (along Bezier paths)
- Dice
- Layouted arrays of objects (grids, circles, ...)
Not-so-complex stuff
x Rewrite scene graph so that it can handle multiple passes easier.
x Have a structure that's somewhat like this:
- Display == render target + scene
- to draw, bind FBO and render scene
- write a custom draw method to do fancy stuff like envmaps or shadows
x Camera == perspective & lookat matrices, used by display
- Light == per-scene list of light attribs, for use in shaders
x Scene == graph of nodes
+ Node == matrix + model + material + subgraph
+ Model == geometry
+ Material == shader + uniforms
Complex stuff
- Shadow maps
- Depth-peeling
- Envmaps
About
WebGL scene graph hack
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published