JavaOne 2001 BOF Report

This report is taken from a post by Mark Fernau to the Java3D interest list.

Here are the notes I took from a brief preview of what *might* be included in Java3D 1.4. In general with this release they are "taking off the covers" and looking to add some major functionality. They are using the Java Community Review process and are in the process of submitting a JSR for Java3D 1.4. Other Java3D releases since 1.0 have been maintenance releases in Java Community Review language while 1.4 will be a full release (specification?). Because of the process, J3D 1.4 is required to be backward-compatible with previous / existing versions of Java3D. They'd have to go to J3D 2.0 to remove that requirement and this is *not* the plan.

Michael Schulman spoke briefly (during which I walked in) and then introduced Doug Twilleager who is the Java3D 1.4 specification lead. Here are my notes from the 15 minute presentation:

Possible Directions & Features for 1.4

  • Extensibility
    • Visibility/picking/collision algo?
    • Leaf nodes
    • Threads
    • Exposing native context info
    • 1.4 will specifically not focus on overriding existing node semantics
  • Programmable shading (referred multiple times to Pat Hanrahan's work @ Stanford on R/T programmable shaders--which essentially implements a subset of Renderman. The URL for Pat's work is
    • Geom/vertex/pixel shaders
    • High level RenderMan (like) language
    • Shader pipeline
    • Displacement
    • Surface
    • Light
    • Atmosphere
    • Will be hardware accelerated
    • Will implement the programming language to allow it to be evolved
    The shader will work with J3D to ask whether or not certain features are supported by the particular platform and J3D will respond and optionally provide fallbacks
  • Advanced rendering techniques
    • Shadows
    • Reflections
    • Ancillary buffers (stencil/off-screen/texture)
    • Implicit or explicit, must decide on whether to support
    • Algorithmic choices
    • Explicit multi-pass
  • Miscellaneous
    • Move geometry picking to core (for performance)
    • Behavior semantics
    • Multiple views
    • SharedGroup
    • Others
  • Timeframe:
    • JSR is being submitted now
    • Timeframe is really dependent on what direction the expert group takes.