Hi all,
I have been working on a simple model exporter and have been having proplems with my UV coordinates.
When i exported from blender a textured cube the texture would not map properly. After a small search I realised that this was beacuse blender stores UV coordinates in relation to the the origin being at the bottom left and directx uses the top left. I then edited my exporter by changing...
V = V
to
V = 1 - V
This sort of worked but it ended up with the textures being displayed backwards....
[attachment=13358:001.png]
I then started reading through a directx exporter I found that it used some code to turn triangles backward (vertindex = vertindex[::-1])
e.g.
vert1 = 3
vert2 = 2
vert3 = 1
so I gave that a try to see how it affected everything and it yeilded this result...
[attachment=13359:002.png]
so I changed the rasterizer settings to cull the front of triangles and display the back...
[attachment=13360:003.png]
This worked!
But I can't help feeling that this is the wrong way to do things.
Am I missing a more simple, less hacky way to do things here?
does it by chance have anything to do with the fact that blender uses different XYZ coordinates to directx
[Blender]
X = left/right
Y = forward/back
Z = up/down
[DirectX]
X = left/right
Y = up/down
Z = foward/back
Any help would be greatly appreciated, I think it is something I am doing wrong beacuse anything I have read so far on this topic has ended with the answer simply being to invert the V coord. This does not work for me so I assume that I am doing something fundementally wrong
btw here is my texture...
[attachment=13361:004.png]