zoukankan      html  css  js  c++  java
  • unity3d Matrix4x4列为主序

    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一样的

  • 相关阅读:
    树状数组&线段树
    8月7日小练
    8月6日小练
    LID&LDS 的另外一种算法
    LCS,LIS,LCIS
    8-11-Exercise
    8-10-Exercise
    线段树
    8-7-Exercise
    8-6-Exercise
  • 原文地址:https://www.cnblogs.com/dragon2012/p/4062167.html
Copyright © 2011-2022 走看看