Ignore:
Timestamp:
Jun 30, 2012, 1:09:04 PM (12 years ago)
Author:
Torben Dannhauer
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • experimental/distortionNG/DistortionSetupStrategyProjectSyntropy.cpp

    r388 r391  
    294294                readFrustumFromCSVFile(_frustumFilename, numFrustumValues, frustumValues);
    295295               
    296                 osg::Matrixd viewOffset=osg::Matrixd();
     296                osg::Matrixd viewOffset=osg::Matrix::identity();
    297297                osg::Matrixd projectionOffset=osg::Matrixd();
    298298
     
    300300                // Translational Parameters are defines in millimeters (->Correction required?!)
    301301                // Coordinate System / Directions may be looked up in "Koordinatensystem.png", trans/rot order confirmed bei PS
    302                 viewOffset = osg::Matrixd::translate(frustumValues[0],frustumValues[1],frustumValues[2]);
    303                 viewOffset*= osg::Matrixd::rotate(osg::inDegrees(frustumValues[3]), 0.0,0.0,1.0); //Heading
    304                 viewOffset*= osg::Matrixd::rotate(osg::inDegrees(frustumValues[4]), 1.0,0.0,0.0); //Pitch
    305                 viewOffset*= osg::Matrixd::rotate(osg::inDegrees(frustumValues[5]), 0.0,1.0,0.0); //Bank
    306 
     302                osg::Matrixd rotViewOffset=osg::Matrixd();
     303                rotViewOffset.makeRotate(
     304                        osg::DegreesToRadians(frustumValues[3]), osg::Vec3(0,1,0),      // heading
     305                        osg::DegreesToRadians(-frustumValues[4]), osg::Vec3(1,0,0),     // pitch
     306                        osg::DegreesToRadians(frustumValues[5]), osg::Vec3(0,0,1));     // roll
     307
     308                osg::Matrixd transViewOffset=osg::Matrixd();
     309                transViewOffset.makeTranslate( frustumValues[0], frustumValues[1], frustumValues[2]);
     310
     311                viewOffset = viewOffset * rotViewOffset; // * transViewOffset;
     312               
    307313                //Frustum Parameters: Left, Right, Bottom, Top, zNear, zFar
    308                 //Alternative: viewer->camera->setprojectionmatrixasfrustum?
    309314                projectionOffset.makeFrustum(osg::inDegrees(frustumValues[6]), osg::inDegrees(frustumValues[7]), osg::inDegrees(frustumValues[8]), osg::inDegrees(frustumValues[9]), zNear, zFar);
    310315
Note: See TracChangeset for help on using the changeset viewer.