#define aber komliziert



  • Hallo,
    ich kann c gar nicht. Leider muss ich ein Algorithmus aus c in vb.net portieren. Kann mir jemand folgendes entschlüsseln(besonders die erste Zeile)? Letztendlich genügt mir die Form: m44 = *m[15]

    static void invertMatrix(const GLdouble *m, GLdouble *out )
    {
    
    /* NB. OpenGL Matrices are COLUMN major. */
    #define MAT(m,r,c) (m)[(c)*4+(r)]
    
    /* Here's some shorthand converting standard (row,column) to index. */
    #define m11 MAT(m,0,0)
    #define m12 MAT(m,0,1)
    #define m13 MAT(m,0,2)
    #define m14 MAT(m,0,3)
    #define m21 MAT(m,1,0)
    #define m22 MAT(m,1,1)
    #define m23 MAT(m,1,2)
    #define m24 MAT(m,1,3)
    #define m31 MAT(m,2,0)
    #define m32 MAT(m,2,1)
    #define m33 MAT(m,2,2)
    #define m34 MAT(m,2,3)
    #define m41 MAT(m,3,0)
    #define m42 MAT(m,3,1)
    #define m43 MAT(m,3,2)
    #define m44 MAT(m,3,3)
    

    Vielen Dank



  • inline double& mat(GLdouble* matrix,int row,int coloumn)
    {
        return matrix[coloumn*4 + row]
    }
    
    double& m44 = mat(m,4,4);
    m44 *= m[15];
    
    mat(m,4,4) *= m[15];
    

Anmelden zum Antworten