Textured polygon in D3D

BlitzMax Forums/BlitzMax Programming/Textured polygon in D3D

So how do you draw a textured polygon in direct3d?

TexturedPoly
There is a lot more discussion and some more source code on the forums.

Golden! This works great! One question tough...
I'm using these functions to calculate the UV coordinates from the vertices..
	Function GetU:Float(x:Float,y:Float)
		Return x/Sqr(x*x + y*y)
	EndFunction
	
	Function GetV:Float(x:Float, y:Float)
		Return y/Sqr(x*x + y*y)
	EndFunction


However, the texture is stretched when the polygon is aligned in certain ways. Is there a better way to calculate this?

U, V are the texture coordinates running from 0 to 1 .
X,Y are the geometrical coordinates running from anyvalue1 to anyvalue2.
U,V and X,Y are unrelated to each other until you define a relation: x0 equals 0, x1 equals 1.

Also U,V and X,Y are each orthogonal and linear independent from another so you don't have to invoke V and/or Y if you want to calculate U and vice versa.

Therefore I would code for Transformation (with wrapping) :

Function GetU:Float(x;Int, x0:Int, x1:Int)

 Local DistX:Float =Abs(x -x0) Mod Float(x1 -x0)
 If x < x0 then
   DistX :+(x1 -x0)
 End If
 Return DistX /Float(x1- x0)

End Function



thanks xMicky, works great!