Tuesday, October 18, 2005

High Level Shader Language (HLSL) & Lights

Made some changes to the lights:
  • Adding a light in the scene now creates a graphical sphere to represent it
  • On mouse over the light it changes from yellow to a highlighted red
  • Clicking the light displays a graphical wireframe sphere of the lights radius
  • You can move the light around the scene using the mouse
  • The properties for the light now includes the Colour and Enabled properties

Also started work on adding High Level Shader Language (HLSL) support. Just managed to get per-pixel specular highlights working (without textures yet). Probably going to mess around with effects for the next week or so.

Sunday, October 16, 2005

FPS High Performance Timer

Finally added the high performance timer to the SadismEngine.dll and added the FPS counter to the Editor.

Spent the rest of the day planning out what needs to be done over the next few weeks.

The next thing to add for the engine is view frustrum culling, after that going to spend quite more time on the editor.

Saturday, October 15, 2005

Multiple X Files


Well its finally been added, you can now add as many x files as you want (they get placed at the current position of the camera)

Made a few slight changes to the GUI, and also now only allow a single instance of the Editor to be loaded.

Also added a new "New Project" setup screen, this allows you to give your project/game a name and select a directory you want to place your project in (with the option to create a sub folder if you want)

The new screenshot above is of a scene created by Neil using the multiple x-file support added today.

Thursday, October 13, 2005

Fixing bugs...

Well spent the last few days working out and fixing stuff....

1st issue was the DX Lights, on my Dual GeForce 6600 I could place quite a few light in the scene, but on Neil's PC (ATI Radeon card, not sure of the exact model) he couldn't place any lights down.
Spent ages trying to work out what the problem was... turns out that his GFX Card only supports 2 lights and by default the scene already has 2 lights (a point light and a directional light), so thats why he couldn't place any lights down and I could on my machine.

The second issue was where 2 objects overlap there was flickering/tearring effect where it would draw the wrong object in front of the other. This issue kept me buzy for quite some time... and it also turned out to be something really simple. It was caused by setting the ZBuffer Near Plane to 1.0f, after changing it to something larger i.e. 15.0f it fixed the problem.

Before:

After:

Here is the fix:

matProj = Matrix.PerspectiveFovLH((float)Math.PI / 4, 1.0f, 15.0f, 10000.0f);

I also added a splash screen to the editor that displays whilst the editor is loading up.
A lot of other small issues were fixed this past week and some other improvements were made to the code, but now im concentrating on the loading of multiple x-files, hoping to get that done by Sunday night.

Wednesday, October 05, 2005

Another weeks passed...

Spent the last few days trying out different file types to save to, eventually decided to go with using XML files.

Just finished the Save & Load for the Camera class, will try get the lights, entities and scene properties in as well tomorrow.

Still need to add support to load multiple entities into the scene.

Microsoft just released the new DX9 SDK which comes with a beta of XInput which means soon the editor will be able to support XBox 360 controllers with vibration, as well as voice input/output support.