Stupid is as stupid does and I'm stupid
Daily 10/13/03
Just a quick update....
I've spent the last couple of days lost in my own stupidity again. I was working on distilling the 3d engine to get it so that we can just plug in content. My guinea pig was the map editor. I hooked it up and everything looked right code wise, but nothing was showing up!!! All the HRESULTs were succeeded. It was jut plain weird. The view was clearing properly, but no data. I couldn't figure it out. I finally got it and it was another one of those silly one line problems. Check this out:
IDirect3DDevice9 has a function clear that clears the buffer to a color.
HRESULT Clear(DWORD Count, const D3DRECT *pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil)
Here was my call:
pDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xff000000, 1.0f, 0);
Can you see the problem yet? I couldn't for the longest time either. The problem is the 1.0f. That number is supposed to be the Z value that the depth buffer is cleared to. Silly me. I was clearing the depth buffer such that everything would fail the depth test. The proper call should look like this:
pDevice->Clear(0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0xff000000, 0.0f, 0);
Everything worked great after that. I spent another couple of hours ripping out the all the hacky test code I put in to try to diagnose the problem. I hate when that happens. It's one of those things that you can't get any help from DirectX on.
On another note, I've been playing around with DesktopX and the ObjectDock quite a bit. I really like the object dock functionality. You should download it and try it if you get a chance. I think it's free. Here's my current minimalist desktop:
The bar actually autohides, but it'd defeat the purpose of showing what it looked like if it was hidden. Right?
We also got busted for playing Halo a little too long at lunch today. Brad is such an Ogre.

(By ScottT)
