码迷,mamicode.com
首页 > 编程语言 > 详细

unity3d Matrix4x4列为主序

时间:2014-10-30 13:25:00      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   sp   数据   div   log   cti   bs   as   

unity3d的矩阵一直用,但是之前都是测试着用的,效果虽然正确,但是一直没搞清楚它是行矩阵还是列矩阵

今天测试了下

Matrix4x4 mat4 = Matrix4x4.Perspective(30,1.0f,3,30);
        Vector4 row1 = mat4.GetRow(0);
        Vector4 row2 = mat4.GetRow(1);
        Vector4 row3 = mat4.GetRow(2);
        Vector4 row4 = mat4.GetRow(3);

        Debug.Log("mat4:Row3"+ row3 +"mat4:Row4:"+ row4);

打印出来的数据是这样的:

 mat4:Row3(0.0, 0.0, -1.2, -6.7)mat4:Row4:(0.0, 0.0, -1.0, 0.0)   

Perspective的矩阵如果是行为主序的,那么这个是不对的

参考opengl官网

mat[2] = 0.0; mat[6] = 0.0; mat[10] = -(zfar + znear) / (zfar - znear); mat[14] = -(2.0f * zfar * znear) / (zfar - znear);
mat[3] = 0.0; mat[7] = 0.0; mat[11] = -1.0; mat[15] = 0.0;

 所以他的是列矩阵,就是和opengl一样的

 

unity3d Matrix4x4列为主序

标签:blog   ar   sp   数据   div   log   cti   bs   as   

原文地址:http://www.cnblogs.com/dragon2012/p/4062167.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!