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!
Should I do DX GUI for Level Editor GUI?
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.
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.
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
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
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.
I'm not fan of microsoft but I think this gonna be easier.
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!
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!
I just woke up, so may not make a lot of sense right now! LOL!
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.
- 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.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement