Jump to content

Recommended Posts

Posted
  • Using xLODGen beta 99.
  • Tamriel -20,20 quad was selected for its good mix of hilly terrain, river coast, small islands and marsh.
  • All meshes were generated at Quality 1 (default).
  • Variations: Optimize Unseen OFF, ON, 50, 550, 700.
  • Protect Borders option enabled.
  • I tried to use a view perspective in NifSkope that shows the marsh, riverbed and river shore as much as possible, but rather than a top-down view, something closer to an in-game perspective.

image.jpeg

Solitude Stables are on the North side, Solitude Docks are in the North-East corner.

All sequences are OFF > ON > 50 > 550 > 700. The title in the top left corner of each picture shows which variant is shown.

View with water without wireframe

image.jpegimage.jpegimage.jpegimage.jpegimage.jpeg

View with water with wireframe

image.jpegimage.jpegimage.jpegimage.jpegimage.jpeg

View without water without wireframe

image.jpegimage.jpegimage.jpegimage.jpegimage.jpeg

View without water with wireframe

image.jpegimage.jpegimage.jpegimage.jpegimage.jpeg

  • Thanks 2
Posted

Comparison of different Quality settings

All sequences are Quality 1 > Quality 3 > Quality 5

Optimize Unseen OFF

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

Optimize Unseen ON

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

Optimize Unseen 550

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

image.jpegimage.jpegimage.jpeg

 

  • Thanks 1
Posted

Probably most important is to check in-game to see what it looks like, most notably looking for any difference in z-fighting around water, and transition from full cell to lod cell. This may be somewhat difficult to show in screenshots. 

It would seem that Optimize Unseen can significantly impact number of vertices, so in a heavy lod game with lots of 3d tree lods, it probably does have a noticeable performance impact. 

Posted

My off the cuff take on this is that at a slightly lower quality, pretty much indistinguishable to the naked eye from quality 1, the number of vertices is already pretty low and doesn't need to be optimized. ~10,000 or less vertices per quad is peanuts.

The shoreline and marsh with Optimize Unseen 550 look awful.

I've regenerated all my terrain LOD with quality 2 and optimize unseen off. We'll see how it goes. I won't be posting screenshots or comparisons however.

Posted
1 hour ago, Mousetick said:

I've regenerated all my terrain LOD with quality 2 and optimize unseen off. We'll see how it goes. I won't be posting screenshots or comparisons however.

Maybe just give us your thoughts & opinion in text though?

Posted
18 minutes ago, MisterMorden said:

Maybe just give us your thoughts & opinion in text though?

See above. @Mousetick posted screens from NIFSkope. They mirror the trend that sheson posted previously.

As with all terrain LOD results in my experience, the differences here are minimal in terms of quality, and as @DoubleYou stated, the actual differences may be related to z-fighting, which must be captured in-game using video. I agree that performance impact could be noticeable on low-mid systems but probably not too much as @sheson stated previously.

Because of the subtle differences and potential slight performance difference, I think the official advice is sound. I have updated the Step SSE xLODGen screens likewise and am confident that this will be optimal as long as z-figting isn't an issue on any shorelines where there is no z-figting in full, loaded shorelines.

Posted
24 minutes ago, z929669 said:

See above. @Mousetick posted screens from NIFSkope. They mirror the trend that sheson posted previously.

As with all terrain LOD results in my experience, the differences here are minimal in terms of quality, and as @DoubleYou stated, the actual differences may be related to z-fighting, which must be captured in-game using video. I agree that performance impact could be noticeable on low-mid systems but probably not too much as @sheson stated previously.

Because of the subtle differences and potential slight performance difference, I think the official advice is sound. I have updated the Step SSE xLODGen screens likewise and am confident that this will be optimal as long as z-figting isn't an issue on any shorelines where there is no z-figting in full, loaded shorelines.

I will go check out the updated screens, thanks Z.  I was just referring to MT saying he'd see how it looked at quality level 2 with optimize unseen off...I did give his examples above a view.

  • Like 1
Posted

To put things into perspective re: performance concerns due to increase in triangles with optimize unseen off. I caught this bit from the latest Embers XD 2.8.7 changelog:

Quote

Version 2.8.7

Optimized campsite rocks (23k tris > 8k tris).

23K triangles for a bunch of small rocks. 'Nuff said.

sheson gave a great explanation about optimize unseen. It's really "clicked" in my mind only now, but the way I understand it, optimize unseen is first and foremost a quality improvement, and the (marginal) performance improvement resulting from fewer underwater triangles is an incidental side-effect.

The following is merely paraphrasing that explanation, but focusing on LOD level > 4.

At each subsequent LOD level above 4, the area covered by the mesh is 4 times that of the previous level, so at constant quality, the mesh theoretically uses 4 times as many triangles as the previous (or practically the sum of the 4 lower level meshes making up the new level mesh). LOD 32 is 4x LOD 16 is 4x LOD 8 is 4x LOD 4.

The 32K vertices limit per mesh is the same at any level however. When the limit is exceeded the terrain mesh generator starts combining triangles to reduce the number of triangles/vertices. It does this equally to triangles above or under water.

Since the underwater terrain is not visible, even more so at higher LOD levels, it makes sense to combine those triangles first (degrading the quality of the underwater terrain in the process) to free up more triangles to use for the above water terrain, which needs to have the highest quality and number of triangles as possible. That's what optimize unseen does.

Optimize unseen ON (which is equivalent to optimize unseen 0) can cause z-fighting with shallow underwater terrain and higher LOD levels, so it may be necessary to shift the combined underwater triangles deeper, using optimize unseen = x.

Optimize unseen = x causes the shoreline to become "sharper", due the way the triangles shifted deeper under water, and the triangles above water, are connected. This is a desirable effect at higher LOD levels, particularly on the map (LOD 32).

Optimize unseen is "useless" for LOD 4 as its primary function is not required: the 32K vertices limit is never reached. It can be worse than useless: see screenshots above.

If performance is an issue at LOD 4, I'd suggest the quality setting should be adjusted to lower the number of triangles across the board whatever the terrain type, rather than relying on optimize unseen.

  • +1 1
Posted

One last remark and then I'll finally shut up :)

The 32K limit notwithstanding, LOD 4 is a special case in regards to optimize unseen because the game constantly switches between LOD 4 and full landscape as the player moves and LOD 4 is closest to the player. The LOD 4 shoreline needs to be as "pristine" as possible to ensure smooth seamless back and forth LOD 4 > full landscape > LOD 4 transitions. The "deformation" produced by optimize unseen = x is therefore undesirable.

Moreover, depending on water opacity/murkiness and lighting, the holes created by optimize unseen = 550 at LOD 4 (see screenshots) might be noticeable by a player diving underwater and looking in the distance.

Posted
17 minutes ago, Mousetick said:

One last remark and then I'll finally shut up :)

Why is LOD 4 special regarding optimize unseen? Because the game constantly switches between LOD 4 and full landscape as the player moves and LOD 4 is closest to the player. The LOD 4 shoreline needs to be as "pristine" as possible to ensure smooth seamless back and forth LOD 4 > full landscape > LOD 4 transitions. The "deformation" produced by optimize unseen = x is therefore undesirable.

Moreover, depending on water opacity/murkiness and lighting, the holes created by optimize unseen = 550 at LOD 4 (see screenshots) might be noticeable by a player diving underwater and looking in the distance.

Did you mean to post this on the xLODGen forum for sheson? Your question seems unexpected in this forum context.

This is our new recommendation for LOD4 based on my post over there:

XLODGen_LOD4.jpg

Maybe you are addressing MisterModern's previous post, so perhaps I should shut up myself :)

Posted
3 minutes ago, z929669 said:

Your question seems unexpected in this forum context.

That was a rhetorical question :) I've reworded my post to remove the ambiguity.

Posted
7 hours ago, Mousetick said:

That was a rhetorical question :) I've reworded my post to remove the ambiguity.

Yeah, I thought that might be the case, which is why I edited my post. :rolleyes:

Posted

Example showing the positive effects of Optimize Unseen = x in a scenario it was intended for.

  • LOD 32 Tamriel -64,0 (area covered is 32x32 cells)
  • Quality 0, Optimize Unseen = 550, Protect Borders (STEP LOD 32 settings)

With water > Without water > Wireframe

image.jpegimage.jpegimage.jpeg

At Quality 0 for such a large area, there is no way the resulting mesh could have used fewer than 32K vertices, so the mesh generator had to combine triangles to stay under the limit.

The generated mesh has 61837 triangles and 31374 vertices, which is roughly the maximum possible. It means the maximum was exceeded and then triangles had to be optimized away.

Areas of interest (click to zoom):

image.jpeg

The blue rectangle shows the effect of Optimize Unseen being enabled. The triangles covering the seafloor are a lot "coarser" than the above water terrain, and the underwater terrain has essentially been flattened. Much fewer triangles used for underwater means more triangles available for above water terrain.

The orange rectangles show the effect of Optimize Unseen = 550 along the shorelines:

image.jpegimage.jpeg

Notice how the shoreline sharply drops in height and how it is more detailed than the surrounding terrain, while its contour, made up of relatively long straight lines, is not smooth. Beside preventing z-fighting, this transformation is better than what the mesh generator would have done without, it makes the shorelines more clearly defined on the map.

  • +1 1
Posted
31 minutes ago, Mousetick said:

Example showing the positive effects of Optimize Unseen = x in a scenario it was intended for.

  • LOD 32 Tamriel -64,0 (area covered is 32x32 cells)
  • Quality 0, Optimize Unseen = 550, Protect Borders (STEP LOD 32 settings)

With water > Without water > Wireframe

image.jpegimage.jpegimage.jpeg

At Quality 0 for such a large area, there is no way the resulting mesh could have used fewer than 32K vertices, so the mesh generator had to combine triangles to stay under the limit.

The generated mesh has 61837 triangles and 31374 vertices, which is roughly the maximum possible. It means the maximum was exceeded and then triangles had to be optimized away.

Areas of interest (click to zoom):

image.jpeg

The blue rectangle shows the effect of Optimize Unseen being enabled. The triangles covering the seafloor are a lot "coarser" than the above water terrain, and the underwater terrain has essentially been flattened. Much fewer triangles used for underwater means more triangles available for above water terrain.

The orange rectangles show the effect of Optimize Unseen = 550 along the shorelines:

image.jpegimage.jpeg

Notice how the shoreline sharply drops in height and how it is more detailed than the surrounding terrain, while its contour, made up of relatively long straight lines, is not smooth. Beside preventing z-fighting, this transformation is better than what the mesh generator would have done without, it makes the shorelines more clearly defined on the map.

Thanks. This provides the detail and context around the validity of sheson's suggestions in the doc and our likewise modified settings.

Posted
On 8/28/2023 at 3:22 PM, MisterMorden said:

Maybe just give us your thoughts & opinion in text though?

I've not played much since regenerating terrain LOD.

  • Water vs. shoreline z-fighting: I haven't seen any. So far.
  • LOD vs. active cells transitions: Very nice, very smooth. I'm too lazy to make rigorous before/after in-game tests, so it could just be confirmation bias.
  • Performance: Didn't make before/after in-game tests. I haven't noticed any degradation.

You can give the new recommended settings a try if you like. Terrain LOD is simply meshes and textures. You can swap old and new at any time, if you have enough space to keep the old around.

  • Thanks 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.