How do I swap Y and Z axis with D3DXMATRIX?

Started by
9 comments, last by lucky6969b 11 years, 1 month ago

Hello eppo,


                       CameraObject *cam = (CameraObject*) node->EvalWorldState(ip->GetTime()).obj;
            
                        Matrix3 atm = node->GetObjectTM(ip->GetTime(), 0);// 4x3 matrix
             
                        int ki, kj;
                        MRow *pcvm = atm.GetAddr();        
                        for (ki = 0; ki < 4; ki++) {
                            for (kj = 0; kj < 3; kj++) {
                                d3dViewXform.m[ki][kj] = pcvm[ki][kj];
                            }
                        }
                        // Assign the fourth column (perspective terms)

                        d3dViewXform.m[0][3] = d3dViewXform.m[1][3] = d3dViewXform.m[2][3] = 0.0f;
                        d3dViewXform.m[3][3] = 1.0f;


                        D3DXMATRIX matrixPitch, matrixScale;

                        D3DXMatrixIdentity(&matrixPitch);
                        D3DXMatrixIdentity(&matrixScale);

                        D3DXMatrixRotationYawPitchRoll(&matrixPitch, 0.f, PI * .5f, 0.f);
                        D3DXMatrixScaling(&matrixScale, 1.f, 1.f, -1.f);

                        d3dViewXform = matrixPitch * matrixScale * d3dViewXform;

The camera still got distorted. I evaluated this thread again because I want +y to go upward and +z go outward.

Thanks

Jack

This topic is closed to new replies.

Advertisement