Jump to content
  • Advertisement
Sign in to follow this  
soloman

How To choice the GUI sdk for creating a world edit(like crysis::sandbox)?

This topic is 2022 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

As i mentioned,i want to build a world edit on windows. Here are some choices:

MFC

Qt

WPF

PS:i have no idea about c#(just programing with c++).

Can anyone give some advises about how to choices and the pros and cons?

If you have time,please post some learning materials about the editor design.(tks)

Share this post


Link to post
Share on other sites
Advertisement

MFC is windows only, somewhat dated, right ?

 

Qt, is really common, nicely supported and cross plattform. This would be my choice.

 

I don't know WPF .

Share this post


Link to post
Share on other sites

On the other hand, you could use C++ Builder. It is like Visual Basic or Delphi just it uses C++.

You don't need any libraries. It has a WYSIWYG interface. Pretty much like C#.

 

MFC forces you to use its application model and it is really outdated. Too much overhead.

 

QT uses some wierd signaling wich needs to be adapted by you and then you can

produce cross platform projects (in theory). Even with QT you do not have the

feature to just use ONE CLICK DEPLOY to Linux or Mac Os.

 

There are still: wxWidgets, GTK+ and other libraries, that can be used to create

GUI's that run on C++. Very nice thing is Code Blocks which has editors for

wxWidgets or GTK so you do not have to construct the GUI within code.

 

Or you do it Unreal ED style, where they "use" (or used?) Visual Basic for

the editor and the engine gets called via .DLL.

 

ED: There are also full screen GUI libraries where your "application" runs

like a game (forever loop) and the GUI is drawn by OpenGL or DirectX.

DirectX has its own GUI toolkit in D3DX, just look at some DX samples.

 

For OpenGL you could use Crazy Eddie's GUI system.

Edited by Samurai Jack

Share this post


Link to post
Share on other sites

On the other hand, you could use C++ Builder. It is like Visual Basic or Delphi just it uses C++.

You don't need any libraries. It has a WYSIWYG interface. Pretty much like C#.

 

MFC forces you to use its application model and it is really outdated. Too much overhead.

 

QT uses some wierd signaling wich needs to be adapted by you and then you can

produce cross platform projects (in theory). Even with QT you do not have the

feature to just use ONE CLICK DEPLOY to Linux or Mac Os.

 

There are still: wxWidgets, GTK+ and other libraries, that can be used to create

GUI's that run on C++. Very nice thing is Code Blocks which has editors for

wxWidgets or GTK so you do not have to construct the GUI within code.

 

Or you do it Unreal ED style, where they "use" (or used?) Visual Basic for

the editor and the engine gets called via .DLL.

 

ED: There are also full screen GUI libraries where your "application" runs

like a game (forever loop) and the GUI is drawn by OpenGL or DirectX.

DirectX has its own GUI toolkit in D3DX, just look at some DX samples.

 

For OpenGL you could use Crazy Eddie's GUI system.

tks for your detailed describe.If i use c++ build to design the interface and use the vs2012 to build my core project,how can i put them together?By the way,i found c++ build is out of time too,i even can't find a newer version(borland is history...)

Edited by soloman

Share this post


Link to post
Share on other sites

For an editor I would actually pick C# and WPF, because writing and interface is easier in a managed language and it generally doesn't need the performance of native code. With C# you can interact with C++ through C++/CLI its really easy and does away with marshal calls between the two languages, you either define a ref class in C++ and instance it in C# or you instance a ref new C# class in C++/CLI.

 

WPF allows you to directly bind to objects so that when either the source property changes or the UI property changes value this is immediately activate on the other end (databindings).

 

WPF UI elements are built in Xaml and this looks a lot like HTML to create screens with, it comes with a WYSIWYG editor which also features an underwater mode in which you just write Xaml in text for if you want to.

 

The other benefit of using C# with C++/CLI is that your syntax change between the languages is not that dramatically.

 

UE4 IDE is most likely written in  WPF, and what I have seen from the code videos is that they use C++ and C# code, so I highly doubt that VB has been used there.

Edited by NightCreature83

Share this post


Link to post
Share on other sites

For an editor I would actually pick C# and WPF, because writing and interface is easier in a managed language and it generally doesn't need the performance of native code. With C# you can interact with C++ through C++/CLI its really easy and does away with marshal calls between the two languages, you either define a ref class in C++ and instance it in C# or you instance a ref new C# class in C++/CLI.

 

WPF allows you to directly bind to objects so that when either the source property changes or the UI property changes value this is immediately activate on the other end (databindings).

 

WPF UI elements are built in Xaml and this looks a lot like HTML to create screens with, it comes with a WYSIWYG editor which also features an underwater mode in which you just write Xaml in text for if you want to.

 

The other benefit of using C# with C++/CLI is that your syntax change between the languages is not that dramatically.

 

UE4 IDE is most likely written in  WPF, and what I have seen from the code videos is that they use C++ and C# code, so I highly doubt that VB has been used there.

sounds great.But i haven't learn c# or clr before.Can you recommand some material(book,video[not youtube,or i must over the GFW])that describe how to connect the C++(core system) and the c#(interface)?

Share this post


Link to post
Share on other sites


UE4 IDE is most likely written in  WPF, and what I have seen from the code videos is that they use C++ and C# code, so I highly doubt that VB has been used there.

 

UE4's UI is written using their own UI called Slate running on top of thier rendering layer - so a port of the rendering engine leads to a port of the editor UI, which is handy.

 

A common approach is to use web technology, either through an embedded simple web server in your game or by embedding Webkit such as the Chromium Embedded Framework (other alternatives can likely be found through a search on these forums).

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!