Archive for the ‘Other’ Category

Another year, another blog

I have just created a new blog for my GSoC 2011 project, regarding “Real-Time Volumetric Shadows for Dynamic Objects”. At the end of this project I should be able to obtain a more realistic hair rendering as well, by using self-shadowing.

You can check it out at:


What I want

Seeing that there are a lot of non-real-time modelling programs that can handle hair simulation and rendering, used especially for the film industry, such as Maya, 3DS Max or the open source Blender, and a couple of dedicated real-time applications, like those from NVIDIA, I realized that there is no 3D engine that can both simulate and render human hair in real-time.

This is exactly what I want from this project: to make a plugin in CS, that can be used in any scene of this modern, open source 3D engine.

And in a few words, this is how I want to do it:

  1. Use Bullet plugin to represent hair as ropes for the physics simulation
  2. Generate hair geometry, by interpolating the ropes’ positions
  3. Write a special shader for hair rendering, most likely Marschner
  4. Extend from hair to fur
  5. Make a Blender importer / exporter or write a small editor for hair in CS
  6. Self-shadowing, using opacity maps (this one is optional, actually)

All of this till 16th of August 🙂

Categories: Other Tags: ,

The story

Okay, so you might say Hair Simulation and Rendering … where’d you get that idea from ?!

About 1,5 year(s) ago I had a project that involved a sorting algorithm on the GPU and found out a very interesting way in which it could be used: ‘Real-Time Approximate Sorting for Self Shadowing and Transparency in Hair Rendering’. More details on Ulf Assarsson’s  homepage.

So, this year when I had to choose what to do for my final project I remembered what was the most intriguing usage of an algorithm I stumble upon during my four years of faculty.

At the beginning I though of implementing this application using CUDA or OpenCL, believing that it would be easier to write sorting algorithms (or physics) on the GPU, using those technologies, and not caring too much about compatibility. However, after some discussions on the Crystal Space mailing list, I realized that if I wanted to make a program that could really be used in a 3D rendering engine I would have to go with shaders.

Soon after this I was given the opportunity to start writing a plugin in CS for the 2010 GSoC programme.

Real-Time Approximate Sorting for Self Shadowing and Transparency in Hair Rendering
Categories: Other Tags: , , ,

Hello world!

This is my blog for my GSoC 2010 project: “Real-Time Hair Simulation and Rendering”.

I am developing this project in Crystal Space rendering engine.

Also this project serves as my final project for university and I’ll be posting  some related work these days, so stay tuned.

Categories: Other Tags: , ,