Jump to content
  • Advertisement
Sign in to follow this  
Paul C Skertich

Should I do DX GUI for Level Editor GUI?

This topic is 2161 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I am still very excited about my level editor in Win32 API in C++. I fully initialized DX when I click on File -> New Scene. I was in my mist of creating a edit bar (simple Dialog Box) where I noticed once I initialized the DX11 Device and moved the dialog around - it left nasty crap behind. For instance, the blue DirectX display when back to the original background of the Windows program. The Win32 Modless Dialogbox is a child of the main window.

I'm asking if I should chose a MDI Form or use a DirectX GUI? Should I reduce the view port size of the DirectX like in half then the modeless dialog wouldn't get in the way? What is the best approch should I handle this? Thanks!

Share this post


Link to post
Share on other sites
Advertisement
Historically mixing GUI and accelerated rendering has been somewhat troublesome at the very least.
It was my understanding post-areo would make them work. Bad to know I was wrong.
Personally I would suggest dropping OS GUI frameworks. DXUTGUI (I don't know if it was ported to D3D1x) is good looking but a bit of a quick hack, I suggest to stay away from it.
I've been looking at CEGUI for quite a while but greatly misunderstood the documentation for a long time. The author himself chimed in a few days ago and somehow I got the illumination I couldn't see for so long time. I strongly suggest to have a look at CEGUI.

Share this post


Link to post
Share on other sites
ouch, using Win32 for a level editor? You like pain I guess.
If you are doing this as a learning process then it's all good. If you need to get something working I strongly suggest you to rethink the approach :)
Best options would be QT and Borland Builder series if you want to stay C++, or C# WinForms + Managed C++ interface to the engine side.

I use the second approach for my editors and I don't have to curse the world and write 100 lines of code if I need to add a button :)

"Gamey" gui system such as CEGUI or DXUTGUI are ok to use in the game itself because you don't have a choice, but in an Editor? You have a choice, don't hurt yourself :)

Share this post


Link to post
Share on other sites
I think your life would be easier if you export ur core code into dll and make the GUI in C#.
I'm not fan of microsoft but I think this gonna be easier.

Share this post


Link to post
Share on other sites
Kunos, no wonder why I keep on thinking to myself, "This is absolutely crazy! There has to be a better way!" I'll take your idea! Thanks everyone for their support! Whew, no wonder why my head hurts - the brick wall DOES HURT! :D

Share this post


Link to post
Share on other sites
Kunos, so, I started to make the pretty interface in C# then I plan to bring in the managed game engine functions - is this possible? Also what about a user form control to have directx functions, for the level editor would this be even better?

I just woke up, so may not make a lot of sense right now! LOL!

Share this post


Link to post
Share on other sites
If your engine is already done in C++ you have 2 options:

- You can expose your engine through a plain C interface, then call those directly from C# land. This is a good exercise and it'll give you the possibility to expose the engine to Mono as well pretty much every other language that can bind with C.
- You can expose your engine using a Managed C++ dll .. which is what I do.

None of these have particular pro/cons

If your engine is not done yet.. then you're still in time to see the light and do everything in C# using SlimDX to interact with DX11. SlimDX (or the alternative SharpDX) is a almost 1:1 .NET binding for the entire DirectX world.. you can easily translate from any tutorial you find in C++ in C# in minutes, functions names, objects and parameters are the same.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!