Semantic Pointing for Object Picking in Complex 3D Environments
by Christian Kössler and Felix Kreuzer
 All Classes Files Functions Variables Macros Pages
Semantic Pointing for Object Picking in Complex 3D Environments

Files

Binaries
Sources

About

This Project adds Semantic Pointing support to the "The Vengeful Hand of God" Game by Christian Kössler.
The Code-Documentation at hand does not cover the Source code of the Game itself, but merely a c++ class containing helper functions exclusively related to the semantic pointing task and the games' pre-existing functions which had to be modified in order to support semantic picking.

Running the Game

The game starts with a welcome screen explaining all the controls and the rules of the game. Use F1 or click the left mouse button to hide the welcome screen and start the game.
We also provide controls for semantic pointing related options:

The game was tested on NVIDIA GPUs exclusively.

Implementational / Details Features

We basically followed the ideas presented in the paper :

Code Structure

The Scene class contains a method Scene::updateObjectPicking for reading and evaluating the pickbuffer and a method Scene::updateCursorPosition for updating the cursor size and position. All other functions and variables related to semantic pointing can be found in the PickingHelper class. Helper Functions for providing and reading GPU buffers are found in utility.hpp We do not provide a code documentation for the game- and render logic.

Compiling the Code

We provide a Visual Studio 2012 Solution and all the headers and libraries needed to compile the code.