Archived page.

This is an archived copy of my old (academic) homepage formerly hosted at Chalmers. It is no longer being updated.

Go to the new page.

I am a Ph.D. student at Chalmers University of Technology, Departement of Computer Engineering and Science, and a member of the Computer Graphics Group.

My research focuses on parallel programming on GPUs ("GPGPU"), real-time lighting, and shadowing techniques. My supervisor is Ulf Assarsson.


(on 2014-04-20)

I finished writing my thesis "Real-Time GPU Techniques for Advanced Lighting Phenomena". The defense is on May 16, 2014.

And in other news...

(on 2013-12-30)

It's been a while. Here's some of the stuff that's been going on:

My Ph.D. studies are nearing their end too. In fact, I'm likely to defend my thesis towards end of April.

One implication of this is that once I leave Chalmers, my email will stop working. Additionally, this homepage is going away too. I'll probably migrate everything somewhere else. That's a bit of work in progress. If you need to get in touch with me (by email), my somewhat more permanent address is <first name> at newq dot net.

Clustered Shading

(on 2012-05-25)

Our paper on Clustered Deferred and Forward Shading was accepted at HPG 2012, so Ola will be presenting the work in Paris this Summer.

Clustered Shading continues the work that Ola did with Tiled Shading. Where Tiled Shading groups samples in 2D (screen space tiles), Clustered Shading considers 3+D groupings of samples. In the simplest case, samples are grouped according to 3D position, but in the slightly more advanced case, we look at clustering with 3D position and normal. (Other groupings are of course possible, but we didn't look at those yet.)

See Ola's page or the papers section for more info.

Images (from top to bottom): (a) rendered view, (b) volumes created by clustering, (c) volumes created by tiling, (d) lighting computations for clustered shading, (e) lighting computations for tiled shading. The pictures below are also used in the teaser image (Figure 1) in the paper; the description there has some additional details.
Screenshot: Teaser View
Screenshot: Volumes generated by clustering Screenshot: Volumes generated by tiling
Screenshot: Per-sample lighting operationsHeat bar Screenshot: Per-sample lighting operationsHeat bar

Multiple Scattering

(on 2012-03-05)

The paper "Real-Time Multiple Scattering using Light Propagation Volumes" is accepted at I3D 2012.

Screenshot: multiple scattering

WIP - Light Volumes

(on 2011-02-02)

Voxelized light stuff

Voxelized light stuff

Some work-in-progress pictures..

Compaction update

(on 2010-08-11)

Small update to the compaction code: some bug fixes and a new inclusive prefix method. There's also a workaround for what seems to be a compiler bug with the 3.1 CUDA Toolkit.

Volumetric Shadows, update

(on 2010-07-01)

The demo-movie and the presentation slides are now online, both here and at the HPG homepage. I've also uploaded the demo-movie to youtube, so check it out there.

Volumetric Shadows

(on 2010-05-18)

Our paper "Real Time Volumetric Shadows using Polygonal Light Volumes" was accepted at the HPG2010 conference. W00t.

Screenshot: volumetric shadows

The paper is written together with Erik Sintorn and our supervisor, Ulf Assarsson.

More compaction

(on 2009-10-14)

The stream compaction code, chag::pp, is now available under the MIT license.

Some minor adjustments and bugfixes are also included.

Stream compaction

(on 2009-09-25)

Stream Compaction code is now available - it should compile on both nvcc+GCC and nvcc+Visual Studio.

Documentation still needs some work. Also, there are a bunch of possible improvements that could be implemented, a few instructions that one could get rid of in the inner-most loops.

But, now, back to correcting hand-ins. :-(

... update

(on 2009-09-19)

So, there's finally a homepage, after a few epic battles with HTML+CSS.

Stream Compaction code is soon to follow: there's a minor problem with compilation on nvcc+Visual Studio, where an intermediate file from nvcc (*.cudafe1.cpp) generates errors with cl.exe.

Since I usually run linux+gcc, debugging that problem involved installing Windows and Visual Studio (on vmware, where everything is slowish).