Three-dimensional Shape Retrieval and Matching

Ivan Sipiran and Tobias Schreck
Department of Computer and Information Sciences, University of Konstanz, Germany
{ivan.sipiran, tobias.schreck}@uni-konstanz.de

This tutorial gives an overview of 3D object retrieval and its applications. Our goal is to describe a representative sample of the literature, trying to cover from classic and well-established approaches to novel and recent techniques.


Multimedia information is already an important issue in our lives. This can be easily checked by the large amount of information such as images and videos updated daily in social networks. Furthermore, the production of this kind of information has considerably been increased due to the proliferation of capture devices such as digital cameras. Unfortunately, unlike structured data such as text, multimedia information is difficult to be compared directly and therefore we require techniques to manipulate it effectively. In addition, due to its large amount, the efficiency in processes involving multimedia information is also a concern.
The same effect has occurred with three-dimensional information due to the increasing number of 3D shapes which are available on Internet. A good example is the Trimble 3D Warehouse (https://3dwarehouse.sketchup.com/), which is a multi-purpose repository of 3D objects and scenes from different sources. Also, there is a large amount of potential applications involving 3D data in fields such as engineering, security, medicine, entertainment, and so forth. Furthermore, the recent introduction of cheap 3D capture devices has generated much attention in various fields. Now it is possible to take advantage of 3D data to face some problems as alternative to other media. However, in order to fully understand the 3D data and their advantages, it is increasingly necessary to have processing and analysis tools.
One of the most challenging task is 3D shape matching, or how to compare two 3D models in order to assess the similarity. The purpose of the research in 3D shape matching is to develop similarity models. The goal of this tutorial is to address the problem of comparing two 3D objects based on their shapes. Shape matching refers to the process of finding a correspondence between two shapes based on some similarity criterion. The criterion which has received most attention by the research community is the visual similarity, that is to say, two shapes should be matched if they share visually common features.


The tutorial provides a balanced presentation of background, along with pioneering and novel techniques. The overall structure includes:

  • Introduction to the field
  • Applications
  • Evaluation Methodologies and Datasets
  • Techniques:
    • Global retrieval: Depth-Buffer, Shape Distributions, Spherical Harmonics, Light-Field.
    • Non-rigid retrieval: Features on Geodesics, MDS-based methods, ShapeDNA, Geodesic Distance
  • SHREC competitions
  • Open research problems
  • Matrix, Shape Google

In this tutorial, we aim at presenting the overview of the field in a broader sense, hence no special background is required for the audience. The idea is to give enough material for any who wants to start in the field as practitioner or researcher.

"Creating Games Using Castle Game Engine and X3D"

Michalis Kamburelis
Michalis Kamburelis Software


Castle Game Engine ( http://castle-engine.sourceforge.net/) is a modern, open-source game engine using X3D as a scene graph,and a main 3D and 2D interchange format. It allows to use a variety of authoring tools to create immersive game environments. In the tutorial we would like to present using the engine to create 3D and 2D games. We believe that the engine is easy enough to learn during a short tutorial, available for everyone with basic programming skills.

1 Lecturer

Michalis Kamburelis is the author of Castle Game Engine and view3dscene. He was a lecturer at the Institute of Computer Science at University of Wroclaw (Poland). He contributes to X3D development, in particular with papers “Shadow maps and projective texturing in X3D” and “Compositing Shaders in X3D” striving to bring modern 3D graphic features to X3D. Michalis right now is working in the game industry in Poland, working on 3D and 2D games using various technologies.

2 Time

We would like to present a full tutorial lasting 3 hours (with breaks in between). However, we’re also ready to shorten the tutorial time to 1.5 hours, if organizers would prefer it. In the latter case, our tutorial would have a little smaller scope (see the plan).

3 Difficulty and prerequisites

We believe that the tutorial will be available to anyone who:

  • Has a basic programming experience with any programming language. We will show basic usage of our programming language (modern Object Pascal) through examples.
  • Preferably, is basically familiar with any 3D or 2D authoring tool. We will provide a sample 3D and 2D assets for public use. We will encourage participants to use their preferred authoring tool, able to export X3D or any other format understood by the Castle Game Engine. You’re always working with the X3D scene graph, regardless of the format used.

We believe that any programming experience will be enough to participate in the tutorial, as we will show the basic source code, leaving the participants freedom to customize it. Creating games is fun, and we hope that everyone participating in the tutorial will enjoy it!
If the environment will allow, we will encourage participants to bring their own laptops and immediately try everything demonstrated, actively participating in the tutorial.

4 Plan and learning objectives

Below we present a plan for a full (3 hours) tutorial. Some of the tutorial sections below are optional, in case the tutorial time will be shortened.

  1. Basics — the engine, the programming language, quick look at 3D and 2D examples.
  2. Creating simple playable 3D scene. Using various 3D authoring tools.
  3. Creating a simple FPS (first-person shooter) game.
    • Creating a dynamic 3D environment for the player.
    • Handling inventory and picking up items (if time allows).
    • Handling weapon usage.
    • Adding intelligent monsters.
  4. Creating a 2D game.
    • Creating a 2D environment.
    • Handling player movement in 2D environment.
    • Creating simple animated enemies (if time allows).
    • Adding custom shaders for cartoon look (if time allows).
  5. Deploying your game to various targets — standalone (Windows, Mac OS X or Linux) and mobile (Android or iOS). Depending on the time constraints, this part of the tutorial can be a little longer or shorter.

X3D Geospatial

Mike McCann,
Monterey Bay Aquarium Research Institute,

This course will use oceanographic data to demonstrate the use of X3D Geospatial to construct visualizations of terrain and sensor data.

Attendees will be encouraged build their own web pages using their own local servers or online services such as jsbin, jsfiddle, Google Sites, etc. Example data will be provided. Basic web knowledge is required and familiarity with X3DOM will be helpful. The following nodes will be demonstrated: GeoCoordinate, GeoLocation, GeoElevationGrid, GeoViewpoint, GeoOrigin, and GeoPositionInterpolator.

X3DOM: Basics & Advanced

Alexander Rodopoulos (TEI Crete), Max Limper (Fraunhofer IGD)

Authoring Materials with shade.js

Jan Sutter (jan.sutter@dfki.de), German Research Center for Artificial Intelligence
Kristian Sons (kristian.sons@dfki.de), German Research Center for Artificial Intelligence

This tutorial gives a practical introduction to authoring adaptive materials with shade.js, a JavaScript-based language that compiles to GLSL.

Despite many efforts, it is still not possible to exchange materials between rendering systems. Shade.js is a novel material description language that enables the definition of materials that can adapt to available input parameters and system functionality. With shade.js, authors can create complex appearances including procedural and animated materials without interfering with other concerns of the rendering pipeline. Additionally,shade.jsprovides a range of predefined BRDFs to configure the lighting. Therefor it is possible to author materials that are portable between different scenes, hardware architectures and rendering approaches.
Shade.js is based on a subset of JavaScript and therefore addresses in particular web developers. The accompanied compiler translates shade.js to highly efficient GLSL code for WebGL, performing automatic optimizations that authors normally do manually.
In the proposed tutorial the lecturers will give an introduction to shade.js, followed by an interactive hands-on part that will allow participants to create materials within a web-based shade.js material authoring studio (shade studio). Finally, we will give an outlook how shade.js can be used beyond materials.

Course materials can be obtained here: http://xml3d.org/xml3d/slides/web3d­shade­tutorial/

Proposed Length: 1,5h

Learning Objectives:

At the end of the tutorial, each participant should be able to author simple to semi-complex adaptive materials


Basic programming knowledge, basic understanding of shading


Share and explore methods of using, enhancing and creating new 3D Web and Multimedia technologies such WebGL and HTML5 (which is a hot topic in Computer Graphics), Flash/ Stage 3D, X3D, COLLADA, and the MPEG family. The conference highlights capabilities and trends in interactive 3D graphics across a wide range of applications and supports research from mobile devices up to high-end immersive environments.

About Us

The Web3D Consortium is a member-funded industry consortium committed to the creation and deployment of open, royalty-free standards that enable the communication of real-time 3D across applications, networks, and XML web services.

The Consortium works closely with the ISO, MPEG and W3C standardization bodies to maximize market opportunities for its membership.

Visit us at web3d.org

Get in Touch