Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

Why does SL only have prims?

Rax Jessop
Registered User
Join date: 24 Dec 2005
Posts: 67
02-14-2006 15:38
why can't we move the verts?
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
02-14-2006 16:09
From: Rax Jessop
why can't we move the verts?


Two reasons:

1 (definite) - Because if you could, SL would have to send the locations of every vertex for every item in game, which would create a huge load of network traffic. Other MMOs can only get away with it because all their meshes are loaded from the install CDs.

2 (never officially claimed but some people believe it) - Because if you could, real-life 3D modelling professionals would own every market in SL.
Rax Jessop
Registered User
Join date: 24 Dec 2005
Posts: 67
02-14-2006 16:22
how about just four vertexed (is that a word?) lattices?
Aliasi Stonebender
Return of Catbread
Join date: 30 Jan 2005
Posts: 1,858
02-14-2006 16:32
Because Second Life was designed to be used on computers and Internet bandwidth available today while permitting extensive user creativity is the short answer.
_____________________
Red Mary says, softly, “How a man grows aggressive when his enemy displays propriety. He thinks: I will use this good behavior to enforce my advantage over her. Is it any wonder people hold good behavior in such disregard?”
Anything Surplus Home to the "Nuke the Crap Out of..." series of games and other stuff
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
02-14-2006 16:55
From: Rax Jessop
how about just four vertexed (is that a word?) lattices?


Deformation lattices are more likely to be doable at some point than direct vertex editing, but the problem there is that SL is already very CPU intensive. Having to calculate lattice deforms on every prim within your view distance would likely add an unacceptable amount of extra load. A programmer familiar with the math would need to weigh in on that though. I'm only guessing. It would be cool, no doubt about it.
It would sure make building a lot easier.
_____________________

My other hobby:
www.live365.com/stations/chip_midnight
Treacly Brodsky
Pixel SLinger
Join date: 23 Jul 2004
Posts: 186
02-14-2006 18:31
I'd imagine some of the problem is serverside computations for physical interactions. I've read that Havok (with or without SL) has a hard time handling concave objects, colliding; It throws the game engine into a "deep think". If we had control at the vertex level we would be able to (easily) throw a sim into deep think.
_____________________
Chip Midnight
ate my baby!
Join date: 1 May 2003
Posts: 10,231
02-14-2006 19:03
Yep, good point. That would be a problem with deformation lattices also.
_____________________

My other hobby:
www.live365.com/stations/chip_midnight
Sean Martin
Yesnomaybe.
Join date: 13 Sep 2005
Posts: 584
02-15-2006 02:08
Interesting stuff.
Now I see that clearly. I think.

Each prim is basicly like one vertex. Instead of sending 8 vertex points, for a cube, across the network, it instead sends just one point? Where the prim is located.
Well then there is the data on it's twisted nature.

But if it was vertex based, each point would not have the data of some twist or another. It would only have it's location.

So wouldn't all that data on a prim with it's twist and shear data be about as much data as all the vertex points if it was a mesh?

Except in a mesh we can directly control a shape to our liking.
_____________________
Moopf Murray
Moopfmerising
Join date: 7 Jan 2004
Posts: 2,448
02-15-2006 02:33
If meshes are too bandwidth intensive, which I kind of understand but have read some conflicting views on it on these forums (I don't know enough about it at that level to be honest), then why don't we get proper CSG (Constructive Solid Geometry)? As we're already using simple primitives, surely this would make sense? Just thinking about it simply, even if we counted those prims that we use in CSG to perform boolean operations against the overall prim count, I'd suspect that we'd see fewer prims being needed overall.

As an example, take a 3m high, 1m wide cube. You want a circular hole close to the top of it. Currently you'd need 4 prims to do this, one for the main part of the rectange, one which you hollowed out for the hole and 2 "padders" either side of the hollowed out one to make up the width so the hollowed out section was circular, not eliptical. With CSG and a subtraction operation, you'd only actually need 2 prims - 1 for the cube, one for the cylinder you were using to cut the hole.

Am I making much sense here? The flexibility this would allow would be amazing in comparison to what we have now which is feeling kind of dated.
_____________________
Feynt Mistral
Registered User
Join date: 24 Sep 2005
Posts: 551
02-15-2006 02:39
Well a cube is 8 vertices (4 top, 4 bottom) with a total of 24 floating point numbers for each point and then another 8 * 4 for rotation (damned quaternions!) because you want to be able to mimic a twisted cube. Versus 3 for location, 3 for size, 4 for rotation, and then I forget whether it's 6 or 8 more numbers for various things like twist or cut begin or end. We generously say 10 and end up with 3+3+4+10 or 20 numbers. Even without the individual rotations per vertex that's still less numbers to toss around.

Twisting the cube however can be expressed with 8 seperate rotations to give a curved line and face value (as opposed to fusilloni, aka spiral noodles with the thin core) OR by an equation as a result of a few numbers (basically top and bottom twist degrees, combined with size and position). There are fewer numbers involved in storing a cube for an equation, and fewer to transmit. And while certainly it's easier on a computer to get the 8 rotations and just pass them to the GPU, it's simplier to calculate it and easier to store it as an equation.


Another way to think about it is an application form. They ask you to fill out things like date of birth, date of employment, date of termination, etc. They don't ask how old you are or how long ago have you worked, those are calculated fields. They know how old you are from your date of birth.


I'm not so sure about deformation matricies, but CSG is something I'd love. Basically more of the same calculated junk, only we get complex shapes. You actually CAN recreate a believable human head with just CSG.

Addendum:
Wow Moopf, same wavelength on the CSG. >;)
_____________________
I dream of a better tomorrow in SL!
You should too. Visit, vote, voice opinions.
Support CSG! Tell LL how much it would mean to subtract one prim from another!
Prim Animation! Stop by and say something about it, show your support!
Moopf Murray
Moopfmerising
Join date: 7 Jan 2004
Posts: 2,448
02-15-2006 02:58
From: Feynt Mistral
Addendum:
Wow Moopf, same wavelength on the CSG. >;)


Hehe, glad I'm not the only one thinking this way. The freedom it would give, in comparison to what we have, would be visually astounding I'm sure.
_____________________
Mack Echegaray
Registered Snoozer
Join date: 15 Dec 2005
Posts: 145
02-15-2006 04:02
IIRC boolean ops on prims would also cause problems for physics and collision detection. For instance, imagine trying to ram a square peg into a round hole .... if the "hole" is not actually represented internally by separate physics volumes then the peg would bounce off the hole. And if it is represented internally by different physics volumes, then you basically have multiple prims anyway.
Moopf Murray
Moopfmerising
Join date: 7 Jan 2004
Posts: 2,448
02-15-2006 04:47
From: Mack Echegaray
IIRC boolean ops on prims would also cause problems for physics and collision detection. For instance, imagine trying to ram a square peg into a round hole .... if the "hole" is not actually represented internally by separate physics volumes then the peg would bounce off the hole. And if it is represented internally by different physics volumes, then you basically have multiple prims anyway.


I'm sure it's not trivial and there are complications when physics are concerned but there's a big overriding issue:

If we simply have the build tools we do now into the future, Second Life is going to look really poor and that in itself, even if there is no competitor, will turn people away because it will look old.

So, if we accept that more functionality has to be added, whether that's meshes or CSG operations or something else, then the problems have to be resolved. That's where I'm coming from. Second Life looks increasingly second rate because we only have the ability to build with very limited tools. Even the great builds end up looking kind of "samey" these days, because they have the same limited building shapes and transformations available. Add something like CSG and you'll see a much wider, more interesting, environment.
_____________________
Mack Echegaray
Registered Snoozer
Join date: 15 Dec 2005
Posts: 145
02-15-2006 05:24
Sure, not saying it can't be solved. It probably can be. It's just worth bearing in mind that it's quite a big job.
Yumi Murakami
DoIt!AttachTheEarOfACat!
Join date: 27 Sep 2005
Posts: 6,860
02-15-2006 05:34
The irony is that for CSG subtract, all we'd need is a souped up version of the existing invisiprim..
Sator Canetti
Frustrated Catgirl
Join date: 20 Sep 2005
Posts: 130
02-15-2006 09:49
As much as we would all like this stuff, I really don't see it happening, even with what is said here.

You rez a cube in world. To SL, it's a single thing, with about a dozen variables to sent (twist, cut, texture, etc).

Now, in verticies, this same cube would have to be represented by 8 points. While this doesn't actually increase the amount of data 8-fold (texture, color, material etc are still the same) it does significantly increase the load of data that is being transferred between server and client.

Then, there is also the server side of this deal. Now, say, that 200 prim house... it's 200 sets of the cube, (small variants, really, with the info on the server, regardless of shape, it's just another number).

Now, 200 prim house, may have over 1500 verticies... this is a LOT more data to store, manage, and keep track of, this increases the ram and hdd space required on each server.

I think you can see, all this extra data is a LOT to handle. With the current limitations on technology, it's not feasible to do at this time.
Psyra Extraordinaire
Corra Nacunda Chieftain
Join date: 24 Jul 2004
Posts: 1,533
02-15-2006 09:55
From: Yumi Murakami
Because if you could, real-life 3D modelling professionals would own every market in SL.


I am far from a professional in this, but I know if I *could* pull vertices around, I'd become one quick enough.

SL is an INCREDIBLE atmosphere to learn the basics of 3D art, IMHO. For the first time, I feel comfortable opening up a program like 3D Studio Max, thanks to SL. :)
_____________________
E-Mail Psyra at psyralbakor_at_yahoo_dot_com, Visit my Webpage at www.psyra.ca :)

Visit me in-world at the Avaria sims, in Grendel's Children! ^^
Argent Stonecutter
Emergency Mustelid
Join date: 20 Sep 2005
Posts: 20,263
02-15-2006 10:37
From: Mack Echegaray
IIRC boolean ops on prims would also cause problems for physics and collision detection. For instance, imagine trying to ram a square peg into a round hole .... if the "hole" is not actually represented internally by separate physics volumes then the peg would bounce off the hole. And if it is represented internally by different physics volumes, then you basically have multiple prims anyway.
You could have boolean ops on prims being a purely visual effect, but otherwise operate like 100% transparent prims. Or even have a dumb hack so that if an *avatar* collides with an antiprim the object containing the prim is phantomed for that avatar until the avatar exits the prim, so you could walk through an antiprim doorway. It's not like there aren't dozens of weird exceptions from sane collision logic anyway, especially where avatars are concerned.