28 Aug 2007

Nebula3 August SDK

Here's the Nebula3 "August SDK". I'm trying to do monthly releases from now on, whether big features are actually ready or not.

Download here.

Keep in mind that this is massive work in progress etc...etc... For instance, if you don't have a SM3.0 graphics card you will very likely hit an assertion when starting the test viewer, there's no code in the application classes which checks the hardware config for compability yet, also some of the executables may hit asserts.

Some of the new stuff:
  • the rendering system is now up and running in a very early state (no lighting, occlusion culling, etc...)
  • FrameShaders (comes with a very simple example frameshader)
  • integrated http-server with some debugging pages
  • (very limited) support for loading Nebula2 resources
  • asynchronous resource loading (the small white cube you see for the first few frames is the placeholder resource which is shown while the actual object is still loading in the background)
  • new input subsystem with support for keyboard, mouse and gamepads (tested with Xbox360 gamepads)
  • minidump-generation when an assert or error is triggered
After installation, go to the start menue and start one of the Test Viewer entries. When it's up and running (should be a tank in front of a green background and a little red box), run "Connect Web Browser" from the start menue. This should start your default web browser, connected to the Nebula3 application, displaying the "main debug page".

The little red cube is the bounding box of the tank. As you can see it doesn't fit, and the tank disappears as soon as the cube is outside the view volume. That's a bug with the Nebula2 legacy resource loaders, the bounding box of the Model isn't updated from the loaded data. But at least it demonstrates that the view volume culling works, he...

The next big feature is probably dynamic lights and shadows. But I don't think this will fit into September. Since lighting is the probably the most important part of a rendering engine, I'll take my time to do it right.

Enjoy,
-Floh.

PS: The executables are linked against the April 2007 DirectX SDK. You may have to install a matching runtime for the executables to start (not sure whether MS finally fixed the D3DX DLL hell). Or... just recompile everything with the DX SDK you have on you machine...