Esempio n. 1
0
void ArcballTestApp::keyDown( KeyEvent event )
{
	if( event.getChar() == 'f' ) {
		mCam.setPerspective( randFloat( 5, 140 ), getWindowAspectRatio(), 1.0f, 10.0f );
	}
	else if( event.getChar() == 'd' ) {
		mUsingCameraUi = ! mUsingCameraUi;
		if( mUsingCameraUi )
			mDebugCam = mCam;
	}
	else if ( event.getChar() == 'c' ) {
		if( mArcball.isUsingConstraint() )
			mArcball.setNoConstraintAxis();
		else
			mArcball.setConstraintAxis( normalize( vec3( randFloat(), randFloat(), randFloat() ) ) );
	}
	else if( event.getChar() == 'z' ) {
		mZLookAt /= 10;
		mCam.lookAt( vec3( 0, 0, 5 ), vec3( mZLookAt ) );
	}
	else if( event.getChar() == 'r' ) {
		mEarthSphere.setCenter( vec3( randFloat(2), randFloat(1), randFloat( -4, 0 ) ) );
		mEarth = gl::Batch::create( geom::Sphere( Sphere( vec3(0), mEarthSphere.getRadius() ) ).subdivisions( 50 ), gl::getStockShader( gl::ShaderDef().texture() ) );
		mArcball.setSphere( mEarthSphere );
	}
}
Esempio n. 2
0
void ObjLoaderApp::loadObj( const DataSourceRef &dataSource )
{
    ObjLoader loader( dataSource );
    mMesh = TriMesh::create( loader );

    if( ! loader.getAvailableAttribs().count( geom::NORMAL ) )
        mMesh->recalculateNormals();

    mBatch = gl::Batch::create( *mMesh, mGlsl );

    mBoundingSphere = Sphere::calculateBoundingSphere( mMesh->getPositions<3>(), mMesh->getNumVertices() );
    mArcball.setSphere( mBoundingSphere );
}