Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calculating Screen Space Error

I'm currently working on a Level of detail system for an XNA game, the system subdivides triangles with high screen space error and merges triangles with low screen space error.

World Space Error is a heuristic which estimates the error that this triangle has, so for example if there is a triangle which is on an almost flat surface, it'll have a very low screen space error because it's a very good approximation of that surface, however if there is a triangle on the surface of a sphere it'll have a higher screen space error because obviously splitting that triangle up into more triangles would get a better approximation of a spherical surface.
Screen Space Error is a slight modification of World Space Error, basically the error is modified so triangles closer to the camera, and closer to the centre of the field of view have a higher error score.

What is a good and efficient way to calculate screen space error?

Current Solution: Screen Space Error = World Space Error / dot([vector to triangle in question], [camera direction vector])

Blog post about screen space error

like image 200
Martin Avatar asked Nov 06 '22 20:11

Martin


1 Answers

You should check out these slides which explain screen space error in detail and derive formulae for calculating it. In particular, a simple method is given on page 3 (equation 1). Note that the rest of the pages detail improvements to this simple method, which might be of interest to you if you're trying to do something more advanced.

like image 140
Naaff Avatar answered Nov 12 '22 22:11

Naaff