Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

A few simple additions!

Helium Lightcloud
Junior Member
Join date: 19 May 2004
Posts: 6
05-27-2004 07:52
The first thing I'd ask for is a meta-surface prim or two. It takes as little or less data for transfer than existing prims, and would allow for much more organic modelling without high prim numbers and large data transfers. It also scales well with object detail settings, since the subdivision algorithm for the surfaces can be arbitrarily set. Meta-surface spheres and cylinders would be great!

If that's asking too much, or if possible to add both, add a standard bezier patch prim. It would be harder, since you have to put in a custom editing method (16 or more control points), but once again it would really jump up the flexibility of the modeller, without undue complexity or huge amounts of data to transfer.

Implicit algebraic surfaces are just a dream, but they'd be nice. :D


Another great option would be having access to the Vertex Shaders / Pixel Shaders for created objects, so we could attach pre-defined (ie, we can't write our own, though that would rule) Shaders to our prims....

And it would make liquid effects utter simplicity....


Neither of these (with the exception of the Algebraic surfaces, of course) would load the client down much more (meta-surfaces would incur a slight hit as we have to calculate interphase points for ALL meta-surface objects that are linked), but with some optimizations (we aren't ray-tracing here, so we can fudge a bit) it should be easily acceptible.


What say ye?
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
05-27-2004 08:06
I say "huh?" and mutter to myself, "shoulda paid more attention in CG class..." :)
Helium Lightcloud
Junior Member
Join date: 19 May 2004
Posts: 6
05-27-2004 08:26
Metasurfaces: Like metaballs. Also known as Isosurfaces. (any prim shape can be used, if you can work out the math). And example metaball image is here:

http://www.geisswerks.com/ryan/BLOBS/polished.jpg

And the full description (including lots of math and pics) is at http://www.geisswerks.com/ryan/BLOBS/blobs.html but note that it is based around ray-tracing. You can generate mesh coords for the implicit surfaces for scanline methods.


Bezier patches are a very simple subdivision surface. Pics and full explanations are at http://www.cs.wpi.edu/~matt/courses/cs563/talks/surface/bez_surf.html


(and I'm a self-admitted 2D/3D Graphics programming junkie....I shoulda included the examples and info links the first time....I forget not everyone knows this stuff sometimes!
:o )
Carnildo Greenacre
Flight Engineer
Join date: 15 Nov 2003
Posts: 1,044
05-28-2004 00:25
Converting full-featured isosurfaces into triangle meshes is a non-trivial task, and can easily result in enough triangles to bring any computer to a halt.
_____________________
perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++;'
Moleculor Satyr
Fireflies!
Join date: 5 Jan 2004
Posts: 2,650
05-28-2004 06:00
And is that OpenGL compliant?

(That said, why not have height-map ability on prim surfaces?)
_____________________
</sarcasm>
Helium Lightcloud
Junior Member
Join date: 19 May 2004
Posts: 6
05-28-2004 07:06
From: someone
Originally posted by Carnildo Greenacre
Converting full-featured isosurfaces into triangle meshes is a non-trivial task, and can easily result in enough triangles to bring any computer to a halt.


True, full-featured isosurfaces, generated in the general case, are VERY compute intensive. However, this is NOT what would be used in a real-time rendering system. Optimized, and case-based implementations exist that ARE relatively trivial to implement, and the number of triangles is simply a matter of how much subdivision you set the algorithm to produce.

As an example of such a simplification of the general algorithm, only permit mesh-generation at create-time (ie, the mesh is only generated once by the client, when it is first created.) This means the object is static once it has been modelled, but it still allows for organic modelling. We only permit spheres (metaballs) since sphere geometry is highly optimizable.

A good example of a real-time metaball algorithm is at http://www.angelcode.com/dev/metaballs/
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
05-28-2004 15:27
Oh yes, that. I suggested it too, a while back. I just didnt get into the technical mumbo jumbo :)
Nekokami Dragonfly
猫神
Join date: 29 Aug 2004
Posts: 638
So is this metaball thing the "meatball" in Prop#148?
04-25-2005 18:19
I was kind of confused by the references to "meatballs" in prop#148, but then someone else mentioned Metaball to me (as in the UT2K4 game) and by accident I found a Corel site about metaballs. Then I did a search here on "metaball" and found this thread. Is this what is mentioned in prop #148? Could we get the Lindens to link this thread to that proposal, so people know what it's about? Otherwise I think it will continue to languish with 2 votes. (Maybe it still will after being discussed, given people's priorities, but at least people will know what they're passing up.)

Thanks,

neko
Robin Linden
Linden Lifer
Join date: 25 Nov 2002
Posts: 1,224
04-25-2005 20:54
I'm going to connect them up, but in the meantime also check out the relationship between meatball and metaball, just to make sure we're all on the same plate (so to speak).
_____________________