1,234
edits
Changes
no edit summary
The Canvas 3D JS Libary (C3DL) is a 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. == People Working On This Project Contributors==
* Catherine Leung
* [[User:asalga | Andor Salga]]* Peter Callaghan* [[User:Pplam3 | Patrick Lam]] (Picking)* [[User:Jamesboston | James Boston]] (Garbage collection)* Mark Paruzel (CodeBot)
* Andrew Smith
* Chris Bishop
* Jeremy Giberson
* Joe Drew
* Matthew Postill
== Downloads ==
For the library, samples, and tutorials, go to [http://cswww.senecacc3dl.onorg/ c3DL.ca/~leung/canvas3d/canvas3d-0org]. As of c3dl 2.0, our library uses WebGL.xpi Andrew's patch] - this change 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:You can get the extension allows the "simple" examples from Vlad's page to work with ati cardshttps://addons.mozilla.org/en-US/firefox/addon/7171 (use suckmenot@mailinator. This is intended com/bugmenot for Windows onlyauthentication). Model viewer examples NOTE: It is HIGHLY recommended that you do not work yetuse the older version of our library but to use version 2.0 or higher.
== Links ==
* [http://littlesvrwww.c3dl.org c3DL.org]* [http://github.com/cathyatseneca/c3dl GitHub Repo]* [svn://cdot.senecac.on.ca/canvas3dOld SVN Repo]* [http://en.wikipedia.org/wiki/C3DL Wikipedia page] == Related Resources ==* [http://www.khronos.org/webgl/ Khronos WebGL] == Documentation == Documentation can be found on our website: [http://www.c3dl.org/index.php/documentation/ c3DL.org]. == Ideas List == Here are the wishlist of things we want to be able to do with the library.... If you want something add it to the list. * 3D Asteroids - Good use of Collision detection, animation, particles, camera work, both mouse and keyboard controls. * Solar System Explorer - Pull the positions of our planets from some sort of webservice and display them, allowing users to see their relative alignment. * Simulation of 3D path finding * 3D graphs:* Display social networks and their relationships<br />:* Get earthquake Richter-scale values from a service and show graphs on a map<br />:* Display 3D graphs beside one another, gas prices along stock market values<br />:* 3D flowcharts<br /> * 3D Traceroute - graphical view of an IP's path across the internet. More details [http://www.c3dl.org/index.php/uncategorized/canvas3d-traceroute-idea/in this blogpost] * 3D Canvas Racing Demo - like [http:/ Our blog/www.tapper-ware.net/canvas3d/ this]but better, to show that it's both easier to use, more functionality is available, and runs much faster (hopefully)
* Getters** getX() House Explorer/Designer - '''Retrieves Load a mesh of a room or a house and allow users to navigate through the X value'''** getY() - '''Retrieves the Y value'''** getZ() - '''Retrieves the Z value'''environment or design a room in a house.
* Setters** set(newX, newY, newZ) 3D Photo Album - '''This sets new (x, y, z) values Download images and create a 3D photo album similar to the Vector'''** setX(newX) - '''Takes a number value as the new value for X'''** setY(newY) - '''Takes a number value as the new value for Y'''** setZ(newZ) - '''Takes a number value as the new value for Z'''** setFromVector(vec) - '''Takes a Vector object as the new value for [http://www.mypictures3d.com/images/screenshots/art_gallery/art4.jpg this Vector'''].
* Calculations** normalize() Matrix - '''Unit Normalization'''** dot() - '''Calculates the Dot Product. Returns a number'''** length() - '''Returns the Length of Vector from (0Query search engines for sites, chat logs, 0blogs, 0)'''** lengthSq() - '''Returns the Squared value of Length'''** cross(vec) - '''Takes a Vector object etc. and computes display all the Cross Product between the two values. Returns text in a Vector object that is the cross of the two'''** add(vec) matrix- '''Takes a Vector object and adds its values to its own'''** subtract(vec) - '''Takes a Vector object and subtracts its values from its own'''** multiply(scalar) - '''Takes a number value and multiplies (x, y, z) by it'''** divide(scalar) - '''Takes a number value and divides (x, y, z) by it'''** isEqual(vec) - '''Takes a Vector object and compares it to its (x, y, z) values. Returns true if they match'''** multiplyByQuat(quat) - '''Takes a Quaternion and multiplies its orientation by (x, y, z)like fashion. It returns a new Vector orientation'''
* void Identity() - '''Create Identity Matrix'''* void Transpose() - '''Transpose Generic model viewer application, with back/forward/index + zoom/rotate buttons that would download and display models from the web. Would have to be able to convert 3dsmax models in JS. So a Matrix'''* void Inverse() - '''Inverse Matrix Values'''* float Multiply(Matrix) - '''Multiplication by Scalar'''* float Divide(Matrix) - '''Division by Scalar'''* Matrix Add(Matrix) - '''Addition museum or such could just slap the app on the page and give it an array of two Matrices'''* Matrix Subtract(Matrix) - '''Subtraction of two Matrices'''* Vector Multiply(Vector) - '''Matrix times a Vector'''* Matrix Multiply(Matrix) - '''Matrix times a Matrix'''URLs for the stuff to show.