[GSoC 2012] Particle-based Metaball Rendering

Threads related to Google Summer of Code
joshux
Gnoblar
Posts: 2
Joined: Mon Feb 27, 2012 4:12 pm

[GSoC 2012] Particle-based Metaball Rendering

Post by joshux »

Email: joshux321@gmail.com
Short description: Metaballs can be used to create cool effects in games since it can represent organic looking objects which blend and melt into each other. They can also be used to represent a number of liquid phenomena, such as water or terminator-like special effects. This project aim to create an metaball subsystem for OGRE and propose using a particle based rendering algorithm on the GPU [1].
Introduction

Isosurfaces or implicit surfaces has been proven useful for modeling and visualization as an alternative to traditional polygon mesh. If the building blocks of an isosurface are spherical Gaussian functions, they are called blobbies, soft objects or metaballs. For fluid simulation, SPH fluid particles (or better called fluid atoms in this context) can also be categorized asthis type of isosurfaces.



Metaballs can be used to create cool effects in games since it can represent organic looking objects which blend and melt into each other. They can also be used to represent a number of liquid phenomena, such as water or terminator-like special effects.

This project aim to create an metaball subsystem for OGRE and propose using a particle based rendering algorithm on the GPU [1].

The algorithm

There are several ways to render metaballs. For example marching cubes, ray tracing or surface particles. Since these techniques are computationally expensive, they are often implemented offline on a CPU. With the growth of modern GPUs, metaball rendering could be computed on GPUs with real time. Because of its nature, particle systems are best suited for this task. This idea is basically rendering metaballs using surface particles on the GPU as follows:

Image

First, we need to constrain the surface particle on the implicit surface. To acheive this, we first compute the implicit function by the smoothing kernel function of SPH method. We then calculate its gradient to determine the surface particle's constrained velocity.

Then we need to uniformly divide the particles across the surface. It spread the particles evenly on the surface by using repulsion force also according to the smoothing kernel function of SPH method.

OGRE integration

The purpose this project is twofold, first build a metaball abstraction layer then render using the proposed algorithm.

The metaball object would has the following capabilities:

Create a MetaBallManager
Add a MetaBall to a MetaBallManager
Delete MetaBall
Animate the Metaball
Render the Metaball
The rendering of the metaball should be made abstract and can be implement using different algorithms. This project implements an particular one that uses particles.

OGRE already has a particle system. We incorporate incorporate this to aid our surface particle generation.

Schedule





Our summer starts at late June, so I can only devote full time from start of July. I can work part time on the semester. There aren’t any other duties in the summer.



04/25/11 - 05/25/11 (part time)

Design the metaball subsystem



05/25/11 - 06/14/11 (part time)

code the metaball abstraction layer



**06/15/11 - 06/30/11 (minor time)

*Preparing school final exam and projects



07/01/11 - 07/07/11 (full time)

implement velocity constraint of particles

07/08/11 - 07/14/11 (full time)

implement local dispersion force



07/15/11 - 07/21/11 (full time)

implement global dispersion method



07/22/11 - 07/31/11 (full time)

wrap up whole system

08/01/11 - 08/10/11 (full time)

debug, test, write documentation



Why I’m the one for the project

My name is Yu-Shih Wang a fouth year undergraduate of National Taiwan University majoring in computer science.I am competent of Java, C, C++. I have a great interest in computer graphics.

References

[1] Point-Based Visualization of Metaballs on the GPU - GPU Gems 3
Last edited by joshux on Mon Apr 09, 2012 11:07 am, edited 5 times in total.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [GSoC 2012] Particle-based Metaball Rendering

Post by Assaf Raman »

Add your project to here before student application deadline.‬
Watch out for my OGRE related tweets here.
joshux
Gnoblar
Posts: 2
Joined: Mon Feb 27, 2012 4:12 pm

Re: [GSoC 2012] Particle-based Metaball Rendering

Post by joshux »

Hello all,
This was my uploaded proposal on melange. I know it's kinda written in a haste cause I started too late, but I'd glad to see your feedback if this is a suitable project or not. I would like to contribute to this project even if not accepted. Anyways, I learned a lot writing this proposal, thanks :)

Josh