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

Author Topic: Should I try to adjust SFML or use OpenGL? Missing some 3D features.  (Read 2313 times)

0 Members and 1 Guest are viewing this topic.

ThreeDumps

  • Newbie
  • *
  • Posts: 34
    • View Profile
Hello,

I would like to create a simple project which requires a couple of 3D features.

Basically I need:
1. 3D camera (orthographic)
2. 3D polygons
3. Heightmap

Should I try to adjust SFML? How hard it may be from your experience? Or maybe it would be better to go with pure OpenGL? I really like simplicity of SFML, maybe you know something similar for 3D with mentioned functionalities? 
« Last Edit: May 13, 2019, 08:21:04 pm by ThreeDumps »

binary1248

  • SFML Team
  • Hero Member
  • *****
  • Posts: 1405
  • I am awesome.
    • View Profile
    • The server that really shouldn't be running
The reason why SFML doesn't try to "do 3D" is because it is way more complex than it might seem to beginners (i.e. a big chunk of the SFML userbase). Too many unhealthy compromises would have to be made to establish a lowest common denominator. 2D graphics hasn't really changed much in the past 30 years, 3D graphics on the other hand...

When I wrote 3DEE I never really meant for it to gain any realistic traction. It was more of a proof of concept that the existing SFML concepts could be extrapolated into another dimension. It might have been usable for a tiny amount of people, but for the majority who are serious about working on a long-term 3D project, it was just never enough, by design.

SFML provides enough OpenGL support that many people have successfully employed SFML for window management, input, audio and of course OpenGL context management. Anything graphics related is then built fully custom for the project on top of the OpenGL layer.

The concepts you listed are some of the most basic concepts that any 3D graphics programmer should understand, and be able to implement themselves if need be. Realistically any library that would provide helpers for those concepts are only going to save you a few hours of work if you are already familiar with 3D graphics programming. The important thing to note is that one should not use such helper libraries as black boxes in order to not have to understand the underlying concepts. Everything is so interconnected that any holes in one's knowledge will seriously hinder progress later down the road.

Familiarize yourself with OpenGL and 3D graphics programming, from the beginning to whichever point you feel is necessary to realize the project you have in mind. You can use SFML as a base for the lower level stuff along the way.

You might have seen this already, but this video is a good example of what can be done in SFML with enough knowledge and effort.

SFGUI # SFNUL # GLS # Wyrm <- Why do I waste my time on such a useless project? Because I am awesome (first meaning).

ThreeDumps

  • Newbie
  • *
  • Posts: 34
    • View Profile
Thanks for reply. This whole post was exactly what I was looking for.