Aurora 3D Engine Availiable now

BlitzMax Forums/BlitzMax Programming/Aurora 3D Engine Availiable now

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

i personally would have no problem licensing it (if the price were a lil lower) while waiting for the BMax 3D module... if that were the only consideration...

its the attitude of the person who seems to be in charge that would be my determining factor... i'd feel more confident waiting 'till Evak gives the go ahead before making a final decision... he seems to have a better grip on the reality of marketing and promoting this to a group of experienced coders... Anthony, on the other hand, appears to need a lil more training in the art of product marketing and promotion :)

i think that Aurora looks like it could be a real asset to the BMax developer, in the short and long term...

@Lars...
Running something in a thread doesn't automagically make it an engine,
you are right... and i never said that it did...

... but lets take a quick look around at some of the ones that definitely qualify as game engines.

ok... from OGRE...
	EventProcessor* eventProcessor = new EventProcessor(); 
	eventProcessor->initialise(root->getAutoCreatedWindow()); 
	eventProcessor->startProcessingEvents(); 
	// event engine is running, now we listen for keys and frames (replaces while loops)
	CSimpleKeyListener* keyListener = new CSimpleKeyListener(); 
	eventProcessor->addKeyListener(keyListener); 
	CSimpleFrameListener* frameListener = new CSimpleFrameListener(
		eventProcessor->getInputReader());
	// you can have many frameListeners
	root->addFrameListener(frameListener); 

	//----------------------------------------------------
<b>	// 8 start rendering 
	//----------------------------------------------------
	[b]root->startRendering();</b> // blocks until a frame listener returns false. eg from pressing escape in this example[/b]

from Crystal Space...
void Simple::Start ()
{
  csDefaultRunLoop (object_reg);
}

/*---------------*
 * Main function
 *---------------*/
int main (int argc, char* argv[])
{
  iObjectRegistry* object_reg =
    csInitializer::CreateEnvironment (argc, argv);
  if (!object_reg) return -1;

  simple = new Simple (object_reg);
  if (simple->Initialize ())
   <b> simple->Start ();</b>
  delete simple;
  simple = 0;

  csInitializer::DestroyApplication (object_reg);
  return 0;
}

from Nebula...
// trigger the gfx server once every frame
00075     // Trigger() returns false if you close the window
00076     while (gfxServer->Trigger())
00077     {
00078         gfxServer->BeginFrame();
00079         gfxServer->BeginScene();
00080         gfxServer->Clear(nGfxServer2::AllBuffers, 0.0f, 0.8f, 0.6f, 0.4f, 0.0f, 0);
00081 
00082         gfxServer->EndScene();
00083         gfxServer->PresentScene();
00084         gfxServer->EndFrame();
00085         
00086         // allow Windows to multitask
00087         n_sleep(0.0);
00088     }


as you can see, the concept of a running code entity, something that can dispatch and query messages, appears to be universal to the definition of an engine...


--Mike