// loadSkyTextureFile // load file void CSkyboxComponent::loadSkyTextureFile( char *lpFileName ) { if ( m_skyboxTexture == lpFileName ) return; m_skyboxTexture = lpFileName; // release if mesh is loaded if ( m_gameObject->m_node ) m_gameObject->destroyNode(); ISceneManager *smgr = getIView()->getSceneMgr(); IVideoDriver *driver= getIView()->getDriver(); driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false); ITexture *pTex = driver->getTexture( getIView()->getPath(lpFileName) ); scene::ISceneNode* skydome = smgr->addSkyDomeSceneNode( pTex, 16,8, 0.95f, 2.0f); driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true); // set scenenode m_gameObject->m_node = skydome; m_gameObject->setLighting( false ); skydome->grab(); // set visibke m_gameObject->m_node->setVisible( true ); // update position m_gameObject->updateNodePosition(); m_gameObject->updateNodeRotation(); }