Simulating 3D 'cards' with just orthographic rendering

Posted by meds on Stack Overflow See other posts from Stack Overflow or by meds
Published on 2010-04-07T10:42:39Z Indexed on 2010/04/07 11:43 UTC
Read the original article Hit count: 300

I am rendering textured quads from an orthographic perspective and would like to simulate 'depth' by modifying UVs and the vertex positions of the quads four points (top left, top right, bottom left, bottom right).

I've found if I make the top left and bottom right corners y position be the same I don't get a linear 'skew' but rather a warped one where the texture covering the top triangle (which makes up the quad) seems to get squashed while the bottom triangles texture looks normal.

I can change UVs, any of the four points on the quad (but only in 2D space, it's orthographic projection anyway so 3D space won't matter much). So basically I'm trying to simulate perspective on a two dimensional quad in orthographic projection, any ideas? Is it even mathematically possible/feasible?

ideally what I'd like is a situation where I can set an x/y rotation as well as a virtual z 'position' (which simulates z depth) through a function and see it internally calclate the positions/uvs to create the 3D effect. It seems like this should all be mathematical where a set of 2D transforms can be applied to each corner of the quad to simulate depth, I just don't know how to make it happen. I'd guess it requires trigonometry or something, I'm trying to crunch the math but not making much progress.

here's what I mean:

alt text

Top left is just the card, center is the card with a y rotation of X degrees and right most is a card with an x and y rotation of different degrees.

© Stack Overflow or respective owner

Related posts about orthographic

Related posts about rendering