University of Bonn's
WebGL BTF-Object Viewer

Welcome to the WebGL BTF Viewer Demo of the University of Bonn's BTFDB.
The technical principles are described in the articles WebGL-based Streaming and Presentation Framework for Bidirectional Texture Functions and WebGL-based Streaming and Presentation of Objects with Bidirectional Texture Functions. Datasets for the presented objects are also available on our download-page.
You can also download a video demonstrating the viewer.

Learn more about compability, browser tweaks, memory requirements.

Objects with moderate GPU-memory requirements*

Objects with high GPU-memory requirements*

Please note:
When loading the viewer for the first time, you might experience some minutes of loading time: We do not stream the 3D-geometry, and thus, depending on the object, 3-7 Megabytes have to be transfered at startup. We are sorry for this inconvenience.


This viewer is a technical proof-of-concept application and not a final product. Therefore, the demo might not work on some systems and browsers. Especially Opera and Internet Explorer are currently not supported at all. Computers with a graphics card from Intel do not seem to work as well. In every case, a modern GPU and up-to-date drivers with 3D acceleration and shader-support are required. So far, we successfully tested the viewer on the following setups:

If you successfully used the viewer with a configuration that is not yet listed here, please consider to let us know:

Browser Tweaks

* On Windows, Google Chrome or Internet Explorer with Chrome Frame will by default map all GLSL shaders to HLSL first. Thus, compiling the shaders, i.e. loading the page, might take a while, probably leading to scary "this plugin is stuck" messages.
For Google Chrome there is a workaround: you can start the browser with the additional parameter --use-gl=desktop, which will considerably improve loading times.

* For some older Firefox installations the use of WebGL is not enabled by default. This can be overriden by setting the webgl.force-enabled flag in the about:config page to true. Additionally, if compiling the shaders takes very long on Windows, setting the webgl.prefer-native-gl flag in the about:config page to true might help.

* For Safari WebGL mey need to be activated first: In "Settings" → "Preferences" → "Advanced" check "Show Develop menu in menu bar". Then, simply activate WebGL in the now appearing "Develop" menu in the menu bar.

Memory Requirements

This application is rather memory intensive and requires sufficient GPU memory for proper displaying the objects. Datasets with more than 16 components only work reliable with 64 Bit browsers.

Digitized objects 1MP 16 components 360 MB
Buddha 4MP 32 components1.4 GB
Buddha 1MP 64 components 1.1 GB
Buddha 1MP 32 components 610 MB