xna中的倾斜投影

| 我正在尝试在xna框架中实现倾斜投影(http://en.wikipedia.org/wiki/Oblique_projection):
float cos = (float)Math.Cos(DegreeToRadian(45)) * -1; 
float sin = (float)Math.Sin(DegreeToRadian(45)) * -1; 

Matrix obliqueProjection = new Matrix( 
                                  1, 0, cos, 0, 
                                  0, 1, sin, 0, 
                                  0, 0, 1,   0, 
                                  0, 0, 0,   1); 

Matrix orthographicProjection = Matrix.CreateOrthographic(10, 10, -1, 100000); 

projection = orthographicProjection*obliqueProjection; 
如您所见,我只是将正投影与斜投影相乘。 我得到的是: http://imageshack.us/photo/my-images/835/oblique1.png/ 它基本上是正射投影的样子,但是有一些奇怪的远切。 如何获得正确的倾斜投影? 提前Thx     
已邀请:
        Diki回答:http://forums.create.msdn.com/forums/p/85032/513412.aspx#513412 代码需要像这样更改:
Matrix obliqueProjection = new Matrix(  
                                  1,   0,   0,   0,  
                                  0,   1,   0,   0,  
                                  cos, sin, 1,   0,  
                                  0,   0,   0,   1);  

projection = obliqueProjection * orthographicProjection;  
    
        对于初学者,您可以实施适当的公式。 维基百科文章说,投影矩阵使用
0.5 * cos
0.5 * sin
,而您的版本仅使用
cos
sin
。     

要回复问题请先登录注册