|
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
|
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
|
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..)
|
|
|
|
|