BaH.CEGUIDirect3D9

BlitzMax Forums/Brucey's Modules/BaH.CEGUIDirect3D9

Brucey(Posted 2010) [#1]
I've managed to create what appears to be a working DX9 renderer for CEGUI.

I had to trawl the web for a MinGW compatible DirectX .a, but I found one eventually, and that allows CEGUI to link to the dll.
Since I'm nowhere near an expert as far as DX and all the various DLL versions is concerned, I imagine my implementation isn't the best, but it worked when I tried it against the latest runtime.
The only caveat is the requirement to include a d3dx9.dll with the app. (unless anyone can come up with a better way to do that).

The API changes slightly in order to get the "directx device" into CEGUI.
Where with OpenGL we can do this :
Init_CEGUI(New TCEOpenGLRenderer)

with DX9, we need to do this :
Init_CEGUI(New TCEDirect3D9Renderer.init(g))

where "g" is a TGraphics object.

The CEGUI code remains the same, otherwise, which makes everyone's lives easier.


Armitage 1982(Posted 2010) [#2]
Nice driver update !

I'm not into DX but I'm sure some here will be happy :)

Cheer

By the way, do you still plan a Qt implementation ?


plash(Posted 2010) [#3]
Qt implementation of .. CEGUI? o_O
Unless you mean the Qt wrapper, in which case it's not strange at all :P


Brucey(Posted 2010) [#4]
I'm not into DX but I'm sure some here will be happy :)

Me neither, but since we have official DX9 support now, I thought we may as we have this implemented too. I only tried it on the widgetsgalore example, but everything seemed to work properly.

By the way, do you still plan a Qt implementation ?

Yep. I'm kind of stuck at the moment, with the latest code... and my ideas for implementing the "variant" objects for BlitzMax objects - this is kind of vital for putting user data into Models/Lists/etc. One of those things that makes the head spin... I try to get it all sorted in my head before I try to implement too much.