Michael Heidemann Wrote:Yes, you are right, but I do not see any practical solution for such diversification of high res (or maybe later low-res) parts. If we go and put all that possibilities into the main part as a link how do you like to choose which one should be shown?
In my opinion we should leave these diversifications to the experienced user - and they know how to show what they like to see.
Hi Michael,
My hope is for an LOD scheme that is machine-readable so that the rendering software can manage LOD with minimal or no user input.
(BrickSmith provides a really friendly user experience - it allows users to create complex models without knowing about the guts of ldraw files. I'd like to preserve that user friendliness while letting users get the performance boost of LOD.)
Here are three ways to manage LOD that could be user friendly:
1. If the sets of resolutions are named for humans ("high, medium, low") then a user could pick a resolution set on a menu, e.g. a view setting. For this, the part library would need some kind of description of what resolutions are available, and how to load them. In this case, new resolutions ("ultra-high") could be added without software modification.
2. The renderer can detect when a part is small on screen and change rendering. Thus the lower resolutions would only be used when the part is so small on screen that the loss of detail is hard to see. (This is the time that we need low res most because at low zoom, lots of parts must be drawn at once.) In this case, the resolutions sets need indications of their intended consequences on detail.
3. The renderer can detect the actual frame-rate and switch to lower resolution when the model becomes 'heavy' enough that the current resolution is too slow. So for example, if spinning the model goes below 10 fps, go down one resolution set. In this case, the renderer must have some way of knowing the 'order of detail' of resolution choices, so that it can step up and down based on actual performance.
Anyway, it's on me to write up some kind of proposal for this, but my hope is to come up with something (meta command or file scheme) that would allow for LOD to be accessed by the program and not the user, to make the user experience better.
cheers
Ben