Jump to content
Sign in to follow this  
ChinRey

The importance of LOD

Recommended Posts


Christhiana wrote:

One more question though, do the LOD models always use the textures of the high poly model or can I upload a different texture along with a LOD model. This way I could just show a simple shape with a rendered picture of the object on the lower LOD's.

 

Oh yes, the object impostor! Forgot to include that one on my list. The LOD models always use the same textures but there's a workaround: just make an extra face with that rendered picture, keep it small and hidden on the higher res models and blow it up to cover the entire mesh on the lowest.

It's not a very useful technique though. Requires quite a lot of work and of course you'll have to add extra triangles for the extra face. Still, there are some special cases where it might be useful.

 


Christhiana wrote:

Do the LOD models, like the physics model, scale to the bounding box of the high LOD model?

 

Yes

Share this post


Link to post
Share on other sites

...do the LOD models always use the textures of the high poly model...?

Each material (SL face) of the different LOD models always have the same textures at all LODs. So if you want to use a "billboard" technique, where you use a picture of a higher LOD model to texture a very simple low LOD model, then this texture has to be present in all the LODs. Also, all the high LOD materials/textures have to be present on the low LOD model. This generally means that you have to use a hidden triangle in the high LOD for the low LOD texture, and hidden triangles for the high LOD textures in the low LOD. Of course, this means more triangles in the lowest LOD, just to carry the textures. Nevertheless, this is one of the most effective ways of reducing LI while keeping good LOD appearance. It is used for the headboard rails in the three lower LODs in my 1-prim brass bed. However, these are alpha textures with the rails on. and alpha textures are one of the worst things for performance. So although this reduces LI effectively, it's not necessarily a good idea. A bit of a cheat perhaps, that would not work if the LI system penalised alpha textures appropriately!

By the way, you seem to indicate that you are uploading textures with the models. There are good reasons for not doing that, which I have listed elsewhere. I recommend uploading all textures separately and applying them inworld.

ETA. ChinRey said "not a very useful technique" : not sure I can agree with that. It can be very effective in a lot of models, not just beds, but other furniture, fences, window frames, etc., etc....  However, as I said, with alpha textures it may be useful, but counter-productive performance-wise. Also, it is a lot of work.

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

ETA. ChinRey said
"not a very useful technique"
: not sure I can agree with that. It can be very effective in a lot of models, not just beds, but other furniture, fences, window frames, etc., etc...


Hmm... yes when you mention it I can see that it can be useful for furniture. Never done any really advanced furniture making so I didn't think of that. Fences are often long enough they're quite LOD resistant to start with and window frames are usually easy to reduce with other methods.

I once  used the technique in reverse for a pier. Started with a single sheet with a plank texture (one of Nighty's lovely Weathered Wood) and then split it up into separate planks, twisting, realigning etc. etc each for the highest resoultion model. Took me ages but it was fun and the result was marvelous. Not sure if I'm in a hurry to do it again though. :matte-motes-wink:

I wish LL had thought of it back in 2003 and built it into the system from the start. They use it for avatars but for some reason they never transferred that idea to other objects. I suppose it's too late now, at least for this SL.

How about sim impostors? Rather than just the blank space you get a reasonably credible picture of the landscape two sims away? No more draw distance limitations and only at a very small render cost. (Or maybe not?)


Drongle McMahon wrote:

A bit of a cheat perhaps, that would not work if the LI system penalised alpha textures appropriately!

Alphas are purely a client side issue and LL has chosen not to penalize inefficiency or reward efficiency there.

Share this post


Link to post
Share on other sites

Thank you both for the very usefull tips and insights! This topic has reminded me of how important it is to be a responsible builder in SL. And that's what I'm aiming to be!

 

I do like the idea of the "imposter trick". I can't really use it for my current build (a house) since I plan to sell an AO pack for it, so people can mod the house with their own wallpapers, etc. That would complicate things too much for the customer.

 

Sometimes I upload textures with the model but never for the final version. I like to upload the model (without LOD and with auto physics as a whole first and then start replacing each part with the final version (including the LOD's, physics) and then upload the textures seperatly. This way I have a guide build that easily allows me to swap pieces for the final versions without having to align everything (I can just copy the coordinates). I know this costs me a little extra for upload, but for me the convenience makes it worth the extra L$.

 

How about SPEC and NORM maps, I assume they also work for the different LODs? 

Share this post


Link to post
Share on other sites

How about SPEC and NORM maps, I assume they also work for the different LODs? 

Yes. They stay on the same faces, just like the diffuse texture. That can be a problem with the normal map because the map specifies the difference between the geometric normal and the normal to be used by the shader. If your lower LOD removes detail, or removes edgeloops used to sharpen corners, then the normal map for the high LOD won't be correct for the lower LOD. That's just an extra thing you need to check if you are using materials.

The best way to see exactly what's going on is to dial in lower/higher RenderVolumeLODFactor on the Show Degug Settings dialog, rather than zooming. If it's hard to see the switches, you can use wireframe view to check (Develop->Render->Wireframe). Then, to see what the LODs actually look like with the LOD switches at a particular factor, you can either zoom or stretch/squeeze the object (that's how I did the bed ones). As far as appearance is concerned, it's the same thing.

Share this post


Link to post
Share on other sites

Drongle McMahon wrote:

Yes. They stay on the same faces, just like the diffuse texture. That can be a problem with the normal map because the map specifies the difference between the geometric normal and the normal to be used by the shader. If your lower LOD removes detail, or removes edgeloops used to sharpen corners, then the normal map for the high LOD won't be correct for the lower LOD. That's just an extra thing you need to check if you are using materials.

Normal and spec maps have their own LOD known as mipmaps that would hide that detail.


The best way to see exactly what's going on is to dial in lower/higher RenderVolumeLODFactor on the Show Degug Settings dialog, rather than zooming. If it's hard to see the switches, you can use wireframe view to check (Develop->Render->Wireframe). Then, to see what the LODs actually look like with the LOD switches at a particular factor, you can either zoom or stretch/squeeze the object (that's how I did the bed ones). As far as appearance is concerned, it's the same thing.

While this is good advice for looking at geometry LOD keep in mind as per above you would not be seeing the correspondingly correct texture LOD. You would have to either modify the SL viewer or write a custom model viewer to see them both at the same time. I point this out mostly to say you should take what you see with a gain of salt as that's not how it would be viewed "in the wild".

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

How about SPEC and NORM maps, I assume they also work for the different LODs? 

Yes. They stay on the same faces, just like the diffuse texture. That can be a problem with the normal map because the map specifies the difference between the geometric normal and the normal to be used by the shader.

If you're planning to use normal and specular maps as a genuine improvement to your build rather than as a cheap marketing trick, you should also remember to check them at different graphics settings. A map that looks great in high resolution graphics can look horrible with ultra high graphics and vice versa. And of course, normal and specular maps require ALM to be switched on and ALM is way too heavy on the GPU for many computers so you better make sure your build looks decent even without those maps.

Share this post


Link to post
Share on other sites

Normal and spec maps have their own LOD known as mipmaps that would hide that detail.

I don't think that' can be generally true. The switches are not coordinated, and simply interpolating the higher res normal map doesn't necessarily make the right kind of adjustment. Also, it depends on the nature of the LOD meshes. Here's a very simple example, showing minor and extreme effects. The high LOD is a cube with extra edge loops near the edges to give the rounded shading. The lower LOD is the plain cube, flat shaded on the left, and smooth shaded on the right (as often used to minimised split vertex count and thus LI, and like the high LOD). The normal map is baked from a high poly mesh onto the high LOD mesh. LOD switching only by zooming, with RenderVolumeLODFactor at constant LL viewer default 1.125. (hysteresis on zoom in/out allows identical image sizes). High LOD above, medium LOD below.

normlod.jpg

The one on the right is useless. The one on the left might be acceptable, but note the artefact at the cube edges because of the sharp edges that aren't there in the high LOD. I don't suppose the MIP level chaged at all here. Certainly there is nor rescue of the edege detail. Nobody is likely to use the situation on the right, as it messes up diffuse shading anyway, irrespective of the normal map. The one on the left is the sort of thing that is more likely. So there is a need to see whether this sort of thing as acceptable in any particular model (not that I have a way of correcting it in this case without extra geometry).

... that's not how it would be viewed "in the wild

Indeed, the final test always has to be with normal viewing, preferably with default low graphics setting (RnderVolumeLODFactor=1.125 in LL viewer) which will be most sensitive to undesirable effects.

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

Normal and spec maps have their own LOD known as mipmaps that would hide that detail.

I don't think that' can be generally true. The switches are not coordinated, and simply interpolating the higher res normal map doesn't necessarily make the right kind of adjustment. 

I didn't mean to say the switches would be coordinated. The two LOD systems were created to solve two very different problems and as such are implemented separately. As for making the right kind of adjustments that's a rather subjective mater that I think needs to be taken in to consideration when making the normal map just like any of the other limitations of normal maps. I was more so pointing out that down sampling 4:1 on each step of the mipmap is pretty much guarantied to average out fine detail very quickly.

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

Normal and spec maps have their own LOD known as mipmaps that would hide that detail.

I don't think that' can be generally true. The switches are not coordinated, and simply interpolating the higher res normal map doesn't necessarily make the right kind of adjustment. Also, it depends on the nature of the LOD meshes.....

I would agree with Drongle in this.

Simply because the NM is baked against highLOD geometry. Of course, lowLOD geometry is different. The render will not be same, as you stated above, and will have a small artefact.

Artefact might be fixed, if we have two NMs and the lowLOD model uses hidden material/face/UV that render special lowLOD NM  .... (Utilizing the same trick as described earlier in this thread regarding diffuse texture). But I think using this trick would introduce some new artefacts when LOD changes in the screen. Hidden NM would propably take some time to load up and cause own kind of temporary artefacts.

Share this post


Link to post
Share on other sites

I think that would work, but you would quickly run out of materials, and you are just increasing the number of textures, which is not good. As long as you are aware of the potential problem and keep an eye on the effects, it should be possible to come up with an acceptable compromise between geometry and stability without using so many textures. After all, the LODs aren't supposed to be perfect.

Share this post


Link to post
Share on other sites

 


Drongle McMahon wrote:

Normal and spec maps have their own LOD known as mipmaps that would hide that detail.

I don't think that' can be generally true. The switches are not coordinated, and simply interpolating the higher res normal map doesn't necessarily make the right kind of adjustment. Also, it depends on the nature of the LOD meshes. Here's a very simple example, showing minor and extreme effects. The high LOD is a cube with extra edge loops near the edges to give the rounded shading. The lower LOD is the plain cube, flat shaded on the left, and smooth shaded on the right (as often used to minimised split vertex count and thus LI, and like the high LOD). The normal map is baked from a high poly mesh onto the high LOD mesh. LOD switching only by zooming, with RenderVolumeLODFactor at constant LL viewer default 1.125. (hysteresis on zoom in/out allows identical image sizes). High LOD above, medium LOD below.

normlod.jpg

The one on the right is useless. The one on the left might be acceptable, but note the artefact at the cube edges because of the sharp edges that aren't there in the high LOD. I don't suppose the MIP level chaged at all here. Certainly there is nor rescue of the edege detail. Nobody is likely to use the situation on the right, as it messes up diffuse shading anyway, irrespective of the normal map. The one on the left is the sort of thing that is more likely. So there is a need to see whether this sort of thing as acceptable in any particular model (not that I have a way of correcting it in this case without extra geometry).

... that's not how it would be viewed "in the wild

Indeed, the final test always has to be with normal viewing, preferably with default low graphics setting (RnderVolumeLODFactor=1.125 in LL viewer) which will be most sensitive to undesirable effects.

I just wanted to add that normal map seams can drive you insane, especially in the instance of an LOD switch causing seams or edge artifacts to appear. Bear in mind that a lot of little artifacts won't be very visible once a diffuse map is applied, especially if using baked AO/cavity maps to compliment the normal map detail. I agree the right-hand example is too extreme, but the left is fine.

Specularity/shininess is going to make normal map artifacts more obvious, but only really with uniformly shiny objects. Even something as basic as using an AO map as your spec map can help.

Sometimes, just getting normals to bake right across seams on your highest LOD can be a headache, so I don't think people should drive themselves mad trying to get it looking perfect - especially if you're still learning this stuff!

A piece of hard earned wisdom for anyone who is learning: If you get to a point and simply cannot fix an issue and your forehead is getting sore from banging it on the wall, go jump into your favourite video game from the last 5 years or so, and play the game I call 'spot the seam.'

Seriously, go look at the rocks and trees, and start counting how many artifacts, seams and just bad UVs you can find - I guarantee that in even the latest  AAA title you'll find them. Once you have, consider how many of them you would have seen if you hadn't been deliberately looking. Hopefully you'll realise that even the best 3d/texture artists at the top of their game sometimes decide 'f*** it, its good enough, no one will notice anyway.' :)

 

Share this post


Link to post
Share on other sites


IvanBenjammin wrote:

 A piece of hard earned wisdom for anyone who is learning: If you get to a point and simply cannot fix an issue and your forehead is getting sore from banging it on the wall, go jump into your favourite video game from the last 5 years or so, and play the game I call 'spot the seam.'

There's this game called "Real Life" that's really good for that. Virtually unlimited LI, details down to subatomic scale, looks so genuine. And yet, if you look closely you'll find plenty of flaws. In fact, too much perfection can often diminsh the object's quality, making it look synthetic and artificial.

 

Share this post


Link to post
Share on other sites

go look at the rocks and trees

Oh yes, I recognise that. Took me hours to stop looking for LOD effects in Skyrim, so that I could play it properly. That was an unexpected and not very welcome side effect of learning SL mesh.

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

go look at the rocks and trees

Oh yes, I recognise that. Took me hours to stop looking for LOD effects in Skyrim, so that I could play it properly. That was an unexpected and not very welcome side effect of learning SL mesh.

What, you haven't started seeing wireframes  on real-life objects yet? ;)

 

There's this game called "Real Life" that's really good for that. Virtually unlimited LI, details down to subatomic scale, looks so genuine. And yet, if you look closely you'll find plenty of flaws. In fact, too much perfection can often diminsh the object's quality, making it look synthetic and artificial.

 

Good point. Observation like that really helps your technique, especially with texturing. I love a good old, dirty wall :)

 

 

 

Share this post


Link to post
Share on other sites

*makes a confession* my obsession is specular maps. I could spend half an hour sitting in a public toilet trying to figure out how various materials should be specular mapped  :smileyembarrassed:

Share this post


Link to post
Share on other sites

I've been on Aditi exclusivly for the past 1,5 weeks working on my house. I had set the LODfactor to 1.125 (SL viewer default) to work on my LODs (it used to be set to 4). Today I logged onto the main grid to check Im's and such and it really surprised me how bad the LODs are on most products. The nice leathercouch I once bought turned into a couple of tris at 2 meters distance! Tri soup all over the place! I don't get how you can make a really great looking couch and not even bother with the LODs. I swore that moment, I would never sell such crappy products!

Share this post


Link to post
Share on other sites


Christhiana wrote:

I've been on Aditi exclusivly for the past 1,5 weeks working on my house. I had set the LODfactor to 1.125 (SL viewer default) to work on my LODs (it used to be set to 4). Today I logged onto the main grid to check Im's and such and it really surprised me how bad the LODs are on most products.

Yes but to be fair, remember it takes time to learn how to make mesh. Much of the mesh you can see (and buy) in SL is relatively old and only a year or so ago only a few mesh makers had really had time to figure out how to mesh efficiently. Builders have aquired and shared a lot of knowledge since then and today's standard is much, much higher. That's why I don't want to criticise the maker of the village in the picture that started this thread. The mesh isn't anywhere near today's standards but it was about average at the time it was built and you just can't expect builders to keep updating their old builds to new standards all the time. If we did, we'd never have time to make anything new.

(Edit: One problem that's becoming more and more apparent though, is all the meshes people find at various free content sites and upload and sell as their own works. These are never optimized for the special requirements of SL and they certainly bring the average mesh standard down considerably.)

Since you mentioned houses in an earlier post, here's what I think we should expect from newly made mesh houses today:

  • Walking surfaces (1): Correct elevation - no noticeable "sinking" or "floating". Ramp physics for stairs is usually acceptable though.
  • Walking surfaces (2): It must be possible to rez and build objects on them.
  • Walls: Completely impenetrable from both sides.
  • Roofs: I consider them to be walking surfaces but that might be a bit over the top :matte-motes-wink:
  • Ceilings: I prefer to make them impenetrable too but I'm not fanatic about it. After all, people don't usually jump or fly much indoors.
  • LOD - with LOD factor set to 1.0, mesh details at medium and draw distance 128 m: Minor distortions acceptable at about 10 m, sometimes even closer - depends on so many subjective factors. The house should be identifiable with no major parts missing at least up to about 75 m and the structure as a whole should never break down into triangles before it's lost to the draw distance.
  • LI: Hard to say exactly but 5-15% of what the same build would have been as prims is a good rule of thumb. I'm more than happy to accept a little bit of extra LI if the design of the house is above average though. With modern, efficient building techniques and materials, you should hardly ever run out of prims on your land anyway so LI isn't nearly as important as it used to be.

Share this post


Link to post
Share on other sites

Don't get me wrong, but that might be your rules, but hardly any standard.

5 - 15 % of the LI of what a prim build would have, sounds kind of impossible, when it comes to larger structures. At least when you build proper LoDs. if you are at 50 % less than a prim build, you saved alot already. Even if it takes as much as the primbuild, it's fine.

Some builds will still have even higher LI than comparable prim builds, simply due to the fact that there are still 2 different accounting algorithms in place.

Mesh isn't here to make everything less prims, it's here to give creators the opportunity to build efficient. Less polygons, custom UV's and LoD etc pp. Even if a mesh build has more LI than a similar looking prim build on the old accounting, it's mostlikely more efficient regarding performance.

If you own a fullsim, with efficient mesh building you can take up the 15000 "prims" and have still a well performing region, while 15000 regular prims will be just wasting a lot of resources without any chance to do much about it. They have their polycounts, up to 18900 tris for a single tortured torus. 18900 * 15000 = 283500000 triangles. Try making 283 million tris with mesh, you'll hardly stay below 15000.

P.S.: The Mesh Detail slider actually changes the LODFactor, between 0.0 and 2.0. So when you set the Mesh detail slider to medium, it'll change to 1.125. It won't stay at 1.0.

 

Share this post


Link to post
Share on other sites


arton Rotaru wrote:

Don't get me wrong, but that might be your rules, but hardly any standard.

That's true. There is no set standard and different builders may have different priorities.

 


arton Rotaru wrote:

5 - 15 % of the LI of what a prim build would have, sounds kind of impossible, when it comes to larger structures. At least when you build proper LoDs.

Not at all!

Take a look at this:

http://maps.secondlife.com/secondlife/Keswick/235/45/35 (Sorry about the furnishing - haven't had time to do that porperly yet.)

That house was made from more than 1500 prims and two sculpts and meshed down to 49 LI. That's actually less than 4%. I leave it to you to decide whether the LOD is good enough. :matte-motes-wink:

An while you're there, take a look at the 45 LI modernish timberframe house beside it. Not sure how many prims went into that one but we're certainly talking several hundred. Then there's the 9 LI old fashioned timberframe cottage next to it again, the five 10 LI modern houses across the channel etc., etc.

5% may be pushing the limit but 15% isn't too hard and 25% is easy.

50% - well I have most of Hattie Panacek's brilliant castles, built long before mesh was introduced, scattered about in my sims. We've been discussiong LOD and LI and lag for as long as we've known each other and one day she challenged me to see how much it was possible to reduce the land impact of those castles.

The biggest of them - http://maps.secondlife.com/secondlife/Coniston/37/137/1023 - was originally 1330 prims and sculpts. Considering the complexity and sheer size of that build, thatt's good even by today's standards - must have been mindblowingly amazing back when she made it. Even so, by using larger prims than she had access too, applying physic shape types conciously and relinking I had no problems reducing it by 50% and that's with no meshes whatsoever. (Afterwards Hattie redid a few parts as mesh, bringing the LI even further down.)

 


arton Rotaru wrote:

Some builds will still have even higher LI than comparable prim builds, simply due to the fact that there are still 2 different accounting algorithms in place.

Those dreaded LI peaks you can get when switching from one LI algorithm to another is nearly always caused by rougue physic shapes and easy to counteract.

 


arton Rotaru wrote:

Mesh isn't here to make everything less prims, it's here to give creators the opportunity to build efficient. Less polygons, custom UV's and LoD etc pp. Even if a mesh build has more LI than a similar looking prim build on the old accounting, it's mostlikely more efficient regarding performance.

I agree with you there. I my view, the main advantage of the new LI accounting system is that it offers us builders more precise info how much load our works actually put on the computer network.

As for building more efficient, mesh gives builders more responsibility. It is possible to reduce lag with mesh but it is also possible to increase it and there are lots of examples of that in SL. It's not without reason many people in SL still think of mesh as laggy.

Another advantage of mesh is that it allows us to add far more details. If you look at the house in the first link again, it couldn't have been made with 50 prims of course but you could probably make something that looked the same at first glance with just a few hundred. But there are all those little details - window frames, rafters, molding door handles, etc. Doing them as mesh rather than painted-on textures adds so much to the build even if you don't conciuosly notice them at first. The handrail to the spiral staircase could have been made from a twisted torus but it would have been chunky and out of propotion. With mesh I could slim it down to the dimension it should have. And of course, with mesh you can play with the normals. Some strategically placed smooth normals can add a tremendous amount of life and realism to a build and - as far as I know - at hardly any cost.

This thread is named "The Importance of LOD" but the real topic is of course efficient (or eco-friendly as Nekka calls it) building. We will always have limited resources in SL and it's our responsibility as considerate builders to try to make the most of it. That means we have to consider the three L's - LOD, LI and lag - as a whole. Except of course LI is in the end just a rough estimate of some lag related aspects and LOD - "Level of Detail" - has actually two very different and equally important meanings.

 


arton Rotaru wrote:

P.S.: The Mesh Detail slider actually changes the LODFactor, between 0.0 and 2.0. So when you set the Mesh detail slider to medium, it'll change to 1.125. It won't stay at 1.0.

Ah, thanks! I was kind'a wondering about that to be honest. But that raises the question, why are we still told to rummage through the debug settings to find it if it's already right under our nose in the prefs???

Share this post


Link to post
Share on other sites


Drongle McMahon wrote:

why are we still told to rummage through the debug settings

Because so many people want you to set it to 4 to suppress their bad LODs?

I'm not sure who the "we" are the Chin is reffering to, creators or users in general?

As a user/consumer/customer I used to keep my LOD at 4 but now a days I keep it at 2 to reduce load on my computer.  And I absolutely will not buy something that I can not see rezzed In World so I can see just how well it rezzes.  If I'm standing a couple of meters from a flower and the petals dont rez unless I crank up my LOD I'm simply not going to buy them.   I'm helping a friend landscape their SIM right now and we just got done trashing a bunch of stuff with poor LOD's.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...