Tutorials
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.
Introduction
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.
Content
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
michalis.kambi@gmail.com
Abstract
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.
- Basics — the engine, the programming language, quick look at 3D and 2D examples.
- Creating simple playable 3D scene. Using various 3D authoring tools.
- 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.
- 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).
- 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,
mccann@mbari.org
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/web3dshadetutorial/
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
Prerequisites:
Basic programming knowledge, basic understanding of shading