Posts Tagged ‘GSoC’

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:


GSoC YouTube channel video

I recently made a video for the GSoC YouTube channel.

I included all the main features the fur plugin support:

  • Colliders
  • Enabling / Disabling physics
  • LOD
  • Geometric properties
  • Materials
  • Diffuse Type
  • Alpha / Color

Here is the video (hopefully you will be able to see it on the GSoC YouTube channel in no time):

GSoC final deadline

The final GSoC deadline is tomorrow, or rather the firm ‘pencils down’ date, so I have decided to make a really short self-evaluation of the features I’ve managed to implement.

Done :

  • Generate geometry – iFurMaterial (until the midterm)
  • Animate geometry – iFurPhysicsControl (until the midterm)
  • Write specific shaders – iFurStrandGenerator (until the midterm)
  • External parameters – density and height maps, 3D textures, etc.
  • LOD system and optimizations – iFurMesh inherits from iMeshObject
  • Extend from hair to fur – thanks to Frankie the squirrel

There is still some code rearranging to be done, but nothing much, really: deciding what classes should inherit from what interfaces, making loaders and savers for the mesh, just better organizing the code.

I leave you with this footage of the CS fur plugin as it is now (the FPS is actually double than in the video and above 60 on release settings and ~30 FPS on debug):

Categories: Crystal Space Tags: , , ,

Halfway there

The 16th July midterm deadline just passed and I haven’t posted in a while, so I am going to make a short presentation about what I have done so far and what is still to be done for this GSoC project.


  • Generated geometry – iFurMaterial
  • Animated geometry – iFurPhysicsControl
  • Written specific shaders – iFurStrandGenerator


  • LOD – working on it
  • Shadows – at least receiving shadows from other objects
  • Blender integration – if there is any time left

Recently I have finished adding support for density and height maps, and I will soon write how I have done this. I think that the way in which hair strands are generated, based on the density map, is quite general and could be used even for an adaptive tessellation project, so I will try to write my next post about this as soon as possible.

Until then I leave you with this video, showing more or less what I have implemented so far (YouTubeHD):

Categories: Crystal Space 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: , ,