Re: [Algorithms] Projection
Brought to you by:
vexxed72
From: Stephen J B. <sj...@li...> - 2000-11-30 15:43:11
|
On Thu, 30 Nov 2000, Joe Ante wrote: > For my texture LOD I am calculating the areas of the projected bounding > boxes or if i want the exact value the actual geometry. > > Now what I have noted is that the more an objects moves away from the center > of the screen, the bigger its screenspace becomes. (For example if you simpy > rotate the camera) > Now I dont really believe that this happens in reality as well. At least I > have always thought that if I move my head or eyes the objects i see dont > become larger. What's happening is that you have a field of view that's larger than it should be. When you sit in front of your CRT, your screen subtends an angle of maybe 40 or 50 degrees at your eye - but I'm betting that if this effect is significant - then your rendered field of view is more like 90 degrees. This is **wrong** - but we all do it (in games) in order to allow you to see things off to the side more easily. If things were set up with the correct field of view - then you should realise that the center of the screen is closer to your eyes than the edges of the screen. Hence, we have to draw things larger at the edges in order to compensate for the real-world perspective shrink due to that differing range from eye to screen. Hence, OpenGL draws things exactly correctly for a flat screen and an appropriate field of view. If you try to display on a curved screen - or with an incorrect field of view - then distortion is inevitable and all bets are off. > Is there actually a way to get rid of effect? (using a 4x4Matrix) No. Matrices can only do linear changes - and even if you could do it, you'd need to draw triangles with curved edges - and current rendering hardware can't do that. ---- Steve Baker (817)619-2657 (Vox/Vox-Mail) L3Com/Link Simulation & Training (817)619-2466 (Fax) Work: sj...@li... http://www.link.com Home: sjb...@ai... http://web2.airmail.net/sjbaker1 |