Chris Dee Wrote:I'm not (yet) convinced of the need for LOD folders for parts, but the inclusion of parts/s/ and parts/textures (when that is implemented in the official library) would allow that.
Hi Chris,
I ran a test that makes me think there's pay dirt in being able to sub parts too, and not just primitives.
I produced a few quick & dirty level-of-detail sets by taking a text editor to my library:
Full - what we have now
Octastuds - using the stu2.dat files for all studs.
From here down I started really destroying things - to get a sense of what kind of perf we might get out of a 'crude draft' quality part set.
No line - removing all lines.
No studs - all studs, tubes and stud-like things gone
No interiors - interiors and edging removed from some parts.
For this last one I looked at a histogram of my test case. The 17 most frequent parts made up 25% of the model by part count. I removed the interiors and edging (or made some other simplification for 16 of them).
Here's the numbers:
Code:
set vertex count (millions) fps
full 122.7 3.1
octastud 81.1 4.6
no lines 54.3 6.6
studless 25.9 12.0
no interiors 13.2 18.0
So...we can still get a 2x cut-down of vertex count beyond where we can do with primitive replacement by also allowing part replacement. And I suspect that the histogram-type distribution applies quite often in large models. In Dastsville (the version I have) the top 14 parts make 50% of the model.
I think I could, given a reasonably quiet weekend, produce no-interior versions of the entire set of basic bricks, tiles, and plates, and this collection would go a long way toward reducing vertex count for draft rendering.
Cheers
Ben