| Q&A |
C3DL,
Catherine Leung
March 2010, |
| |
 |
“
WebGL has something truly unique that I don't think
has been fully explored. WebGL is part of the Web. I
think that it would be wrong to assume that the games
made with WebGL will simply be a remake of what you
see on the desktop (ie doom in the browser). I think
that there is an opportunity here for something completely
new that we have not yet seen. ”
<Particles
editor |
|
| |
|
| Q1 |
Please
give a bref description of C3DL. |
| A1 |
C3DL
is a JavaScript library that makes it easier to write 3D applications
using WebGL. It provides a set of math, scene, and 3d object
classes that makes WebGL more accessible for developers that
want to develop 3D content in browser but do not want to have
to deal in depth with the 3D programming needed to make it work.
C3DL was originally part of the CATGames research network and
was developed with Canvas 3D (the precursor of WebGL). We made
our first official WebGL release around February 2010. |
| |
|
| Q2 |
Can
C3DL run on any browser compatible with webGL [Chrome, FireFox,
Safari, Opera (?), FireFox Mobile (?)]? |
| A2 |
We
test on Chrome, Firefox and Safari before each release. However,
there will be times when a feature works with one browser but
not others as updates are made to WebGL but we try to stay as
current as possible. We have not yet tested on Firefox mobile
or with Opera. |
| |
|
| Q3 |
C3DL
can load Collada files. Does it only load geometry, or does
it also support animation (bones, transformation), materials
(texture)? |
| A3 |
Currently
we load geometry, transformations, materials and textures. We
do not currently support animation but it is one of the things
that we plan to support in the future. |
| |
|
| Q4 |
Why
choosing Collada ? It is reputed to be generate larger files
than other 3D format. Do you plan to support .zae (ziped collada
file) in order to reduce download time? |
| A4 |
We
chose Collada because it is an open XML format that is supported
by many of the 3D tools today (or at least as a plug-in). We
felt that supporting Collada will make it easier for people
to use our library because they would be able to use the tools
they currently use. As for .zae and other compressed formats,
we have not yet explored these optimizations but it is certainly
something to consider as download time is becoming a bigger
and bigger issue as our demos become more complex. |
| |
|
| Q5 |
C3DL.org
features nice demo : particles, mocap,... What is you opinion
concerning online game : is WebGL enough fast to manage games
with physics, AI and sounds? |
| A5 |
I
think it depends on what you are trying to do. JavaScript is
getting faster and faster. When we first started we had this
issue with garbage collection where we saw our animation pause
completely every few seconds. As time went on this pause became
less and less noticeable. While I don't think that WebGL will
ever be able to achieve the same speed as the latest native
desktop app, I think that it is fast enough to be able to deliver
a game.
On the flip side, while WebGL may not have the same performance
of a game written natively, it has something truly unique that
I don't think has been fully explored. WebGL is part of the
Web. I think that it would be wrong to assume that the games
made with WebGL will simply be a remake of what you see on the
desktop (ie doom in the browser). I think that there is an opportunity
here for something completely new that we have not yet seen.
When I first started teaching 10 years ago a good friend of
mine said that his biggest pet peeve about how programming is
taught is that we teach networking as an afterthought. That
is we write programs and slap a network on top it without truly
thinking about what it means to be connected. 10 years ago,
the web was often thought of as a 1 to many broadcast medium.
You might write a web page but there would be no real sharing,
feedback or connection. Today, the web is much more social.
Think of all the things that we now do on the web with sites
such as YouTube, Wikipedia, Twitter, Facebook and many others
too numerous to mention. These sites offer something that you
cannot find in traditional medium such as television, books
and newspapers (even if you were able to publish in that media
easily). To use WebGL to simply duplicate what is done with
traditional desktop 3D languages would not be taking full advantage
of WebGL in the same sense that to write a book with html is
not taking full advantage of the web. |
| |
|
| Q6 |
Internet
Explorer will probably not support WebGL, does it mean that
WebGL will never be a standard for web3D content? |
| A6 |
It
would be sad if all innovation begins and ends with whether
or not IE will support it. If that was the case much of what
we see as the future of the web would not occur. WebGL is new
but it is based on proven technology. I think that this approach
has a much better chance at adoption than other approaches in
the past. |
| |
|
| Q7 |
What
is the license of C3DL? |
| A7 |
MIT.
Our license can be found here |
| |
|
| Q8 |
C3DL
comes with a lot of features, what would be next milestones?
|
| A8 |
We
would like to add Collada animation as a feature. Beyond that,
our features are sometimes driven by other related projects
that we are working on with industry partners. |
| |
|
| Q9 |
There
are a lot of Javascript library for WebGL, why not merging all
this work for offering advanced tools for 3d artists/developers?
|
| A9 |
Each
library offers something slightly different and its development
paths and goals are often different. For example, our library
added better support for lines and dots for a related project
for a 3D viewer for a motion capture web app. Part of developing
openly means that we welcome others to look at our code and
extend on what we do. Similarly when we see a feature in another
library we may end up implementing it ourselves, changing it
to suit the direction of the development of our library. We
also welcome contributors to our project and are taking steps
to making it easier for people to get involved. We are using
github for our source repository and lighthouse for bug tracking.
Any feedback would be most welcome. |
| |
|
| |
|