So far its coming along nicely..
This engine will give you input, sound, physics, and various other things right out of the box. Only thing is its .NET cause I was to lazy to write it unmanaged.
But Its extremly fast.
The physics I hope to do with newton.
Sound I'm still picking.. I like FMOD but you guys seem to like OpenAL. I have the FMOD Implementation done but I don't know if I should do it in OpenAL instead.
But here is a preview of what a simple Irrlicht window would look like using my engine.
Code: Select all
public __gc class CRenderer : public Viper::ITask
{
public:
void Execute( void ) {
//Render the scenemanager and the gui environment
Viper::Engine::GetEngine()->VideoDriver()->beginScene( true, true, SColor(255,180,180,180) );
Viper::Engine::GetEngine()->SceneManager()->drawAll();
Viper::Engine::GetEngine()->GUIEnvironment()->drawAll();
Viper::Engine::GetEngine()->VideoDriver()->endScene();
}
};
int _tmain()
{
//Our renderer task
CRenderer* renderer = new CRenderer();
Viper::Engine* engine = Viper::Engine::GetEngine();
//Setup Irrlicht.
engine->InitIrrlicht( 640,480,16,false,false,EDT_DIRECTX8, 0 );
//Add our renderer task
engine->AddTask( renderer );
//Run game
engine->Run();
//Shut down Irrlicht.
engine->ShutdownIrrlicht();
return 0;
}
Maybe I'll make an unmanaged version of the engine to..
I Don't know yet.. But so far its coming along nicely..
You can derive any tasks you want from the ITask base class
And then add them to the task pool.
Tasks can be paused and resumed and destroyed when ever you want.
So far thats what I have done the task pool and sound.