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:
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
[GSoC 2012] Particle-based Metaball Rendering
-
- Gnoblar
- Posts: 2
- Joined: Mon Feb 27, 2012 4:12 pm
[GSoC 2012] Particle-based Metaball Rendering
Last edited by joshux on Mon Apr 09, 2012 11:07 am, edited 5 times in total.
-
- 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
Add your project to here before student application deadline.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 2
- Joined: Mon Feb 27, 2012 4:12 pm
Re: [GSoC 2012] Particle-based Metaball Rendering
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
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