Question

I would like to programmatically convert a 2.5D isometric cube texture to a texture/textures that can be used on a 3D cube. What is a good way to do this? I will be rendering the cube using Direct3D.

Was it helpful?

Solution

  1. Split the isometric cube texture into 3 sub-texture which contain the left, top and right surfaces. You will have part of the left and right surfaces on top one, but no need to worry about that(actually this way works better) because later on you can use adjusted UV coordinate to balance out.
  2. Create 3D surfaces with adjusted UV coordinate which does something like stretching texture
  3. Apply these 3 sub-textures to the actual 3D surfaces and render. Then you got your 3D version!!!

OTHER TIPS

The problem with converting an isometric cube to a 3d model is that it is not a "square texture". Placing the corner of the UV map on the corner of the cubes leads the sides of the surfaces to be jagged showing either fragments of the sides showing or "blank" the background. Placing the UV just inside so that it never sees the jagged edge leaves off the details of the edge. Somehow, the isometric side must be made flat, so that it will align perfectly with the UV.

The sides of an isometric cube can be adjusted up to be flat. It is the top of the cube, the diamond shape, that is not trivially converted.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top