How can i skew a sprite ?

Um im seeing the same thing using basic effect with a properly inputed quad.

Edit:

Just what in the world is going on here…

ReEdit this is 100% a bug somewere.

I see the same thing in my own effect.
The triangle is divided from bottom left to top right.

Look at were the center of each triangle is, it’s too far down,

The uv coordinates are not properly interpolated from vertice 1 and 3 in the first triangle or from 3 to 1 in the second? The interpolation is unevenly being distributed towards vertice 3 from 1 in both cases.

No wonder i was seeing artifacts in the vertex shader and pixel shader with my lighting normals, what in the world.

http://i936.photobucket.com/albums/ad207/xlightwavex/miscellaneous/wierdbug_zps2vgv41ox.png

Just look at the center line up and down to see by how much.

here is the vertice winding order which im about change to test it.

            //// create the indexs
            ////
            //// LT 0   2 RT
            ////    |  /|     Triangle 1 is 0 1 2  ccw
            ////    | / |     Triangle 2 is 2 1 3  ccw
            //// LB 1   3 RB
            //triangleIndexList[ti_pointer + 0] = 0 + vi_pointer;
            //triangleIndexList[ti_pointer + 1] = 1 + vi_pointer;
            //triangleIndexList[ti_pointer + 2] = 2 + vi_pointer;
            //triangleIndexList[ti_pointer + 3] = 2 + vi_pointer;
            //triangleIndexList[ti_pointer + 4] = 1 + vi_pointer;
            //triangleIndexList[ti_pointer + 5] = 3 + vi_pointer;

Re:
flipped it and even wound the triangles differently same thing happens just on the opposide side.

    // create the indexs
        //
        // LT 0   2 RT
        //    | \  |     Triangle 1 is 0 1 2  ccw
        //    |  \ |     Triangle 2 is 2 1 3  ccw
        // LB 1   3 RB
        triangleIndexList[ti_pointer + 0] = 0 + vi_pointer;
        triangleIndexList[ti_pointer + 1] = 1 + vi_pointer;
        triangleIndexList[ti_pointer + 2] = 3 + vi_pointer;
        triangleIndexList[ti_pointer + 3] = 0 + vi_pointer;
        triangleIndexList[ti_pointer + 4] = 3 + vi_pointer;
        triangleIndexList[ti_pointer + 5] = 2 + vi_pointer;

Even drawing each triangle individually they don’t come out right. Could this have to do with barycentric coordinate usage is this the card itself doing this ?

If this is due to the barycenter then its height is too far down in both triangles.

this is what i was seeing before this might just explain it.

http://i936.photobucket.com/albums/ad207/xlightwavex/miscellaneous/Artifact02bWeird_zpskyomr6yo.png