Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


ROAM error calculation.

This topic is 6702 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have a question about ROAM... At this point I am using "variance" calculation discussed in a Gamasutra article and implemented in Treadmarks. However, I started to look into the original idea developed in ROAM. I can''t really understand how that works. Can someone explain the whole "wedgies" idea? Thanx.

Share this post

Link to post
Share on other sites
"Wedgies" are "pie slices" defined by 6 points, but you actually don''t store the points, just the thickness of the wedgie parallel with the altitude of your terrain. Wedgies represent the total elevation change enclosed within any given triangle.

Given 3 points of a triangle, we have 3 vectors representing thickness, one at each corner of the triangle. When these vectors are projected to eye-space, we know the onscreen distortion. However, the greatest distortion may not occur at one of the corners. Imagine if you are looking at one of the wedgies and from the side and one corner is way off to the left, one corner is way off to the right, and the other corner is in the distance. The maximum distortion wil occur right in front of you on the side of the wedge, not one of its corners.

Therefore, the distortion calculation is responsible to calculate this. It does so by transforming all 3 vectors to eye space and then caclulates both componenets of the distortion equation with each vector. It then takes the min calculated for the denominator part of the equation and the max for the other part of the equation. This way, it has determined an upper bound on distortion which accounts for the situation that might occur where maximum distortion ocurrs on a wedgie side sa opposed to a corner.

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!