Skip to main content
GameDev.net gamedev.net
🔒 Locked

SFML 2.1

Started by Raymart Atienza Feb 3, 2014 at 1:55 PM 13 replies 4.2k views
Original Post
Raymart Atienza
Raymart Atienza

Hey guys, a question here... What can you say about SFML 2.1? Is it dependable and okay to use in games?

Enalis
Enalis

I've had no issues thusly with any of the modules. I would avoid their threading stuff now though, since c++11 threads are pretty good.

Douglas Eugene Reisinger II
Projects/Profile Site
LaboPie
LaboPie

I'm using them to make a project cross-platform for fun, having no problem on my mac and on my win system.

ProtectedMode
ProtectedMode

I've had no issues thusly with any of the modules. I would avoid their threading stuff now though, since c++11 threads are pretty good.

The downside to C++11 threads is that, as the name suggests, they're only available on C++11-enabled compilers.

alvaro
alvaro

I've had no issues thusly with any of the modules. I would avoid their threading stuff now though, since c++11 threads are pretty good.

The downside to C++11 threads is that, as the name suggests, they're only available on C++11-enabled compilers.

True, but since we are having this conversation in 2014, that should be OK. :)

There are many other good things in C++11 (smart pointers, for loops, move semantics...) and I strongly encourage people to transition to it.

BitMaster
BitMaster
Well, the problem with std::threads is that they are really not very well supported (at least on Windows).

You can pick MSVC (in which case you have std::thread, but miss out on quite a few other things normally included in C++11).

You can alternatively pick MinGW. The 'default' MinGW does not include std::thread and has no plans to support them in the foreseeable future. The alternative is a perfectly fine replacement but they also don't have the most performant implementation right now (pthread vs native constructs).

Of course, there are boost::threads which should be pretty much identical to the std version but work fine on every platform.

Edit: as to the original question: personally, I would either use either std::thread or boost::thread. I would not consider using SFML threads.

Edit 2: never mind, conflated a few threads in my head and should have skimmed it again before adding that.
BeerNutts
BeerNutts




Edit: as to the original question: personally, I would either use either std::thread or boost::thread. I would not consider using SFML threads.

That had nothing to do with the original question. SFML is a great API IMO. I would wholeheartedly recommend it to anyone using C++.

My Gamedev Journal: 2D Game Making, the Easy Way

---(Old Blog, still has good info): 2dGameMaking
-----
"No one ever posts on that message board; it's too crowded." - Yoga Berra (sorta)
serumas
serumas

For me in SFML there are several stupid things

its a int mixing with float in texture size(why these cast)

and

texture coordinates are defined in pixels (they are not normalized (between 0.0 and 1.0f), as people who are used to graphics programming would expect).

TheComet
TheComet




texture coordinates are defined in pixels (they are not normalized (between 0.0 and 1.0f), as people who are used to graphics programming would expect).

http://www.sfml-dev.org/documentation/2.1/classsf_1_1Texture.php#aa6fd3bbe3c334b3c4428edfb2765a82e

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty
BitMaster
BitMaster

texture coordinates are defined in pixels (they are not normalized (between 0.0 and 1.0f), as people who are used to graphics programming would expect).


Firstly, according to the TheComet's link to the documentation, using pixel or normalized coordinates is a choice. Secondly, since SFML has a strong focus on being a reasonable library for 2D game development, having a default value of pixel-based sounds extremely reasonable.
Azaral
Azaral

I use SFML 2.1 and I think it is fantastic. I use all parts of it and have not had any issues thus far.

serumas
serumas

texture coordinates are defined in pixels (they are not normalized (between 0.0 and 1.0f), as people who are used to graphics programming would expect).

http://www.sfml-dev.org/documentation/2.1/classsf_1_1Texture.php#aa6fd3bbe3c334b3c4428edfb2765a82e

what about veretex, are there normalized texture coords? Think no , becouse I just copied that sentence directly from them documentation. Or its only in new version?

TheComet
TheComet

texture coordinates are defined in pixels (they are not normalized (between 0.0 and 1.0f), as people who are used to graphics programming would expect).

http://www.sfml-dev.org/documentation/2.1/classsf_1_1Texture.php#aa6fd3bbe3c334b3c4428edfb2765a82e

what about veretex, are there normalized texture coords? Think no , becouse I just copied that sentence directly from them documentation. Or its only in new version?

What do you mean?

I've constructed a manual mesh in SFML before and the UV coordinates were always normalized. It's how graphics cards work.

And besides, you can just convert between them by dividing/multiplying by the width/height of the image.

"I would try to find halo source code by bungie best fps engine ever created, u see why call of duty loses speed due to its detail." -- GettingNifty
pinchz
pinchz

I use SFML 2.1 as my primary C++ windowing library for OpenGL programs, and I quite like it. It requires no boilerplate because it uses RAII, which I really appreciate.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.