Thesis Topic Details

Topic ID:
3285
Title:
Ray tracing Minecraft style octrees in parallel Haskell
Supervisor:
Ben Lippmeier
Research Area:
Computer graphics and programming, Parallel Systems, Programming Languages
Associated Staff
Assessor:
Manuel Chakravarty
Topic Details
Status:
Active
Type:
R & D
Programs:
CS CE SE
Group Suitable:
No
Industrial:
No
Pre-requisites:
--
Description:
An Octree is a recursive structure used to represent volumetric data. Octrees are commonly used when rendering medical data from MRI or CT-scans, as well as in games such as Minecraft.

The project will be to take an existing simple raytracer and extend it to render octrees. The existing code is written in Haskell, uses the Repa parallel array library, and runs in real-time on a multicore machine. A demo video is here [1]. We want to extend this so it can render octrees instead of just spheres. Example output from an (advanced) renderer is here [2].

Having good runtime performance is a major goal of this project, and you will learn much about optimising parallel Haskell code. You may also need to extend the Repa parallel array library. Repa itself is described here [3] [4] [5].

[1] http://www.youtube.com/watch?v=jBd9c1gAqWs
[2] http://anusf.anu.edu.au/Vizlab/drishti/gallery.shtml
[3] http://repa.ouroborus.net
[4] http://www.cse.unsw.edu.au/~benl/papers/repa/repa-icfp2010.pdf
[5] http://www.cse.unsw.edu.au/~benl/papers/stencil/stencil-haskell2011.pdf
Comments:
--
Past Student Reports
  Shiyu GAN in s2, 2013
Ray tracing Minecraft style octrees in parallel Haskell
 

Download report from the CSE Thesis Report Library

NOTE: only current CSE students can login to view and select reports to download.