// ssg variables
ssgRoot *scene = NULL;
+ssgBranch *terrain = NULL;
ssgTransform *penguin = NULL;
global_tile_mgr.render();
+ // ssg test
+
+ xglMatrixMode(GL_PROJECTION);
+ xglLoadIdentity();
+ ssgSetFOV(60.0f, 0.0f);
+ ssgSetNearFar(10.0f, 14000.0f);
+ sgMat4 sgTRANS;
+
+ sgMakeTransMat4( sgTRANS,
+ current_view.view_pos.x()
+ + current_view.view_forward[0] * 20,
+ current_view.view_pos.y()
+ + current_view.view_forward[1] * 20,
+ current_view.view_pos.z()
+ + current_view.view_forward[2] * 20 );
+
+ sgMat4 sgTMP;
+ sgMat4 sgTUX;
+ sgMultMat4( sgTMP, current_view.sgUP, sgTRANS );
+ sgMultMat4( sgTUX, current_view.sgLARC_TO_SSG, sgTMP );
+
+ sgCoord tuxpos;
+ sgSetCoord( &tuxpos, sgTUX );
+ penguin->setTransform( &tuxpos );
+
+ sgMakeTransMat4( sgTRANS,
+ current_view.view_pos.x(),
+ current_view.view_pos.y(),
+ current_view.view_pos.z() );
+ sgMat4 sgVIEW;
+ sgMultMat4( sgVIEW, current_view.sgVIEW, sgTRANS );
+ ssgSetCamera( sgVIEW );
+ // ssgSetCamera( current_view.sgVIEW );
+ ssgCullAndDraw( scene );
+
xglDisable( GL_TEXTURE_2D );
xglDisable( GL_FOG );
xglDisable ( GL_BLEND ) ;
xglEnable( GL_FOG );
- // ssg test
- cout << "trying to draw ssg scene" << endl;
-
- xglMatrixMode(GL_PROJECTION);
- xglLoadIdentity();
- ssgSetFOV(60.0f, 0.0f);
- ssgSetNearFar(1.0f, 700.0f);
- sgCoord tuxpos;
- sgSetCoord( &tuxpos,
- current_view.view_pos.x() + current_view.view_forward[0]
- * 20,
- current_view.view_pos.y() + current_view.view_forward[1]
- * 20,
- current_view.view_pos.z() + current_view.view_forward[2]
- * 20,
- 0.0, 0.0, 0.0 );
- penguin->setTransform( &tuxpos );
-
- sgCoord campos;
- sgSetCoord( &campos,
- current_view.view_pos.x(),
- current_view.view_pos.y(),
- current_view.view_pos.z(),
- 0, 0, 0 );
- ssgSetCamera( &campos );
- ssgCullAndDraw( scene );
-
}
xglutSwapBuffers();
ssgModelPath( "/stage/pinky01/src/Libs/plib-1.0.12/examples/ssg/tux/data/" );
ssgTexturePath( "/stage/pinky01/src/Libs/plib-1.0.12/examples/ssg/tux/data/" );
+ // ssgModelPath( "/h/curt/src/Libs/plib-1.0.12/examples/ssg/tux/data/" );
+ // ssgTexturePath( "/h/curt/src/Libs/plib-1.0.12/examples/ssg/tux/data/" );
scene = new ssgRoot;
+ terrain = new ssgBranch;
+ terrain->setName( "Terrain" );
penguin = new ssgTransform;
ssgEntity *tux_obj = ssgLoadAC( "tuxedo.ac" );
ssgFlatten( tux_obj );
ssgStripify( penguin );
+ scene->addKid( terrain );
scene->addKid( penguin );
// pass control off to the master GLUT event handler