Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: Comparison SFML vs SDL -> GUI and OGRE3D  (Read 25307 times)

0 Members and 1 Guest are viewing this topic.

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Comparison SFML vs SDL -> GUI and OGRE3D
« on: September 07, 2012, 03:22:23 pm »
Hello,

i'm a complete beginner in "Game" programming and watching SFML for a while...
Made a complete SFML - UML Model to understand the system (already modified  ;D) better.
SFML works like a charm so far. But now i want to look at 3D. At the moment i try to make a UML Model of Ogre3D.. hahaha what a crazy complex System....  :'(
But there are still some Questions open.
On the side i compare some libs. In the attached picture is my actual status.
Maybe someone did the research already or has the same questions.



[attachment deleted by admin]
« Last Edit: September 07, 2012, 03:24:53 pm by noobie »

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10800
    • View Profile
    • development blog
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #1 on: September 07, 2012, 04:02:25 pm »
But there are still some Questions open.
On the side i compare some libs. In the attached picture is my actual status.
Maybe someone did the research already or has the same questions.
I don't really understand what you want to achive with that post... ???

I mean it's quite easy to find a feature list of each and every library you can think of and whatever is missing on that feature list and exists in another list can be added as not supported.

Every other comment is mostly personal and can be seen diffrently for other people, e.g. I don't really agree on the TGUI/SFGUI bullet points. ;)

So again I'm wondering, what exactly are you trying to achive with your post?

As for your UML diagrams; most of the libraries support doxygen-like comments and thus it's possible to generate a full blown documentation (like the one SFML has) with just a few clicks and they are imho way more informative than some diagrams. ;)
Doxygen even generates inheritances diagrams on it's own, so you can also get an overview on how things are connected.
« Last Edit: September 07, 2012, 04:29:42 pm by eXpl0it3r »
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

FRex

  • Hero Member
  • *****
  • Posts: 1845
  • Back to C++ gamedev with SFML in May 2023
    • View Profile
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #2 on: September 07, 2012, 04:24:59 pm »
Why are things like 'one developer' '(...) commercial products' 'no sfml support' 'cheap piece of crap' in (what I assume are) downsides and upsides?
Back to C++ gamedev with SFML in May 2023

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #3 on: September 07, 2012, 04:45:26 pm »
For 3D programming, I started with Ogre. It was a giant mess, even the Hello World came with this configuration dialog and much unneeded stuff. The compile times were enormous (almost one minute for Hello World), apparently the developers didn't care about header dependencies. My first impression couldn't be much worse, so I took a look at an other library.

Irrlicht was quickly installed. The whole library is much more lightweight, the all-including header requires only a few seconds to compile. Although there are some points I don't like (naming inconsistency, manual reference counting), the API is generally nice and easy to learn. I have been able to get results in a short time. Up to now I have been quite satisfied with the features, but I haven't written a complex game with it yet.

Note that there are many alternatives, you could also take a look at full-fledged game engines like Unity, it all depends on your needs and preferences.

By the way, your table is grossly incomplete and compares questionable points.
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development:

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #4 on: September 07, 2012, 04:50:02 pm »
Hi, eXpl0it3r

as excpected the first reply from u :).
I created the UML by myself because i have no good experience with automated generated UML's.
And plus: my learning curve is steeper by copy paste the code, read the header files, reorganise the system and handle problems/Errors. Just my personal taste.

For what the post? in the last 2 months i read threads about SFML vs SDL, Ogre3D vs Irrlicht and GUI Systems.
But still i cannot make a decision.
The graphic in the attachment is my actual knowledge status.
Sure every answer is personal. Thats what i want.

e.g.
Quote
I don't really agree on the TGUI/SFGUI bullet points
Why? Its just my current information, or correctly: my current questions. Personaly i tend to TGUI because of images. But its still heavy under development.

- SFML is great but not  for 3D games
- Ogre3d is great for 3D rendering but is the OIS Input better then SFML ... i cannot see a serious window handling oder thread system in Ogre? it seems they plan a better version for 1.8 - 1.9 ?
- I like SFML for the input system the window handling, audio and the easy to read code
- I dont like SDL just because its C

So pls give me your personal attitude ;) Any experience with 3D libs?

@FRex
One Developer means: if this person e.g Texus loose the interest or motivation the lib is meaningless?
The same for SFML ;) -> so disadvantage

If a lib is used for commercial products u can be sure that the lib works great and is getting support from their developers. I can see this at SDL and Ogre3D. Ogre3D meanwhile gets good feedback and support from professional developers (just look in the forums). e.g. HellHeavenFX Ogre Plugin http://www.ogre3d.org/forums/viewtopic.php?f=11&t=70299 -> so advantage

I tried the new SDL 2.0 but i looks like the updates comes slowly and the tutorials too.

@Nexus
Quote
The compile times were enormous (almost one minute for Hello World), apparently the developers didn't care about header dependencies. My first impression couldn't be much worse, so I took a look at an other library.
Same as me. Actually i try to split the core by myself. :( The core is insanely complex!

Quote
you could also take a look at complete game engines like Unity, it all depends on your needs and preferences
Yeah. Unity give u all for nothing ;) . I am still a programmer and like it to code things by myself and have full control.

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10800
    • View Profile
    • development blog
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #5 on: September 07, 2012, 05:14:40 pm »
For what the post? in the last 2 months i read threads about SFML vs SDL, Ogre3D vs Irrlicht and GUI Systems.
But still i cannot make a decision.
Well that highly depends on what you want to do... ;)
For most of the beginners I'd advise to start with SFML, because if you think you know C++ then make a few 2D games with SFML and you'll soon notice how less you know about C++ and you'll also experience that programming a game isn't just programming, but way more planing and creating graphics.
Later on if you feel really established in C++ and game programming, you can still use SFML but make all the drawings with OpenGL directly, thus you get the possibility to draw 3D objects.

- SFML is great but not  for 3D games
- Ogre3d is great for 3D rendering but is the OIS Input better then SFML ... i cannot see a serious window handling oder thread system in Ogre? it seems they plan a better version for 1.8 - 1.9 ?
You can't really compare SFML and Ogre3D.
SFML is a library that provides functionalities for multimedia things, where as Ogre3D is a 3D render engine. Thus the tasks are completly diffrent and can't be compared. If you want to use SFML, you either have to write your own engine around it, or use existing engines that use SFML (not sure if such projects exist) or use an engine that lets you create your own renderer for which you then could use SFML (to some parts).

Why? Its just my current information, or correctly: my current questions. Personaly i tend to TGUI because of images. But its still heavy under development.
Like I said the points you listed reflect personal preferences and experience. E.g. you list 'active development' and 'fast bug fixes' for TGUI, but not for SFGUI. That's just because you don't know enough about SFGUI's development. ;)
Also TGUI is by far not faster than SFGUI. The one developer of SFGUI is constanty fine tuning the render engine and the whole load gets spread equally one CPU and GPU (you can find some more information in the forum somewhere about that).

- I dont like SDL just because its C
I agree! ;D

One Developer means: if this person e.g Texus loose the interest or motivation the lib is meaningless?
The same for SFML ;) -> so disadvantage
In general most probably, but I don't think a project like SFML would just die if Laurent wouldn't want to work on it anymore. ;)

If a lib is used for commercial products u can be sure that the lib works great and is getting support from their developers. I can see this at SDL and Ogre3D. Ogre3D meanwhile gets good feedback and support from professional developers (just look in the forums).
One can not say that in general.
A lot of very crappy code gets used in commercial products. I guess it very often also depends on advertising and lots of other factors.
Also if SFML gets used in commercial products they don't need to specify and if it gets linked statically we may never know, where as the old versions of Ogre3D and SDL used a LGPL license and thus many developers just linked dynamically and everybody got to know what was used.

Yeah. Unity give u all for nothing ;) . I am still a programmer and like it to code things by myself and have full control.
Well then don't look at Ogre3D nor Irrlicht, they are both render engines and take away quite a bit of control. :P
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #6 on: September 07, 2012, 05:49:29 pm »
as mostly a good answer. -_-

i agree:
- SFML is a good start
- clearly you can not compare ogre and sfml ....
- in know ogre3D is "just for 3D rendering"! ;) But in the meanwhile it gives components for it that supports all needed 2D drawings for a GUI (Gorilla(and 3D),MyGUI,CEGUI)
- Ogre 3D needs Threads -> so it support Threads... But here i think SFML do it better? SFML do it with the "half" sized code and do what it should do ....
- The window system in Ogre is as far as i tested buggy as hell .... With SFML i had no problems :)
-
Quote
A lot of very crappy code gets used in commercial products
I agree! ;) Self produced  ;D
- i havent tested OIS so far but much ogre users try to use other input systems. Dont know why? so i think SFML's Input system is better?


Result:
The best way to make a structured engine code would be to use SFML for:
- Input
- Windows
- Audio
- System Functions
Ogre for:
- 3D rendering
Network:
- Open ....

 :)

@eXpl0it3r
it seems u are a SFML Fan? ;) Me too!
I just try to get in the 3D sector. Write a 3D Engine by myself is a no go ....
I just want (i think the most) the best possibly combination for:
- easy to read/understandable code
- good performance
- portability

 ;D

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10800
    • View Profile
    • development blog
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #7 on: September 07, 2012, 06:15:19 pm »
Ogre for:
- 3D rendering
...
I just try to get in the 3D sector. Write a 3D Engine by myself is a no go ....
I just want (i think the most) the best possibly combination for:
- easy to read/understandable code
- good performance
- portability
I'd then use Irrlicht, as Nexus said it's lighter and for most parts better coded.

Network:
- Open ....
You know that SFML does also network stuff? ;)
Otherwise you probably can't find something better than boost ASIO regarding portability.

@eXpl0it3r
it seems u are a SFML Fan? ;) Me too!
Well I wouldn't call myself a fan (never been fond of that term ;D ), but I think SFML is (probably) the best multimedia library. Otherwise I probably wouldn't invest that much time in helping others get to know SFML better. :)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #8 on: September 07, 2012, 06:29:49 pm »
Quote
You know that SFML does also network stuff?
Don't open that door ;)

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10800
    • View Profile
    • development blog
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #9 on: September 08, 2012, 02:13:46 am »
Don't open that door ;)
But I like open doors better than closed ones. :P
I guess you have some bad experience with SFML's network part?
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #10 on: September 08, 2012, 03:00:06 am »
Quote
I guess you have some bad experience with SFML's network part?

No. Didnt use it till now.

I have to process other chunks first.

e.g.
- take a look at Irrlicht :P
- the GUI
- learn that stuff
- find a game idea to test my skills , hehe
....

But what i know about SFML networking till now:
- its fast and simple :P
- no IOS support


noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #11 on: September 18, 2012, 11:02:30 pm »
Here are my actual progress with Ogre3D and SFML.

Irrlicht:
- i cannot say why i dont like it.
Maybe just because Ogre is more popular, has its own file format, much render optimations, much more tools and plugins....

SFML:
- Cant use the SFML Window System and makes no sense. Ogre has more features and platforms.
- Even if i would use the Window System i couldn't because the SFML Window is derived from the GL Context . In Ogre the Windows are generated from the RenderSystems like GL,D3D,GLES etc.
- The InputSystem OIS just needs the WindowHandle but uses DirectInput (Seems they change it in the next Version). Here still i like the SFML Input System more.
- Actual i think i use the SFML Keyboard, Mouse,Joystick and maybe later the IOS Touch from OIS if its possible.
Here it would be great if the SFML Input could be seperated from the window System and just needs a Window Handle? 8)

Ogre:
- GUI -> here it uses a Overlay System, still dont know how SFML can fit in here
- got the Core(namespaces,lib organisation) so far that i can load a mesh(still no material, animations)

this bad little purple viewport and white ogre head in the attachement was hard work!
I nearly destroyed the Ogre Core and putted it together like a puzzle (How stupid).

Because its just a "hobby" and i try to keep my motivation up i need such eye candys :)

[attachment deleted by admin]

eXpl0it3r

  • SFML Team
  • Hero Member
  • *****
  • Posts: 10800
    • View Profile
    • development blog
    • Email
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #12 on: September 18, 2012, 11:33:05 pm »
- Actual i think i use the SFML Keyboard, Mouse,Joystick and maybe later the IOS Touch from OIS if its possible.
I guess you mean iOS. SFML doesn't support iOS nor touch 'events'...

Here it would be great if the SFML Input could be seperated from the window System and just needs a Window Handle?
I'm not quite sure why you really want to use SFML here, but use other stuff for rendering. I'd say either use A or B, but don't try to mix everything together other wise you'll end up in a hugh code mess with many many dependencies and one might not want to work with the other.
Sure one can use things that are meant to fit together or are generic enough to work with anything, but trying to force library X to work with library Y just because X has one small feature doesn't make much sense to me.
I'm not sure how the sf::Mouse/sf::Keyboard/sf::Joystick are implemented underneath, you might be able to just use them without the need of window and maybe you could even take them out of the library and build your own little one or build it directly in your application. SFML is under the MIT license so feel free to do whatever you want. ;)
Official FAQ: https://www.sfml-dev.org/faq.php
Official Discord Server: https://discord.gg/nr4X7Fh
——————————————————————
Dev Blog: https://duerrenberger.dev/blog/

noobie

  • Newbie
  • *
  • Posts: 22
    • View Profile
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #13 on: September 18, 2012, 11:53:49 pm »
Hello my swiss neighbor eXpl0it3r.

Quote
I guess you mean iOS. SFML doesn't support iOS nor touch 'events'...
I know SFML don't support the IOS(iPhone OS). So i thought to use the OIS(Object Oriented Input System) for IOS Touch.
But i read in other posts, that laurent is planning for -> "3.0 +" IOS support. It would be nice, but we cannot be sure ;)

Quote
I'm not sure how the sf::Mouse/sf::Keyboard/sf::Joystick are implemented underneath, you might be able to just use them without the need of window
I am sure its possible, but see it as a feature request and better modular Desgin :P
I think others could need it too?

Nexus

  • SFML Team
  • Hero Member
  • *****
  • Posts: 6286
  • Thor Developer
    • View Profile
    • Bromeon
Re: Comparison SFML vs SDL -> GUI and OGRE3D
« Reply #14 on: September 18, 2012, 11:59:55 pm »
I am sure its possible, but see it as a feature request and better modular Desgin :P
I think others could need it too?
What eXpl0it3r probably meant is that these three classes may already now be independent of a window. And as far as I remember, Laurent designed them with this aspect in mind.

The events (sf::Event) however are window-dependent, but they only make sense inside a window.
« Last Edit: September 19, 2012, 12:23:51 am by Nexus »
Zloxx II: action platformer
Thor Library: particle systems, animations, dot products, ...
SFML Game Development: