3d objects in isometric view

Started by
1 comment, last by streamer 18 years, 10 months ago
Hello. Hmm...I saw in Sacred FRP that map and background graphic are made of simple bitmap graphic, but the "sprites" are actualy 3D objects. How can I achieve that 3D object is rendered in isometric style in XYZW space? Any idea?
Advertisement
Quite some time ago, before I really started work on Golem3D, I built a test hybrid engine that rendered levels in the isometric style like Golem 1, but with 3D characters. I was able to use the same graphics (diamond-shaped tiles, diamond-ish walls, etc...) for the tiles through some tricky manipulation of texture coordinates.

I set up the camera for a 3D orthogonal projection, gave it a ~35 degree rotation around the x axis and a -45 degree around the y axis, then moved it to a good spot. Each tile in the map still had a floor and 2 walls, just like in the 'standard' iso engine used in Golem 1, but the tiles were set up as partial boxes in 3D space, with the isometric graphics mapped onto the floor and 2 of the walls of the boxes. I set up the (u,v) texture coordinates to selectively 'snip' out the skewed isometric-style graphics and correctly map them to the polygons of the tile, so that when the scene was rendered using standard 3D techniques, the appearance was pretty much identical to that achieved by the standard isometric renderer.

After that, it was simply a matter of adding 3D animated characters to the engine, using standard techniques.

I actually vastly preferred this method of doing things, over the older standard isometric method, as I did not have to fiddle around with all the various issues of correct drawing order that plague standard iso. The z-buffer took care of correct overlap of objects for me. A few other problems were solved, and I even got significantly better performance in the bargain due to some optimizations I made involving VBOs that were not available in the original version.
Well thank you VertexNormal :)

This topic is closed to new replies.

Advertisement