Movement/Time-Based LOD
I''ve been wondering about this for a while. In 3d Shooters, or generally, fast-paced games where you move and look into different directions (ie fast turnaround by 180 degrees) at a very high speed, some Level Of Detail Algorithm could be implemented.
Do you really look at those gorgeous hipoly-normal-mapped models when you are on a killing frenzy and have to constantly watch your back?
Probably this is impossible to compute without major disadvantages. You''d need to constantly calculate the camera''s speed and acceleration. If it hits a certain threshold you''d have to switch to low or high detail mode.
At the same time, though, it''s when I''m spinning the camera really fast that I have the greatest need for all the detail I can get. If there''s a guy in the distance, and his detail is reduced significantly, then he might not show up nearly as well, and since the camera is moving so fast, I would totally miss him. However, if he were highly detailed, he might stand out just enough for me to quit looking around for half a sec and check out whether he''s a threat/target/whatever.
So I''d rather certain objects be more detailed when I''m moving fast.
As for calculating the camera''s speed, I think that angular velocity is all that would really be needed. You could simply measure one frame''s angle to the previous frames, or averave a few deltas from previous frames together.
So I''d rather certain objects be more detailed when I''m moving fast.
As for calculating the camera''s speed, I think that angular velocity is all that would really be needed. You could simply measure one frame''s angle to the previous frames, or averave a few deltas from previous frames together.
Interesting. This is probably even more of a significant opportunity for optimization when you''ve got something like a motion blur effect turned on.
This could maybe be achieved by basically amortizing the LOD change across several frames.
Say the area to your left is at a low LOD and you''re turning through 180 degrees; a ''normal'' LOD algorithm would have that left area fully increase in LOD as you turn, and then fully decrease again when you finish turning.
If you amortized the change across several frames, though, then the LOD would *begin* to change as you turn past it, but wouldn''t get very far. It''d then change back after you moved away.
It''d mean that you wouldn''t waste time applying full LOD to camera angles that are only seen for a fraction of a second, but it could have an effect when you stop moving - it''d take a few frames for the view to reach the opimum LOD, and it could look weird (though things like Geomorphing could help with that).
This could maybe be achieved by basically amortizing the LOD change across several frames.
Say the area to your left is at a low LOD and you''re turning through 180 degrees; a ''normal'' LOD algorithm would have that left area fully increase in LOD as you turn, and then fully decrease again when you finish turning.
If you amortized the change across several frames, though, then the LOD would *begin* to change as you turn past it, but wouldn''t get very far. It''d then change back after you moved away.
It''d mean that you wouldn''t waste time applying full LOD to camera angles that are only seen for a fraction of a second, but it could have an effect when you stop moving - it''d take a few frames for the view to reach the opimum LOD, and it could look weird (though things like Geomorphing could help with that).
Don''t know if you guys remember, but in the old days, they used to make texture really low-res when the camera was moving, and then switch back to high-res when the camera stopped. Needless to say, it looked horrible by today''s standards. I suppose it could be made to look better with careful use of today''s abilities... A few days ago I''ve read about a new terrain LOD called "geometry clipmaps". Apparently, one of its features, is that it automatically behaves similar to the OP''s suggestion, as a side effect of its update mechanism.
Michael K.,
Co-designer and Graphics Programmer of "The Keepers"
We come in peace... surrender or die!
Michael K.,
Co-designer and Graphics Programmer of "The Keepers"
We come in peace... surrender or die!
I''d imagine that the problem with that texture technique was the jarring - if they faded from lowres to highres over three-four frames, it''d probably be ok. As always, we''d have to test it first.
Same goes for this thing. Switching to a high LOD when it stops (note: that''s stops, rather than slows - if you''re turning at 1rad/minute you''re not going to want to go low-detail) would be poor; but smoothly fading from a low LOD to a high one as the camera slows could work, IMO.
Same goes for this thing. Switching to a high LOD when it stops (note: that''s stops, rather than slows - if you''re turning at 1rad/minute you''re not going to want to go low-detail) would be poor; but smoothly fading from a low LOD to a high one as the camera slows could work, IMO.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement