wspnut
16-10-2006 02:45:40
BSoD...
Black screen of death this time. I tried to make a projcet (based on the tutorials supplied) but the system simply hangs on a black screen when it is loaded.
I created a new console application and mimiced the settings used in the 102 tutorial project. I even used the include files used in the tutorials.
The project compiled fine, however, after getting past the device configuration dialog, a black screen appears and the process runs my system at 99% CPU endlessly. (Escape doesn't exit either).
Here is the end of my ogre.log after that:
And here is my simple code:
Black screen of death this time. I tried to make a projcet (based on the tutorials supplied) but the system simply hangs on a black screen when it is loaded.
I created a new console application and mimiced the settings used in the 102 tutorial project. I even used the include files used in the tutorials.
The project compiled fine, however, after getting past the device configuration dialog, a black screen appears and the process runs my system at 99% CPU endlessly. (Escape doesn't exit either).
Here is the end of my ogre.log after that:
21:36:37: Mesh: Loading nx.floor.mesh.
21:36:37: Texture: nx.floor.png: Loading 1 faces(PF_A8B8G8R8,512x512x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,512x512x1.
21:36:37: Texture: nx.floor.lm.png: Loading 1 faces(PF_B8G8R8,512x512x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
21:36:37: Mesh: Loading nx.body.axis.mesh.
21:36:37: Texture: arrow1.png: Loading 1 faces(PF_A8B8G8R8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,256x256x1.
21:36:37: Win32Input8: DirectInput Activation Starts
21:36:37: Win32Input8: Establishing keyboard input.
21:36:37: Win32Input8: Keyboard input established.
21:36:37: Win32Input8: Initializing mouse input in immediate mode.
21:36:37: Win32Input8: Mouse input in immediate mode initialized.
21:36:37: Win32Input8: DirectInput OK.
21:36:37: Texture: arrow.png: Loading 1 faces(PF_A8B8G8R8,32x32x1) with hardware generated mipmaps from Image. Internal format is PF_A8R8G8B8,32x32x1.
21:36:37: WARNING: Mesh instance 'NxOgre.ErrorCube' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
21:36:37: Mesh: Loading Ball_Brass.mesh.
21:36:38: Texture: brass.jpg: Loading 1 faces(PF_B8G8R8,256x256x1) with hardware generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
21:36:38: Mesh: Loading L1_Floor.mesh.
21:36:38: 5
And here is my simple code:
#include "nxOgre.h"
#include "Ogre.h"
#include "tutorialSimples.h"
#include "mousePicker.h"
using namespace nxOgre;
using namespace Ogre;
class oBallz : public SimpleTutorial, public mousePicker {
public:
world *mWorld;
scene *mScene;
body *myBall;
body *L1_floor;
float timeSince;
void start()
{
mWorld = new world(mRoot);
mScene = mWorld->createScene("MainScene", mSceneMgr);
mScene->hasGravity();
mScene->hasFloor();
myBall = mScene->createBody(
"MyBall",
"Ball_Brass.mesh",
new sphereShape(0.5f), // Radius of 0.5 Meters
10.0f, // Density of 10
Vector3(0, 0, 50) // Center it, and let it drop outright
);
L1_floor = mScene->createStaticBody(
"L1Floor",
"L1_Floor.mesh",
new meshShape("L1_Floor.mesh", mScene),
Vector3(0, 0, 0)
);
pickerSetup(mSceneMgr, mCamera, mScene, mWindow->getWidth(), mWindow->getHeight());
}
void stop()
{
delete mWorld;
}
void newFrame(float _time)
{
checkSystemKeys(_time);
pickerFrame();
if (isKeyDown(Y))
myBall->addTorque(Ogre::Vector3(0, 150, 0));
if (isKeyDown(NEG_Y))
myBall->addTorque(Ogre::Vector3(0, -150, 0));
if (isKeyDown(X))
myBall->addTorque(Ogre::Vector3(150, 0, 0));
if (isKeyDown(NEG_X))
myBall->addTorque(Ogre::Vector3(-150, 0, 0));
}
void checkSystemKeys(float _time)
{
timeSince += _time;
if (isKeyDown(DEBUG_MODE) && timeSince >= 0.25f)
{
mWorld->showDebugOverlay(mCamera, mWindow);
mWorld->debug(mWorld->isDebugRendering() ^ 1);
timeSince = 0.0f;
}
if (isKeyDown(SCREENSHOT) && timeSince >= 0.25f)
{
mWindow->writeContentsToFile("screenshot." +
Ogre::StringConverter::toString(Ogre::Math::Floor(mRoot->getTimer()->getMilliseconds() / 1000)) + ".png");
timeSince = 0.0f;
}
}
void getTutorialSettings()
{
mTutorialName = "ohBalls";
mTutorialDescription = "This needs to be modified";
timeSince = 0.0f;
}
void prestart() { }
void prestop() { }
void mousePick(float x, float y)
{
if (getMouseButton() == MOUSE_PRIMARY)
mouseMoveOrGrab(x, y, true);
else
mouseMoveOrGrab(x, y, false);
}
};
int main(int argc, char *argv[])
{
SET_TERM_HANDLER;
try
{
oBallz* toRun = new oBallz();
toRun->Run();
toRun->Shutdown();
delete toRun;
}
catch (Ogre::Exception& e)
{
std::cerr << "An exception has occured: " << e.getFullDescription().c_str() << std::endl;
}
return 0;
}