SDL to SFML
#1
SDl. The 2D graphics rendering library of AC. Used to draw the HUD and menus. Software accelerated, very well documented(as in thousands of tutorials, books, a lot of source code examples, and a mailing list), hasn't been updated in a while, does not support(or makes it slow) "newer" things, like alpha, post effects, image rotation(twirly menus, yay!), has audio, and networking libs, portable, and it is written in C, a non-object oriented language.

SFML. Another 2D graphics renderer. Not used in AC at the moment. Hardware accelerated, documented, but less than SDL(few tutorials, few source code, but forum replies are fast and sometimes even done by SFML creator Laurent), updated, supports alpha transparency, supports post effects, supports image rotation, has audio and netowrking libs, portable, it is written in C++, an object oriented language. Also, its a front end for openGL, and it is simpler(faster development), and it requires runtime linking.

Basicaly point is that its faster.

Benchmark: http://www.sfml-dev.org/forum/viewtopic.php?t=43
Home page: http://www.sfml-dev.org/
Forum: http://www.sfml-dev.org/forum/
Thanks given by:
#2
Sounds awesome
Thanks given by:
#3
I dont see your point.
Thanks given by:
#4
(07 Aug 10, 01:53AM)DrauL Wrote: I dont see your point.


SDL the one used in AC:
Quote:does not support(or makes it slow) "newer" things, like alpha, post effects, image rotation(twirly menus, yay!), has audio, and networking libs, portable, and it is written in C, a non-object oriented language.

SFML, the one Hearty suggests to use in AC:
Quote:supports post effects, supports image rotation, has audio and netowrking libs, portable, it is written in C++, an object oriented language. Also, its a front end for openGL, and it is simpler(faster development), and it requires runtime linking.
Thanks given by:
#5
Ohhh. So its better and he thinks we should upgrade. :)
I get it :D
Thanks given by:
#6
Nice Shot :D
Thanks given by:
#7
How exactly is SDL used in AC I don't know, but it's very well possible to use hardware acceleration (OpenGL) with SDL.

And like you said, it's used to draw the HUD and menus. So you could add fancy post-processing effects and alpha transparency to the menus and the hud, and render them faster... I sincerely doubt that would be worth the effort. Is faster HUD/menu rendering going to improve the gameplay?

I hope you understand that this kinda change would require major reworking of the engine for very little gain.

Quote:it is written in C++, an object oriented language
I found this quite funny.
Thanks given by:
#8
Hearty, well at the moment not that much games are using it, or? (At least I nearly saw no game in my distro´s repos). Do you have to include larger libraries to your project or is it as big as SDL is? I see there are binaries for Win, Mac and Linux. Do most distrobutions support SFML (or include it in their repos)? Are other Unix based OS´supported?
Thanks given by:
#9
SFML: When a normal "FML" isn't dramatic enough.
Seriously FML. Get one today.
Thanks given by:
#10
Using OpenGL with sdl is hard compared to using sfml, and sfml provides all the speed.
Why should AC not upgrade it's HUD to make it more intuitive?
And wouldn't using an easier library like SFML make the development faster?

"are other unix like OSs supported?"
Assault cube is available for download only for Mac windows and Linux.
SFML is new, so of course there aren't many games using it.
Thanks given by:
#11
IMHO I see no points "upgrade" to SFML as SDL is only used for making screenshots (AFAIK).
Thanks given by:
#12
(07 Aug 10, 11:33PM)Hearty Wrote: Using OpenGL with sdl is hard compared to using sfml, and sfml provides all the speed.
Why should AC not upgrade it's HUD to make it more intuitive?
And wouldn't using an easier library like SFML make the development faster?
The thing is...
Why would you need the speed for drawing the hud/menus?

How would using SFML make the HUD more intuitive (I doubt transparency and postprocessing or whatever effects will do that)?

And I doubt SFML seriously is that much easier, SDL is pretty easy in my opinion.

Like I said, better or not, I honestly doubt it's worth the effort changing to another library. It would only make it harder as you'd have new bugs to fix and what have youse, not to mention the fact that, like you said, SFML isn't all that well-known as of yet. There's the lack of documentation and whatnot, but on top of that, I doubt any of the devs even know SFML... though I'm just guessing.
Thanks given by:
#13
JMM - you nailed it!
Thanks given by:
#14
Hmmmmmmmmmmmmmmmmmm......


I shall drop it, delete this thread it is a blemish on my honor.

[Image: samurai-warrior-costume.jpg]

Seriously though
I suppose that makes sense since ac is mainly 3d, and adding menu things to make it more intuitive doesn't require a faster library, or even a menu, it could be as simple as adding more undo spaces.
I wonder if cube2 uses sfml?
Thanks given by:
#15
No, it doesn't. SDL too. The main improvement is the use of octree over heightfields, it also has a considerable heavier demand on resources - AC is geared toward the low end of the spectrum!
You're not very familiar with the cube-engine-family in general and with this project in particular - you should take some time to get to know this corner of the interwebs!
Thanks given by:
#16
Flowtrons last post isn't very clear, octree is faster than height fields, duh. sDL does what too? It's fast and heavily optimized?
The cube engine is simple to understand, 2d "list" of all the cubes and their values, when drawing it merge similar subs together, or something like that.
Thanks given by:
#17
I can read feature lists too, you know. Unless you have a tangible example of how much better sfml would make ac, I don't see a need even considering this.

Cube2 has modern features running at great speeds, and it uses SDL - so even if we wanted fancier graphics (wich we don't really) - it would still be much easier and faster to backport elements from cube2 than working with a new library. As long as eihrul (our beloved ac-engine and cube2 code wizard) is fine developing cube2 with sdl, I see no need for AC to use anything diffrent.

Feel free to prove me wrong and give me a binary using sfml :P
Thanks given by:
#18
I already said drop it makke!
Thanks given by:
#19
that benchmarks are nice but it has no sense to rebuild something what works now, if i would start project i would think about it
Thanks given by: