Projects (2012 – present)

NOTE! Some of my new projects are not documented in this page but their codes are available in my GitHub Page. Please have a look on them.

Real-Time Streamsurface Computation and Rendering

please see Master Thesis: Real-time stream surface computation and renderingcar

OpenGL Simple Samples

It can be found on my GitHub page. It contains tutorials on how to:

  • Screen-Space Ambient Occlusion (SSAO)
  • Order Independence Transparency (OIT)
  • MultiGPU SSAO and OIT
  • Iso-Surface Rendering
  • Direct Volume Rendering
  • Sphere/Cylinder fragment shader ray casting
  • Using Stencil Buffer
  • This slideshow requires JavaScript.

VELaSSCo EU Funded Project

I was involved in query implementation, and visualization client implementation of VELaSSCo EU funded project at Fraunhofer IGD. The video which we published about Fraunhofer’s visualization client is as follows:

HoloGraphic Projection Content

I implemented a simple OpenGL application which generates output that can be viewed using a pyramid.


Interdisciplinary Project (IDP): 3D-Visualization of electromagnetic field strength distribution

NOTICE! The visualization module which I did in this project was done as my interdisciplinary project to pursue my master degree. The original project page can be found here. The work was supervised by Dipl-Info. Johannes Lechner.

To activate and detect the passive RFIDs which are passed through aIDP_userAssist.png RFID detection gate correctly, a specific range of magnetic field in an area around the gate is expected. The goal of the project is to assist the user to measure the magnetic field in a specific area around the gate and visualize the values to detect the areas around the gate that have high/low magnetic field strength. To measure the magnetic field at a specific point, a measurement antenna is used. To keep track of the antenna’s position, it is equipped with retro-reflective markers. The gate is surrounded by four ART-
trackers which track the marker positions. The user is able to work with the system through a remote controller. Using a separate marker, the user defines the gate dimension and position, antenna positions to initialize the 3D world. The user uses the same marker to define the area of interest for measurement to the application. During the measurement, the application helps the user to collect enough data to make the measurements accurate. When the data is collected, the user is able to visualize the collected data in each direction, and its magnitude using sphere or torus glyphs. Additionally, the collected values can be displayed more clearly by rendering the collected volume of data. The following figures show some of the achieved results.

Documents: Slides

This slideshow requires JavaScript.

Augmented Reality PuppeAR_Projectt

In this project, user controls the biped by moving the handle like playing with a puppet and the puppet can walk, dance or fight :). Each marker is connected to one part of the biped and We have 4 cross markers which are connected to the hands and legs of a biped. This is the project which I did for Augmented Reality course.

Downloads: Slides, Code (Available on GitHub)

Guided Research: Measuring and Evaluating Impact of Ray Sorting Algorithms on Coherency of SIMDs in Voxel-Based Path Tracers

Ray-traced global illumination (GI) algorithms are becoming widresult.pngespread in real-time applications and computer video games. Path tracing is a common rendering technique to render images with global illumination effect. Low performance of these algorithms, makes their usage limited. To speed up these algorithms, some acceleration hierarchy like Kd-tree, BSP-tree, etc. is used. Typically, BVH-Trees are used to accelerate path-tracing algorithms. Recently, these algorithms are run in real time on CPUs and GPUs b
ut the ray coherency after the first bounce becomes too low; As mentioned by related works. As CPUs and GPUs use wide SIMD units, gaining high coherency on these units is very important. A coherency improvement mechanism can be used to restore the ray coherency. In this guided research, we investigated the impact of ray sorting on execution coherency of processor’s SIMD units. Our measurements show that execution coherency is increased by sorting the secondary rays but the coherency improvements are not as much as we expected and was presented by other papers. The scenes which are rendered in our approach are voxelized and stored in Boundary Volume Hierarchy (BVH) acceleration hierarchy. Furthermore, the voxel-based path-tracer is used as global illumination technique.

Available documents: Abstract, and Document.
Code: Will be available at Github page soon.


Practical Course: GPU Programming for Computer Vision

We practiced CUDA features and implemented Optical Flow and Super Resolution with CUDA.

This slideshow requires JavaScript.

Practical Course: Interactive Visual Data Analysis

This project is the project that I have done during the practical course. The information about the course can be found:
This project is done using DirectX11, HLSL and TweakBar library (for the GUI). In this project, we implement PLY file Loader and we try to visualize volumes using ISO-Surface, Direct Volume Rendering (DVR) techniques. As well, we implement vector fields and particles systems to do particle tracing to visualize the movement of particles into vector fields (our project contains an Arrow glyph functionality as well to present the vector field). Additionally, we implement Stream Lines, Streak Lines, Stream Tubes and Streak Tubes. In addition to them, we implement Smoke Surfaces.

I can send the assignments, code, and data if you need it. Please just contact me 🙂