I wish to display a full screen texture onto a quad (an actual object in the scene). The texture must stay locked to the viewport and the only window to it would be that quad. Think of the quad as a green screen for displaying that texture.
Every frame I do:
- Transform every vertex from the quad into world space by using the quad’s transform function TransformPoint
- Transform every resulting vertex into screen space by using the camera’s WorldToScreenPoint function.
- Map the screen coordinates into UV space by dividing them by the screen’s dimensions (0.0->1.0).
- Use these normalized screen points as new UVs for the original vertices (minus the z).
Now the problem is that I get unexpected results with the texture not looking sharp when it should have been rendered at the screen resolution, and more so it looks (and animates) quite wrong. Any ideas about the algorithm?