Jump to content

Meshes, Sculpties, LOD and streaming costs ...

Gaia Clary

Recommended Posts

Something to think about...

Here are some primstars:


All stars have the same size <1.0, 1.0, 0.125> only their distance from the camera is different. One of them is A sculpted Prim. The image is made with renderVolumeLODFactor=1.125

Now think of this:


  • Take a mesh, make a full Blown LOD3 model (i used 1024 faces just to show you...)
  • Minimize LOD0,1,2 to the smallest possible blob you can get (1 triangle maybe).
  • Then set RenderVolumeLODFactor to 4

And see this:


Note, the "smaller" stars (all again same size <1.0, 1.0, 0.125>, but different distance) are not rendered as blobs but as full blown objects. It is only the image resolution of the picture, which makes them look like Blobs. So if you can live with an Object which collapses to nothing on LOD2 (like you see with so many tortured Sculpted Prims) then you can get very cheap meshes.

With easy words: If you need LOD, the resource cost raises up. If you want to go with renderVolumeLODFactor, the resource cost goes down.

Now i only wonder what LL has in mind. Do you want to reduce the streaming costs on your servers or do you want to reduce the load on the client viewers ?

Link to comment
Share on other sites

We can only wait. It seems to me they really want both.

Meshes per prim can have less triangles per resource cost than normal prims which can reach up to 18K triangles in extreme cases. So here they are reducing number of polys which could be placed on a sim. So a viewer side thing. Then with some low poly count items cost will go up even more once they are made physical or scripted. And this would be a server side thing. So looks to me they are going for both. Improve sim performance and reduce number of polys visible on screen.

Right now the numbers are not 100% correct things will change. They may even go on the high side then after release if things don't go as planned they may reduce things till a happy medium is reached. Thats my two cents.

Link to comment
Share on other sites

While increasing the rendervolLODFactor can help the individual to get a nicer looking second life experience, this expierence can be terrible for those on wooden hardware. As far as I know, almost a 3rd of the SL Users log on with onboard graphic chips. They likely wander around with low to mid settings, which will set their rendervolLODFactor to 1.0. Then there are the newbies, they don't know how to crank this factor up in the beginning.

Now think about what those will see with terrible low LODs. Yeah, they see almost only crap, unless they zoom very close on each single object.

I personally have a GTS 250 graphix card, which is lower end already these days, when it comes to 3D game environments. Though, I could crank up rendervolumeLODFactor to 8 and get still plenty of FPS. But I usually have this set to 2.0 on main grid. I wanna spot those bad LOD sculpts. :matte-motes-nerdy: And I want the system do for what it is designed. Reduce polys in the distance.

On the beta grid, I build my meshes with a rendervolLODFactor set to 1.125, to make sure the low end PC user will not see only a bunch of triangles all the time they log on.

My 0.02L$

Link to comment
Share on other sites



I have a question on that LOD thing. Some time ago, someone told me about the RenderVolumeLOD (something setting, can't remember exactly) when I was complaining about how everything looked so wonky to me. So, for a long time now, I have gone around with that setting up to 4 ... very happy about how things look, and no affect that I can see on the FPS for me ... doesn't seem to go up/down when I change the value, so I figured why not always have it up higher. 

Is there a cost somewhere to raising that value? It sure makes my world look a lot more fully-formed.


EDIT: Sorry, now I understand what you are saying. Please ignore my question. I see, my world looks great with the high setting, but if I make crappy sculpties then people with older hardware will see crapppy sculpties because they can't use the RenderVolumeLOD setting?

EDIT2: Gosh, I never hit Post yesterday.




Link to comment
Share on other sites

So I thought I would try the method of frragmenting a mesh to reduce cast again, and throw in a sculpty. I started with a tree, This is one I made ages ago, so I used automatic LODs. It was made with multiple scaled instances for the branches and the same fruit at the ends. So I made both bof these as separate meshes, with hand-made LODs at abou 4x reduction. Then I built the same tree from these pieces, all smaller. Finally I made a rough copy out of sculpties, one for the branches and one for the fruit. These sculpties were made to survive two LOD steps. It took 79 to make the tree, Here are the trees, in the order described. The are all roughly 10x10x10m (radius = 8.66; only two highest LODs count (or are ever used) in the single mesh version(,


The single mesh has a prim equivalent cost of 214, the multi-small-mesh is 125, and the sculpty 203. However, the sculpty will only cost one per sculpty = 79.





Link to comment
Share on other sites

arton Rotaru : As far as I know, almost a 3rd of the SL Users log on with onboard graphic chips. They likely wander around with low to mid settings, which will set their rendervolLODFactor to 1.0. Then there are the newbies, they don't know how to crank this factor up in the beginning.

This ^.

I recently replaced  my "wooden" hardwear but as a builder, I always built to a low render level anyway. Because you HAVE to meet an average level of performance. Designing with high LOD in mind is perfect if you design for the top shelf resident who has the hardware, otherwise, at least check what it looks like at lower LOD before selling.

Link to comment
Share on other sites

It depends on the size of the objects. The resource costs vary extremely depending on which LODS are available. If the mesh gets bigger, then fewer LOD levels will be displayed and hence the total mesh costs explode.

As Drongle mentions you can get past this problem by splitting larger meshes into smaller parts.

Here is an example:


On the right side of the image you see 2 big crosses made out of spheres (7.5 meters wide and high). The right cross is actually a linkset containing 16 meshes of individual spheres. The other one is one single mesh.

The resource costs of the single mesh exploded to 67.6, while the linkset keeps down at 13.2

Now look at the left side of the image. There i have the same 2 crosses scaled down to a size of 1 meter in width and height. Now the resource costs for the link set are higher (12.1) while the single mesh only costs 6.6

Inbetween the 2 extremes i have also added 2 crosses with width and height scaled to 2.5 meters. And already there the link set wins (12.2 compared to 27.4 for the single mesh)

So for small objects it makes sense to put all pieces into one mesh. For larger objects it makes sense to split them into smaller objects.

I can see exactly the same behaviour with the kettle. Its costs depend on whether i place the handle straight upwards (which makes the object bigger) or let the handle fall aside. So it may be cheaper to split the object into kettle and handle and link them together in world, but i have no reliable numbers yet for this, so i will post that later.

Link to comment
Share on other sites

Thank you! This is all valuable stuff to know! It is also important to do our best to figure it all out before mesh hits the main grid, because people will be looking to those of us who played with it in beta to advise and educate them (especially your wonderful tutorials Gaia).

So, if I wanted to build a house, I would be better to make it in pieces instead of trying to do it all in one or two large meshes I would assume.

Link to comment
Share on other sites

Great example, Gaia. It can be a difficult compromise, especially when you can make a very simple low LOD for the whole thing. For example, a fence whci can become a box with alpha texture at the loer LODs. That does better than individual posts and bars which would sti;;; have a box each. But if the fence gets really long, then you lose the effect of the lower LOD. I think you need a degree in mathematics to be able to find the best compromises.

There is also the trade-off for the smaller meshes' lower cost - it will switch LOD closer. So the visual quality will go down at a given distance. This is why Davep recommended separate meshes for small details and large features, such as walls and windowframes. Rhat way you don't waste triangles rendering the frames from far away, but vthe large walls stay intact.

Link to comment
Share on other sites

My example above (16 spheres in one mesh) uses 16 submeshes, but it imports as one single mesh. So i am afraid that you must separate submeshes into objects and upload them all. Fortunately you can upload them all in one upload. Then they will be bundled together as a linkset.

Link to comment
Share on other sites

Yes, but if the spheres are identical, it would be better to dowload it just once and assemble it inworld. That maybe there will be multiple instances of a single asset instead of sixteen different assets, maybe saving bandwidth and space in the cache and the asset server (I think?).

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
  • Create New...