Home » Community » Forums » » Exploring Metaballs and Isosurfaces in 2D
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic


 Last Thread Next Thread 
 Exploring Metaballs and Isosurfaces in 2D
Post Reply 
About the Author

Stephen Whitmore is a Canadian student currently studying Computer Science at the University of Waterloo. His interests lie mostly in the areas of game development and graphics programming/theory.

If you have any further questions about metaballs or isosurfaces, or any comments regarding the article, please don't hesitate to drop him an email at stephen.whitmore (at) gmail (dot) com; he'd love to hear from you.

 User Rating: 2077   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Good article, I always wondered about the mechanics behind Metaballs, now I understand. Couldn't resist, had to try it out with quartz / glsl:

Glsl Metballs in 2D ( First post on the site )


 User Rating: 1021   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Great article. Read this months ago when Stephen posted it on his own blog. Nice to see it made it on to GDNet and got a featured article spot.

 User Rating: 1817   |  Rate This User  Send Private MessageView ProfileView JournalView GD Showcase Entries Report this Post to a Moderator | Link

Really interesting article. The approach to implementing those "meta-things" is orders of magnitude easier than I'd thought. It could have been nice to have a short concluding paragraph explaining how it's done in 3D (as I guess you dont apply a per-voxel algorithm).

Anyways, that was a good reading!

 User Rating: 1213   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Trillian
It could have been nice to have a short concluding paragraph explaining how it's done in 3D (as I guess you dont apply a per-voxel algorithm).
Unfortunately, you pretty much have to. You can speed things up a bit by using an octree to discard unused areas, but the algorithm does have to run per voxel, and since you need to extract a polygonal surface, it is a much more complicated and expensive algorithm.

 User Rating: 1743   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Thank you for all of the positive comments. I'm looking forward to pumping out some more articles in the (near!) future.

--
Gauntlets of Recursion (+3) - My game development journal.
My Recent Projects: [Meteorites] [Gundown] [Magma Duel] [Admiral Overalls] [Membrane Massacre]
Current project: ((Aphicore))


 User Rating: 1576   |  Rate This User  Send Private MessageView ProfileView JournalView GD Showcase Entries Report this Post to a Moderator | Link

Utterly fascinating. I feel compelled to write my own crude implementation right now!

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

The article is nice as far as it goes, but it's a shame that there's not even a mention of other rendering methods - in particular marching cubes (and the equivalent in 2D) - since in practice (I assume) per-pixel probing/raycasting on the CPU isn't sensible for real-time rendering.



 User Rating: 1385   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by MrRowl
The article is nice as far as it goes, but it's a shame that there's not even a mention of other rendering methods - in particular marching cubes (and the equivalent in 2D) - since in practice (I assume) per-pixel probing/raycasting on the CPU isn't sensible for real-time rendering.


You are absolutely right -- there's a metric tonne of other methods that I didn't even touch. I decided ahead of time that I wanted to cover the naive-est approach to the problem and simply focus on applying some optimizations to it, rather than delve into other approaches like marching squares or using the GPU. It would be at least fair to mention these though, so I'll see about putting in some additional references pointing in the direction of some of these alternate routes. Thanks!

--
Gauntlets of Recursion (+3) - My game development journal.
My Recent Projects: [Meteorites] [Gundown] [Magma Duel] [Admiral Overalls] [Membrane Massacre]
Current project: ((Aphicore))


 User Rating: 1576   |  Rate This User  Send Private MessageView ProfileView JournalView GD Showcase Entries Report this Post to a Moderator | Link

Very nice article. As was pointed out, it is terribly slow, but that's ok. I managed to get an example done in XNA in about 15 minutes using this article. Very well done sir!

 User Rating: 1105   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Great article, but wery hard to find. I would like to more articles like this, so I searched under programming graphics, special effects, general programming, but I cant find it.

 User Rating: 1016   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: