Programmable X3D Shaders

Overview

The trend in real-time graphics is to provide hardware functionality for programmable shading, to convey better graphics and increased sense of realism in 3D scenes. High-level procedural shading is also one of the abstraction means for such hardware. The X3D Programmable Shaders Working Group has been formed to develop specifications for integrating high-level procedural shading into the X3D architectural framework.

Procedural shaders offer several advantages over the traditional configurable graphics pipeline:

  • Procedural shaders are a compact representation of both appearance and light sources. They are often small in size and compile to a few instructions.
  • Procedural shaders have no fixed resolution. Multiresolution models are easily represented.
  • Procedural shaders are parameterised. A few parameters can yield and convey a large amount of detail. Classes of related shaders can be generated rather than a single one.

Working Group Goals

  • To specify a set of new nodes that can abstract and represent the programmable shading pipeline in existing and future commodity graphics hardware in a hardware- and graphics API-independent fashion.
  • To study the interaction of these new nodes with the existing X3D nodes. If conflicts exist, the group will propose solutions and recommended practices for resolving those conflicts.
  • To provide initial support, in the form of software tools, to enable authoring. These tools can be importers/exporters from content creation tools, or hardware vendor tools (e.g. ATI's RenderMonkey).
  • To provide a set of state of the art demos that fully describes the proposed functionality.

Deliverables

  • A Programmable Shaders Component specification that includes the proposed node definitions. (see X3D AMD-1)
  • Initial Set of Tools to integrate programmable shaders within X3D worlds. These tools will include importer/exporters from DCC tools and IHV tools.
  • A Collection of Demos to demonstrate the potential of the programmable shaders component.

Current Shading Language Component and Bindings in X3D Framework Amendment 1

How to join an X3D Working Group

Any Consortium Member can join a Working Group. We offer student, professional, academic and company level memberships.

Consortium members can simply go to the Consortium Member Login area of the website to sign-up to join this work group

Member Login


Username:

Password:

Not yet a member?