Canvas 3d JS Library

WebGL made easy!
  • rss
  • What is C3DL?
  • Download
  • Tutorials
    • Tutorial #1: WebGL Browsers
    • Tutorial #2: A simple scene
    • Tutorial #3: Callback
    • Tutorial #4: Models
    • Tutorial #5: Light effects
    • Tutorial #6: Picking
    • Tutorial #7: Materials
    • Tutorial #8: Particle Systems
    • Tutorial #9: Camera Basics
    • Tutorial #10: Advanced FreeCamera
    • Tutorial #11: OrbitCamera
    • Tutorial #12: Advanced Camera Functions
  • Development News
  • Documentation
  • Community
  • Resources
  • Contact
  • About

Has it Been a Year Already?

Cathy Leung | 25 March, 2009 | 2:22

Last year during GDC I went to Mountain View to visit with my professor Dr. Dekang Lin.  It takes about 1 hour to go from downtown San Francisco to Mountain View via CALTrain.  As I sat in the train last year I wrote two blog posts.  One to announce that our website has gone live, and another announcing our 0.1 Release.  It has been more than a year now and I figured that since I was making the same journey, I should do a review blog of all the things that have happened in the past year. It’s a bit long but I think it’s a good summary of where we came from, where we are and where we’re headed.

Library then and now

One year ago, our library was able to create a scene made of cubes and manipulate those cubes.  This screenshot is of a demo built with our first release.

last years demo
It was fairly primitive at the time but considering it had just started it was not too bad.

Since then, much work has been done (we are now in our 0.7 release with 0.8 coming very very soon).  We added texture support and used it to create our first mashup.  We defined how meshes were to be stored and wrote some converters and scripts to create these.   Our demos finally looked like it was more than just cubes and rectangular logs.  Later in the year we added support for loading collada models. We added lighting and particle effects to our library as well as elementary picking routines.  Our code has been refactored and reorganized for consistency and style.  Many changes have been added to make it as efficient as possible.  We had some user testing done by people at Big Hadron Games, who are studying at the Great Northern Way Campus.  They did some excellent demos for us (c3dl Asteroids, Duck and Cup,  DuckDreamz) and gave us some much needed feedback.

Last year our demo had 4 spinning cubes.  This year we have… well a lot more.  I made a youtube video showcasing some of these.

People Then and Now

Initally when C3DL started, the main contributors were Mark Paruzel and Andrew Smith.  Both had graduated from Seneca’s BSD program and had experience working with 3D and open source.  Both worked on C3DL part time.  Just before GDC last year Mark put together enough for our library to create cubes and make them move.  Since both Mark and Andrew had other full time commitments, the time they could afford for their part time work was limited.  As a result, I decided to try and hire some more help near the end of March.  I made a general announcement of this to the classes I was teaching and found 2 candidates.  Chris Bishop and Andor Salga.  Chris worked part time on the project to test and make demos with the library.  Andor on the other hand would work on the library itself.   Much of the improvements to the library since May has been result of Andor’s hard work.  At some point (and I don’t remember exactly when this was), Jeremy Giberson contacted us with ideas he had about our library.  This was a first for us as we had not expected help from people that we didn’t even know.  Summer passed on and the Fall semester hit.  Seneca runs courses that teaches students how to work on open source projects.  As part of their course work, Leonard Lee and Patrick Lam joined our team.  Leonard worked on creating a browser with the canvas 3d extension already packaged (for those that did not have firefox or extension installed) while Patrick worked on adding picking to the project.  Jay Edry joined us near the end of the semester and added an artistic eye to our demos.  James Boston joined our team in January to work on fixing some performance issues.  Joe Drew also joined us in January and is working to refactor our code.  David Hill has been working on adding a physics module to our library.  Peter Callaghan is the newest person to join our project.  His work is to stream motion capture data through the browser.

Aside from people who have contributed code, we have had incredible support from a number of other people in different capacities.  In particular a number of people from Mozilla has been incredible in their support of our project.  Vladimir Vukićević has been working on the Canvas 3D extension itself and has given us much guidance to our project.  Today the announcement by Kronos is an exciting step for all of us working with the the canvas 3D extension.  Vlad best summed up what is happening on that front in his post.  A number of other folks from Mozilla (Stuart Parmenter, Mark Finkle, Mike Shaver, Ted Mielczarek) have helped us along the way with little bits and of advice and perspectives. Their kind guidance is greatly appreciated.

From within our school, David Humphrey has been extremely helpful in offering us advice on how to work in an open source community. Dawn Mercer has been our rock.  She helped us with everything from budgets to hiring.  Our department head Evan Weaver has been very supportive of our efforts and offered advice when needed.  In communicating with our other network partners (C3DL is part of the CATGames research network) Laura Jo Gunther and Marcella Kouroupis has been invaluable.

So many people have contributed in numerous capacities for our project.  I hope I have not missed mentioning anyone.  If I did I appologize in advance.  My swiss cheese like memory is to blame.

What next….

And yet there is so much that still needs to be done.  Things on the todo list include:

  • Adding better documentation
  • Adding more tutorials
  • Making sure all the functionality in the gles11 context works with the gles20 context.
  • Adding per triangle picking
  • Continued performance improvements
  • Adding materials
  • Adding multi texture support

The list goes on. We have come a long way since our 0.1 release and its 4 spinning cubes and yet so much more can be done. It is hard to believe that it has already been a year.

Categories
c3dl development
Comments rss
Comments rss

« My first youtube video Collision Detection »

One response

Cathy, It's been amazing watching you work on this project over

David Humphrey | 25 March, 2009 | 16:40

Cathy,

It’s been amazing watching you work on this project over the past year, and celebrating with your victories as you moved from release to release. I’m especially happy to see the sort of community forming around your technology that shows the value of working in the open. You’ve done something really neat, and I hope it continues long past 0.8.

Dave

Leave a comment

You can use these tags : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Videos

Demos

  • Asteroids-3D
  • RTS Prototype
  • Particle Systems Demo
  • Cross-Browser Orbiter
  • Mocap Demo With Spheres
  • Google Maps-3D

C3DL Development News

A spec change that keeps coming back to haunt me

At some point, the way firefox handles keyboard events changed. I’m not sure exactly when it happened, all I know is that it broke how I was dealing with keyboard interaction on almost every demo I’ve written (for example,the mocap demo and MotionView). When I wrote the demos, the keydown event would be fired once, [...]

Release 2.2

The 2.2 Release of the Canvas 3D Library includes a number of new features, updates to old features and fixes for several bugs along with the requisite changes to meet the evolving WebGL spec. Some of the things included (in no particular order) are: Better picking code. The ability to swap textures as a scene [...]

Tutorials

  • Tutorial #1: WebGL Browsers
  • Tutorial #2: A simple scene
  • Tutorial #3: Callback
  • Tutorial #4: Models
  • Tutorial #5: Light effects
  • Tutorial #6: Picking
  • Tutorial #7: Materials
  • Tutorial #8: Particle Systems
  • Tutorial #9: Camera Basics
    • Tutorial9-YawPitchRoll
  • Tutorial #10: Advanced FreeCamera
  • Tutorial #11: OrbitCamera
  • Tutorial #12: Advanced Camera Functions

Documentation

Archives

Archives

C3DL Development News

Recent Comments

  • June 2011
  • March 2011
  • October 2010
  • July 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009
  • September 2009
  • July 2009
  • June 2009
  • May 2009
  • April 2009
  • March 2009
  • February 2009
  • January 2009
  • December 2008
  • November 2008
  • October 2008
  • September 2008
  • August 2008
  • July 2008
  • June 2008
  • May 2008
  • April 2008
  • March 2008
  • February 2008
  • January 2008
  • December 2007
  • A spec change that keeps coming back to haunt me
  • Release 2.2
  • 2.1 Release and things to come
  • Level Up! An Open Web Game Jam
  • Site moved!
  • SceneCreator0.3
  • WWW2010 in Raleigh
  • Motionview
  • On the train to Mountainview
  • C3DL 2.0-WebGL and beyond
  • That depends on what... - peter
  • This application is ... - Haisens
  • I think that example... - peter
  • The above links are ... - Atash
  • Hi there, just wante... - Patrick H. Lauke
  • Firefox 4 was releas... - Cathy Leung
  • In order to access l... - peter
  • I am not able to dis... - preksha
  • "JavaScript can’t di... - Joe Hocking
  • I should point out t... - peter



Canvas 3d JS Library

©2007- 2010 Canvas 3d JS Library

Disclaimer: This website is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.5 Canada License.
The Canvas 3d JS Library and Demos found on this website are licenced under the MIT License

Creative Commons License