Qt’s QTransform and Mode 7 (fake 3D) attempted implementation

If you can’t implement real 3D, then fake 2D 3D graphics might work.

Back in the Super Nintendo (SNES) days, we enjoyed some pretty rad “fake” 3D games like F-Zero and Mario Kart. SNES had “mode 7″. Now that I’m developing my own 2D game engine, I really want to implement at the least some parallax for my backgrounds. While I’m sure I could accomplish this with OpenGL or DirectX, I don’t want to rely on anymore external DLL dependencies unless I need to. Qt provides a QTransform function, but it’s not quite there. I’ve been playing around with it.

My Mode 7 wannabe implementation concept

My Mode 7 wannabe implementation concept

In order to complete a full illusion of 3D, I’ll have to implement many separate buffers and composite those onto a final output buffer. Animation is just a bunch of output buffers played really fast to give you the illusion of movement.

I was able to produce the mock-up in Photoshop, which seems to have the perspective algorithm down. Now, it’s just a matter of figuring it out on my end for my Qt/c++ implementation.

Tags: , , , , , , , , , , , , ,

Leave a Reply