View Single Post
Old 30th March 2008, 06:04 AM   #6
lisa
Senior Member
Professional user
 
lisa's Avatar
 
Join Date: Mar 2005
Location: Phoenix, AZ
Posts: 917
Default Re: Linking=merging?

Yes, they are *very* different.

VRML is primarily a polygon-based file format. It stores triangle, vertices and normals in its model file. Many 3D formats are very similar to this.

Second Life on the other hand uses parametric shapes, specifically conic primitives. i.e. sphere, cone, cube, torus, and all the twists and variations that are possible by altering the input values to the parametic equation. Each shape is called a "prim" in Second Life lingo.

Instead of storing the actual vertices or triangles, it stores the values of the different shape equations. So, something like a sphere might be saved just by saving its center point, radius, twist, and hollow. Second Life is one of relatively few 3D programs that works this way. One of the other programs that works this way is POV-Ray, although POV-Ray will also handle polygon data in addition to parametrics.

In *theory* Second Life's way of storing models is much, much more efficient than a polygon model. In *practice* it's a little more hit-or-miss. Because the limits in prims make it hard to make certain kinds of shapes, people end up using *lots* of prims to try and get the shape they want. It's not unusual to see hair or jewelry with 50 to 200 prims in it. Unfortunately, because of the way video cards work, prims still end up getting converted into triangles when they are rendered. Some shapes end up with lots of triangles (up to 1024 in a torus). So, having a 100,000 polygon hair style isn't a stretch. Obviously, if you have a crowd of people dressed this way, it's going to start running pretty darn slow in no time at all.

That's where "sculpted prims" come in. A sculpted prim is Second Life's way of getting polygon-like data into their pipeline, which is designed only for parametric shapes, in order to help cut down on the number of wasted polygons. A sculpted prim is really just a sphere with a displacement map. If you've ever used a heightfield in POV-Ray or made terrain with a landscape editor, it's the same thing only wrapped around a ball. The displacement maps used by sculpted prims also let you displace a point in x,y,z instead of just y the way most landscape editors do.

There are three AC3D exporters. The "box" and "tri" exporters both create lists which then are used to create standard "prims" (parameterics) in Second Life. The third exporter creates "sculpted" prims, which it does by reading each point on the model and then writing the displacements to a texture map, which Second Life will import and apply to a sphere.
lisa is offline   Reply With Quote