A modern declarative surface shader for X3D

  • Authors:
  • Karsten Schwenk;Yvonne Jung;Johannes Behr;Dieter W. Fellner

  • Affiliations:
  • Fraunhofer IGD;Fraunhofer IGD;Fraunhofer IGD;Fraunhofer IGD/TU Darmstadt

  • Venue:
  • Proceedings of the 15th International Conference on Web 3D Technology
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper introduces a modern, declarative surface shader for the X3D standard that allows for a compact, expressive, and implementation-independent specification of surface appearance. X3D's Material node is portable, but its feature set has become inadequate over the last years. Explicit shader programs, on the other hand, offer the expressive power to specify advanced shading techniques, but are highly implementation-dependent. The motivation for our proposal is to bridge the gap between these two worlds -- to provide X3D with renderer-independent support for modern materials and to increase interoperability with DCC tools. At the core of our proposal is the CommonSurfaceShader node. This node provides no explicit shader code, only a slim declarative interface consisting of a set of parameters with clearly defined semantics. Implementation details are completely hidden and portability is maximized. It supports diffuse and glossy surface reflection, bump mapping, and perfect specular reflection and refraction. This feature set can capture the appearance of many common materials accurately and is easily mappable to the material descriptions of other software packages and file formats. To verify our claims, we have implemented and analyzed the proposed node in three different rendering pipelines: a renderer based on hardware-accelerated rasterization, an interactive ray tracer, and a path tracer.