FAQ
Cover
This is the archive Discourse for the Processing (ALPHA) software.
Please visit the new Processing forum for current information.

   Processing 1.0 _ALPHA_
   Discussion
   General Processing Discussion
(Moderators: fry, REAS)
   Teaching: transitioning from 2D to 3D
« Previous topic | Next topic »

Pages: 1 
   Author  Topic: Teaching: transitioning from 2D to 3D  (Read 480 times)
metaphorz


Teaching: transitioning from 2D to 3D
« on: Oct 20th, 2004, 5:06pm »

I am trying to architect the second of 2 classes  
dealing with teaching programming to artists and  
non-majors, in general. The first class uses  
2D, and we are using Processing. This seems to
be working nicely, and students are learning how
to program, and create objects and data structures,
while creating 2D designs and doing 2D art.
 
The purpose of the 2nd class is to gradually,
if possible, transition from 2D to 3D while  
emphasizing the same target material (data
and program structures). A natural way to teach  
this second class would be to begin using  
Processing's 3D capabilities, thus leveraging both
Java and Processing from the first class.
 
However, Processing's 3D capabilities are limited
because one cannot do things that are ordinarily
possible in 3D modeling and animation packages  
(lights, textures, materials, ...). So
the question becomes "to what do we transition
from Processing-with-3D?"
 
One possibility is clearly to move beyond Processing
and use something like Jogl or Xith, which would
leverage the student's knowledge of Java.  
 
I suppose the strategy we take will reflect the
scope of Processing as seen by the developers.  
Processing is very good at what it does -- 2D
and basic 3D, so the question becomes whether
the scope will remain as this, or expand to
encompass a greater diversity of 3D possibilities?
I did see some evidence in the list of  
incorporating Jogl bindings? This could actually
lead the way to employing other Jogl methods
within the Processing display area.
 
Any ideas or thoughts are welcome on how we perform
this transition from 3D-with-Processing.
 
 
 
 
 
paul
 
Alasdair Turner

WWW
Re: Teaching: transitioning from 2D to 3D
« Reply #1 on: Oct 20th, 2004, 5:59pm »

For the first time this year, we are starting with Processing and then moving onto what we have done traditionally: C++.  I know this sounds a huge leap, but it's not really.
 
We use C++ with OpenGL Performer libraries (demo edition free for download from Silicon Graphics and pretty much fully enabled; I believe the new release has sorted out earlier problems they had with Linux, solid on PC, no Mac version).  We do this simply because the libraries outweigh almost all other real-time rendering engines.
 
I am trying to make the links so they fully understand how the underlying transformation matrices are being applied.  Integrated Matrix4d and Point3d classes would be useful!
 

Lecturer in Architectural Computing
Bartlett School of Graduate Studies
UCL Gower Street London WC1E 6BT
TomC

WWW
Re: Teaching: transitioning from 2D to 3D
« Reply #2 on: Oct 20th, 2004, 7:45pm »

It's worth noting that Alasdair's students will have done a course in VRML at the same time as their Processing classes. This helps when it comes to understanding 3D concepts which are key to Performer - scene graphs in particular.  
 
The course in question has a strong history of teaching with VRML - I personally wouldn't recommend starting to teach VRML now unless you have a clear purpose in mind and a framework in place.  The area is just too muddy in terms of browser support (Cortona/Blaxxun/Flux etc), and standards transitions (VRML/X3D etc).
 
Other options for progression from 2D/3D Processing are, off the top of my head, something like Director/Shockwave 3D, possibly the Blender API (uses Python I think), Alice (link on the homepage) or OpenGL bindings to Java as you mention (or Python or C++).  I learned 3D programming using C, OpenGL and glut on Linux - it wasn't that nasty, and it's easier now with things like MSYS/MinGW on Windows, but not as straight forward as processing, obviously.  
 
One thing that's clear to me is that the next step from Processing has to be hardware accelerated otherwise it's not worth the overhead in learning curve.  It also helps a lot to be able to demonstrate that a technology is active and growing (like Processing) and that the people involved are enthusiastic and helpful.  One thing which was problematic when I was learning VRML was that only about one VRML resource in 5 was still active (7 years since standardisation is a long time on the web), and that even VRML-friendly 3D experts I talked to were somewhat "jaded" with the whole platform.  
 
(Disclosure: I did Alasdair's course last year.  I'm helping out this year, and helped persuade him to use Processing.)
 
Also, it's worth noting: Processing does do textures and lighting, it's just not ready/reliable yet (a bit like the near/far plane stuff).
 
« Last Edit: Oct 20th, 2004, 7:49pm by TomC »  
metaphorz


Re: Teaching: transitioning from 2D to 3D
« Reply #3 on: Oct 21st, 2004, 11:25pm »


Thanks to both of you for the suggestions! We've
taught VRML, X3D, and Blender so these certainly are
possibilities. I suppose I was wondering whether
the Processing developers were planning on
incorporating Jogl. If not, then yes, we will probably
have to create a 'discrete leap' into something
else (like VRML) once "3D in Processing" has  
been finished. I agree about the need to leverage
the hardware (Jogl, VRML, X3D, all do this..)
 
Pages: 1 

« Previous topic | Next topic »