I believe the problem is because opengl texture mapping functions implement linear interpolation of the UVs at the vertices, but a camera projection does not interpolate linearly. In order to do a proper hardware-based camera projection, you would need to interpolate the UVs as part of the fragment/pixel shading code. Otherwise, they'd need to add some sort of camera projection texturing mode to the OpenGL standard (assuming they haven't already? I'm not super current on these things.)
By subdividing, you gradually converge on a better and better piecewise linear approximation of the camera projection. Like how integrals work. A "trick" I've used in the past is to apply the camera projection to a diced clone of my object, so that I can do all my modeling, etc underneath, on the lower res object. - Andy On Wed, Nov 7, 2012 at 8:59 AM, Andi Farhall < [email protected]> wrote: > I've found simple cameramapped planes need some subdivisions to play nice. > **** > > ** ** > > A>**** > > ** ** > > *From:* [email protected] [mailto: > [email protected]] *On Behalf Of *Szabolcs Matefy > *Sent:* 07 November 2012 08:38 > *To:* [email protected] > *Subject:* Camera mapping heavily distorted in viewport**** > > ** ** > > Hey folks, I was in trouble in the last two days. I had an image of a > room, and I had to build up the room’s walls using simple planes. The image > is then cameramapped (or projected) back onto these planes. I wanted to > show the client the stuff in the viewport, and I was horrified, that the > texture of the image was distorted to the point when I decided I can’t show > this to the client. I had to subdivide the planes about ten or more times > to have some decent camera mapping. In render it was OK, but the client > wanted to render it with HQV. Any idea? I’m especially interested a > solution that doesn’t involve too much geometry…**** > > ** ** > > Cheers**** > > ** ** > > Szabolcs**** > > ___ > This message contains confidential information and is intended only for > the individual named. If you are not the named addressee you should not > disseminate, distribute or copy this e-mail. Please notify the sender > immediately by e-mail if you have received this e-mail by mistake and > delete this e-mail from your system. E-mail transmission cannot be > guaranteed to be secure or error-free as information could be intercepted, > corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. > The sender therefore does not accept liability for any errors or omissions > in the contents of this message, which arise as a result of e-mail > transmission. If verification is required please request a hard-copy > version. Crytek GmbH - http://www.crytek.com - Grüneburgweg 16-18, 60322 > Frankfurt - HRB77322 Amtsgericht Frankfurt a. Main- UST IdentNr.: > DE20432461 - Geschaeftsfuehrer: Avni Yerli, Cevat Yerli, Faruk Yerli**** >

