Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Should I do DX GUI for Level Editor GUI?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 SIC Games   Members   -  Reputation: 617

Like
0Likes
Like

Posted 17 July 2012 - 10:57 PM

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!

Game Engine's WIP Videos - http://www.youtube.com/sicgames88


Sponsor:

#2 Krohm   Crossbones+   -  Reputation: 3245

Like
0Likes
Like

Posted 18 July 2012 - 12:53 AM

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.

#3 kunos   Crossbones+   -  Reputation: 2207

Like
1Likes
Like

Posted 18 July 2012 - 01:54 AM

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 :)
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#4 Nickie   Members   -  Reputation: 322

Like
0Likes
Like

Posted 18 July 2012 - 01:56 AM

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.

#5 SIC Games   Members   -  Reputation: 617

Like
1Likes
Like

Posted 18 July 2012 - 02:18 AM

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

Game Engine's WIP Videos - http://www.youtube.com/sicgames88


#6 SIC Games   Members   -  Reputation: 617

Like
0Likes
Like

Posted 18 July 2012 - 09:59 AM

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!

Game Engine's WIP Videos - http://www.youtube.com/sicgames88


#7 kunos   Crossbones+   -  Reputation: 2207

Like
1Likes
Like

Posted 18 July 2012 - 10:57 AM

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.
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#8 SIC Games   Members   -  Reputation: 617

Like
0Likes
Like

Posted 18 July 2012 - 11:23 AM

Kunos, you're awesome for helping out amongst others too! Thanks for clearing up some gook out of my head! Much appreciated!

Game Engine's WIP Videos - http://www.youtube.com/sicgames88





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS