Camera *pCam = new Camera();
// Need to add a light here until we figure out how to use the sun position and color
SkyLight::SkyLightType eType = SkyLight::SKY_LIGHT_DIRECTIONAL;
-SkyLight *pLight = new SkyLight(eType);
+SkyLight *pLight = 0;
// hack
sgMat4 my_copy_of_ssgOpenGLAxisSwapMatrix =
//bool SkySceneLoader::Load(std::string filepath)
bool SkySceneLoader::Load( unsigned char *data, unsigned int size, double latitude, double longitude )
{
+ if( !pLight)
+ pLight = new SkyLight(eType);
+
// Need to create the managers
cout << "GraphicsContext::Instantiate();" << endl;
GraphicsContext::Instantiate();
unsigned int iNumFiles;
if (!SKYFAILED(archive.GetInfo("CloudFile", STRING_TYPE, &iNumFiles)))
{
- _ulEndianSwap(&iNumFiles);
+ iNumFiles = ulEndianLittle32(iNumFiles);
for (unsigned int i = 0; i < iNumFiles; ++i)
{
FAIL_RETURN(archive.FindString("CloudFile", &pFilename, i));
//FAIL_RETURN(archive.FindFloat32("CloudScale", &rScale, i));
float rScale = 40.0;
SkyArchive cloudArchive;
+ cout << "Calling cloudArchive.Load(FilePath)" << endl;
FAIL_RETURN(cloudArchive.Load(FilePath));
+ cout << "Calling SceneManager::InstancePtr()->LoadClouds" << endl;
FAIL_RETURN(SceneManager::InstancePtr()->LoadClouds(cloudArchive, rScale, latitude, longitude));
}
}
+ cout << "After Load Clouds" << endl;
Vec3f dir(0, 0, 1);
+ if( !pLight)
+ pLight = new SkyLight(eType);
+
pLight->SetPosition(Vec3f(0, 0, 17000));
pLight->SetDirection(dir);
pLight->SetAmbient(Vec4f( 0.0f, 0.0f, 0.0f, 0.0f));
// No attenuation
pLight->SetAttenuation(1.0f, 0.0f, 0.0f);
+ cout << "Before SceneManager::InstancePtr()->AddLight(pLight)" << endl;
SceneManager::InstancePtr()->AddLight(pLight);
+ cout << "Before SceneManager::InstancePtr()->ShadeClouds()" << endl;
SceneManager::InstancePtr()->ShadeClouds();
+ cout << "After SceneManager::InstancePtr()->ShadeClouds()" << endl;
return true;
}