Open main menu

CDOT Wiki β

Changes

Canvas3D JS Library

5,079 bytes removed, 13:14, 30 September 2010
no edit summary
== Introduction ==
The Canvas 3D JS Libary (C3DL) is a javascript Javascript library that will make it easier to write 3D applications using WebGL. It provides a set of math, scene, and 3d object classes to make the canvas more accessible for developers that want to develop 3D content in browser.
== Contributors==
* Catherine Leung
* [[User:asalga | Andor Salga]]
* Peter Callaghan
* [[User:Pplam3 | Patrick Lam]] (Picking - Javascript)
* [[User:Jamesboston | James Boston]] (Garbage collection)
* Mark Paruzel (CodeBot)
* Andrew Smith
* Chris Bishop (Javascript)
* Jeremy Giberson
* Joe Drew
* Matthew Postill
== Downloads ==
For the library, samples, and tutorials, go to [http://www.c3dl.org/c3DL.org].
As of c3dl 2.0, our library uses WebGL. Any WebGL enabled browser will be able to view our content. To get a WebGL enabled browser see Tutorial 1 from our website and you do not need any addons.
 
For all older versions of c3dl, you will need the canvas 3D addon available here:
== Links ==
* [http://www.c3dl.org Our Web Sitec3DL.org]* Our SVN Repo: svn[http://cdotgithub.senecac.on.cacom/cathyatseneca/canvas3dc3dl GitHub Repo]* [httpsvn://vladcdot.senecac.offon.net/hgca/canvas3d/ canvas3d source codeOld SVN Repo] in Vlad's hg repo 
== Related Resources ==
* [http://www.openglkhronos.org/documentation open gl documentation]* [http://nehe.gamedev.net/ Nehe Tutorials on OpenGL]* [http:/webgl/shape.cs.princeton.edu/benchmark/ .off (object file format) format infoKhronos WebGL
== Documentation ==
Documentation can be found within the SVN repository in the documentation directory as well as here on our website: [http://www.c3dl.org/index.php/documentation/c3DL.org]. == Web site Task List ==<ul><li>Write particle system tutorial</li><li>Write camera tutorial</li><li>Write keyboard control tutorial</li><li>Write callback function tutorial</li><li>Write transition tutorial for flash developers</li><li>Write blender tutorial: How to export to collada and import into the library</li><li>Write debugging tutorial: Creating meaningful debug output with and without firebug</li><li>At end of tutorials, provide link to demo showing what user can now do</li></ul><!--== 1.0 Task List ==<ol><li><del>Update library so it's compatible with canvas3d 0.4</del></li><li><del>Update library with hierarchy changes</del></li><li><del>Remove old 1.1 context code</del></li><li><del>Update documentation</del></li><li>Run final tests</li></ol>--> == 1.1 Task List ==<ol><li>Fix backface culling</li><li>Speed up rendering</li><li>Implement drawing lines and points</li><li>Detect and warn users if they try to initialize a Collada object without first using addModel()</li><li>Refine distance calculations for overlapping objects for picking</li></ol> == WebGL Compatibility Task List == * Fix instanceof problem* Add VBO support for COLLADA* Add VBO support for points* Add VBO support for sphere points* Add VBO support for lines == Library Task List == * Add dynamic object loading.* Add sound support.* Create a mechanism to prevent scripts from running before everything (textures, models) is done loading.* Catch and report error on "Access to restricted URI denied", which occurs if user tries to access a model file which does not exist.* Create a progress bar which includes percentage complete of model and texture loading.* Add particle system size attenuation.* Allow users to specify texture filtering* Delete texture objects when textures are deleted from library.* Create and post a hierarchical diagram of the library classes* Investigate overriding space bar and arrow keys from browser's default behavior.* Add option to change back-face culling.* Add option to use orthographic projection.* Add picking for orthographic projection.* Generate error if user tries to place camera at (0,0,0) and set's it's lookat to (0,0,0) == Bug List ==
* Collada
** fix FindNode for Collada's scenegraph.
* Objects
** Fix angular velocity/gc bug. If object is set to spin on more than one axis, its angular velocity will change when the gc starts.
** Same linear velocity for Models and Collada objects makes one type 'overtake' the other.
* Picking
** <del>Picking does not work when the canvas width isn't equal to the canvas height</del> - fixed
* Particle System
** Error when creating a particle system without texture
* BoundingSphere
** When the bounding Sphere is rendered, it is not the correct size until the user clicks on the canvas. At that point all BoundingSpheres will change their sizes.
** Rendering of BoundingSphere crashes on Windows
* General
** slowdown in update callback slows down rendering.
== Ideas List ==
&nbsp;&nbsp;&nbsp;&nbsp;- Animation can be achieved simply by setting velocities of pieces.<br />
=== Meeting Summaries ===
 
====May 29====
For next week:
 
Mark: Add to library and do some bug fixes based on what Chris found
 
Chris: Work on putting his apps on site
 
Andrew: Work on making the libraries work with shaders. Provide a method for detecting capability of client to use a 2.0 context and switch
 
Andor: was absent but will work on shaders
 
====June 04====
 
Mark:
 
Cathy: send andrew a simple model to play with. Add equivalent of hello world tutorial for library. Begin documentation
 
Chris:
* Release Version 2 of the Type Game. New feature is vertical movement.
 
Andrew: figure out how to load files form http:// in javascript to be able to load a model from the internet; and display a model that's in some ascii format
 
Andor:
* Get textures applied to cubes (no uv's yet) in 1.1 context.<br />
* Investigate box skewing problem in 2.0 context.<br />
* Get camera working in 2.0 context.<br />
* Clean up shader code converter and upload to repo.
 
 
====June 12====
General goal: establish a format for models.
0.3 release date goal: end of june.
 
Cathy: Work on more tutorials involving keyboard and camera control. Look for bugs, document the functions
 
Mark: test changes with the basic demo (especially involving 2.0 context) when changing rendering.
 
Chris: studying for midterms
 
Andrew: Fix the 2.0 rendering. Work on loading and displaying models. Give Andor some idea about the preffered format.
 
Andor: figure out the model format, get model and texture working in 1.1 context, get texture working in 2.0 context(?)
 
====June 19====
Cathy: continue on tutorials.
 
Mark:
 
Chris: back from Exams. Updated demo to use latest API. Working on adding vertical movement for the cubes.
 
Andrew:
 
Andor: Add textures to benchmarking, get rendering in Model work with same file with different contexts, get Model scaling to work, fix bugs.
[[Category:Open Source Communities]]
1
edit