Welcome to the Second Life Forums Archive

These forums are CLOSED. Please visit the new forums HERE

prim suggestion

Barracus Hamilton
Junior Member
Join date: 15 Mar 2004
Posts: 13
05-07-2004 10:56
i was wondering if it was possible to have a options tolink 2 prims together so thatit regiters as one to help with the prim usage such as connect 2 pirm to be one but never to be seperated.
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
05-07-2004 17:48
No, the prim limit is set in place to limit the amount of data the server has to send to the client. Linking two prims together doesn't reduce the amount of data, so it's not exempted.
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
Barracus Hamilton
Junior Member
Join date: 15 Mar 2004
Posts: 13
05-08-2004 23:13
From: someone
Originally posted by Catherine Omega
No, the prim limit is set in place to limit the amount of data the server has to send to the client. Linking two prims together doesn't reduce the amount of data, so it's not exempted.


yes in a sence but when you have linke prims together and give it a flight scriptthe fewer prims you have the less laggy because of the fact that the script has to compile not only in the main peice but also in the rest of the peices.

Its impossible to fly with loose phyiscal objects in the cabin unless its a av.

but back on track

yes the same data is present butit probly has to do more work to move 2 linked prims than a single object

but i say this because we have the ability to build great things but cant animate thenm because they create lagg .

lagg in a air ship is only a prob when close to the ground and populated areasof 25 or more

also you wont have the problem of the peices moving after you link them they tend to move after so manny prims.
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
05-09-2004 00:27
Currently, the system works by sending information about each primative, then rendering each primative seperately. The reason we have primatives, is because the OpenGL rendering system's internal structure does not allow for arbitrary prim types; the ones we have are hardcoded into the OpenGL rendering engine.

Therefore, its impossible to decrease the load on the engine by locking the link between two prims, since the engine only "knows" how to draw one prim at a time.

Of course, Im not a developer, so I might be totally wrong here, this info is just from theory and experiance :D

On a slightly off topic note:

Please try to make your posts easier to read, they're kinda hard to interpret in their current form.

==Chris
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
05-09-2004 01:54
I would kill for a feature that would let me graphically merge two prims. It doesnt need to interfere with the prim limit. I'm thinking of a strictly client side effect that wouldnt need to be any different from a linked object.
Here is an example of merged spheres:
http://www.corel.com/img/content/products/Bryce_5/main_content_bryce5_Metaballs.jpg
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
05-09-2004 01:58
From: someone
Originally posted by Christopher Omega
Currently, the system works by sending information about each primative, then rendering each primative seperately. The reason we have primatives, is because the OpenGL rendering system's internal structure does not allow for arbitrary prim types; the ones we have are hardcoded into the OpenGL rendering engine.

Therefore, its impossible to decrease the load on the engine by locking the link between two prims, since the engine only "knows" how to draw one prim at a time.

Of course, Im not a developer, so I might be totally wrong here, this info is just from theory and experiance :D

On a slightly off topic note:

Please try to make your posts easier to read, they're kinda hard to interpret in their current form.

==Chris


You know, the other day I went around looking for OpenGL docs, but couldnt find any evidence to back this up. Can anyone point me towards the exact function or functions in OpenGL that can spit some primitives onto the screen? Preferrably one that would list all available types of prims.
I'm beginning to suspect that it's more about what kind of collision models Havok supports, rather than a graphics engine limitation.
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
05-09-2004 02:48
Neither OpenGL nor Havok constrain which "prims" we can use in SL. SL's prims are actually parametric models. The only reason they're called "prims" is because that's what they LOOK like. There is no reason why the Lindens couldn't add a birdbath "prim" if they were so inclined.
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
05-09-2004 02:58
From: someone
Originally posted by Catherine Omega
Neither OpenGL nor Havok constrain which "prims" we can use in SL. SL's prims are actually parametric models. The only reason they're called "prims" is because that's what they LOOK like. There is no reason why the Lindens couldn't add a birdbath "prim" if they were so inclined.


Ah, thanks for the correction... I initially thought that OpenGL was the reason we have the primatives we have.

However, there still a problem that your alluding to: even with the situation you describe, generating a totally new primative must be done by the developers. Therefore the engine isnt capable of creating totally new prims dynamically, which is what the OP is suggesting (I think), without major changes.

==Chris
_____________________
October 3rd is the Day Against DRM (Digital Restrictions Management), learn more at http://www.defectivebydesign.org/what_is_drm
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
05-09-2004 03:29
No, the lack of primitive diversity isn't due to a limitation of the engine. To add a new one, it would be a relatively simple matter of modifying the UI to accomodate the new "create $prim_shape" button and dropping the corresponding model into SL.

You're right, prims cannot be added dynamically, nor streamed. That would have to be added, if it's something the Lindens wanted to do.

(Edited to clarify.)
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
Barracus Hamilton
Junior Member
Join date: 15 Mar 2004
Posts: 13
05-09-2004 14:56
when merging polys all you are doing is linking points you in a sence you are but the engine should be able to draw and poly when needed the prims we got are available because they are basic it wont change how much lagg there is if you add pirms merging prims will help more that any thing

lagg is determined by the size and complexity of the object
Christopher Omega
Oxymoron
Join date: 28 Mar 2003
Posts: 1,828
05-09-2004 15:47
From: someone
Originally posted by Barracus Hamilton
when merging polys all you are doing is linking points you in a sence you are but the engine should be able to draw and poly when needed the prims we got are available because they are basic it wont change how much lagg there is if you add pirms merging prims will help more that any thing

lagg is determined by the size and complexity of the object


Someone, please, translate this... I cant understand it :(
Eggy Lippmann
Wiktator
Join date: 1 May 2003
Posts: 7,939
05-09-2004 16:50
I was about to say that myself, but I've developed a bad enough rep on these forums already :)
Catherine Omega
Geometry Ninja
Join date: 10 Jan 2003
Posts: 2,053
05-09-2004 20:52
Barracus, I don't mean to offend, but I don't think you know what you're talking about. At all.

Client-side polygon rendering, server-side physics calculations, the arbitrary server-side "prim" limit, bandwidth limitations, server performance, server-side LSL scripts... these are all fine and interesting topics to discuss; particularly interesting is how some of them can play off each other.

Unfortunately, you're jumbling them all up and what you're saying doesn't make any sense at all. I'm not sure where to even begin explaining, to be honest.

Suffice it to say that your original suggestion --that SL employ some mechanism for merging primitives in an effort to conserve resources-- makes certain assumptions about the nature of the data being transferred. As far as I can tell, you're assuming that the data sent by the server includes things like vertex placement. It doesn't.

SL uses a parametric modelling system: the client and the server know what a "sphere" is already, so the server sends vectors representing the position, rotation and scale, as well as an integer representing the prim type: is it a box, a prism, a sphere? The client then draws the shapes accordingly.
_____________________
Need scripting help? Visit the LSL Wiki!
Omega Point - Catherine Omega's Blog
CrazyMonkey Feaver
Monkey Guy
Join date: 1 Jul 2003
Posts: 201
OpenGL
05-09-2004 21:13
OpenGL doesn't render prims, it renders polygons.. there's a few way to do it, like using fan or stripe(just different, but more efficient ways).. there's 2 basic types, triangles and quads(4 corners). But triangles are almost always used for there speed and usefulness. OpenGL itself cant draw cubes, ect with cuts.. Im sure LL has routines for converting the data we provide into a list on polygons that OpenGL can render.

The idea of making 2 prims into 1 wont really work, because it make more polygons. the whole idea of it being the way it is now is so that they can prevent performance getting too low..

Now, if they allowed you to import polygon meshes from a 3d program, that would be very sweet :) you'd save polygons overall, or have more complex things. or course this has problems with the physics engine, ect. so Im dreaming too..
Carnildo Greenacre
Flight Engineer
Join date: 15 Nov 2003
Posts: 1,044
05-09-2004 23:23
From: someone
Originally posted by Catherine Omega
Neither OpenGL nor Havok constrain which "prims" we can use in SL. SL's prims are actually parametric models. The only reason they're called "prims" is because that's what they LOOK like. There is no reason why the Lindens couldn't add a birdbath "prim" if they were so inclined.


However, the current set of prims does match fairly well with the GLUT primitive types.
_____________________
perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++;'
CrazyMonkey Feaver
Monkey Guy
Join date: 1 Jul 2003
Posts: 201
05-10-2004 13:46
not really, that only does cubes, spheres, ect.. SL does cuts/dimple, not to mention AV's. Also its not something you would use in a professional product. Id imagine even if it could be used it would be too slow, since its sort of a high level wrapper. (IE makes doing some things in OpenGL easier). I only program as a hobby and I wont even use GLUT, lol :)