-----------------------------------
Guest
Wed Nov 18, 2009 5:56 pm
Re: An "Actual" First-Person Shooter?
-----------------------------------
Those 2D surfaces are projected onto a 2D surface (the computer screen) and then morphed in 2D ways. So, for instance, a cube rotating from face-on view to corner-on view is essentially just rendered as a single square and then three parallelograms.
Well the end result is 2D, but you don't actually get a 2D figure until after the backface culling, unless your Z-buffer is just a painter's algorithm. Transformation matrices don't have to be 2D transformations, and the ones in ND rendering are mostly for ND transformations. First the 3D coordinates of polygons are fed in, then a matrix "flattens" them, at the same time distorting them for perspective. The part where it's just skewing, rotating, etc. 2D shapes to make them look 3D is the texturing, where the texture coordinates are manipulated to match the coordinates of the flattened polygon it's on. Even then, you still need the polygon's depth information for smooth rendering.
So, two steps the the render: 1) transformation matrices to make a 3D shape, and 2) transformation matrices to skew the 3D shape as it would appear to skew when rotating/moving in 4D. Sound right?
You could... but that's slow and unnecessary. You don't need to go through 2D to get to 3D, nor 3D to get to 4D. You only need to go from 3D or 4D to 2D to display the shape on a 2D screen. That's what a projection is for in the first place. It can be entirely abstract until the moment of visualization.
Adanaxis cheats, and renders the 100x100x100 as six 2D textures where the walls of the cube are. It's a rough approximation but is OK when objects are far away.
This is one of the many things I've been thinking might be able to benefit from this: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.7678
I don't understand it (haven't had the time to read it, though, either), but if I did, I think I could use it to simulate a 3D texture. 3D texturing has been a frequent subject of thought for me since I started learning about how Adanaxis works.