SALAD

  Salad is my personal programming project. It is my foray into the wonderful world of 3D graphics programming. Eventually, I hope to make it a useable 3D modeler. For now, I have nothing to show, but I'm so excited about it I had to say something.

Enabling Technology

  • OpenGL - all the 3D stuff is in OpenGL, and some of the 2D stuff might be, too.
  • Blue Moon Rendering Tools - I had intended to use BMRT as Salad's main renderer. BMRT was used in parts of "A Bug's Life", eh. I keep putting this part off, though. I may end up tanking it in favour of the Jungle renderer, or POV-Ray.
  • Generalized Cylinders - as explained by Jules Bloomenthal in Graphics Gems.
  • Win32/MFC - It's a Visual C++ project.

Planned Features

This is what I want to have in there before I release a "Version 1.0".
  • A nice interface (based on the likes of Maya and Softimage)
  • Quadric primitives that can be exported to BMRT natively (spheres etc.)
  • Generalized Cylinders
    • based on Catmull-Rom (Cardinal) splines and B-splines
    • Possibly also Beziérs but not NURBS
    • based on my 1998 Computer Science 553 project
    • My initial implementation of these will be equivalent to extrusion / sweeping and revolution / lathing in one tool.
    • They can also be extended to do lofting.
  • A materials editor with limited texture support
  • Multithreaded polygonization
  • USGS landscape import
  • Output to RIB or the jungle raytracer
  • A hierarchy / object tree supporting render-time CSG

Possible (though not likely) Future Features

If I'm still interested after the above stuff is working, I may tackle some of these ideas. I have a vague idea how I'd do each of these, which is how things make it onto this list.

Game-oriented stuff

  • Vertex-editable primitives for mesh modeling
  • Simple landscape generation
  • RAW import/export
  • Wavefront OBJ import/export

DCC-oriented stuff

  • Implicit Surfaces
  • Particles
  • Hair
  • Basic spline-path keyframe animation
  • VRML export
In short, nothing that hasn't been done before.

Peter MacMurchy