C++ Fragen zu SFML und OpenGL

LastChosenOne

Lt. Junior Grade
Registriert
Mai 2014
Beiträge
353
Hey Leute :)

und zwar spiel ich gerade mit SFML ein bisschen herum und hab da ein paar Fragen:

1. In Wikipedia steht folgendes: "Da das Framework für die Grafik auf OpenGL zurückgreift, können auch 3D-Anwendungen auf SFML basieren."
Jetzt möchte ich gerne wissen, ob SFML direkt von Anfang an auf OpenGL läuft (ohne irgendetwas zu machen oder eine Funktion aufzurufen oder ähnliches) oder ob es zuerst auf einen Software-Renderer läuft und eben durch z.B. eine Funktion dann erst auf OpenGL zugreift.

2. Wenn SFML direkt auf OpenGL zugreift, auf welche OpenGL-Version greift SFML dann zu?

3. Und wenn beispielsweise SFML jetzt auf OpenGL 3 basiert (rein theoretisch) und ich ein kleines Spiel programmiere und es auf einem älteren Rechner laufen lassen möchte, wo die GPU/Grafikkarte nur bis OpenGL 2 'unterstützt', dann würde das Spiel auch mit den Binarys und Librarys nicht laufen, oder würde es irgendwie (was für mich keinen Sinn machen würde, ich aber lieber nach frage) runter gestuft werden auf OpenGL 2? Das Programm würde eig. auf OpenGL 3 laufen, die Hardware/Treiber schafft/schaffen aber nur OpenGL 2 (veraltete Treiber, etc.), würde es dann in einer Art Kompatibilitätsmodus laufen?

Schon mal Danke für die Antworten, auch wenn (evtl) ein paar Fragen für euch blöd scheinen. ^^

:)
 
1) Ja, SFML macht alles per OpenGL.

2) Who knows? Ask the source, Luke!

3)
In der Doku für SFML 2.1 steht:
OpenGL versions above 3.0 are supported by SFML (as long as your graphics driver can handle them), but you can't set flags for now. This means that you can't create debug or forward compatible contexts; in fact SFML automatically creates contexts with the "compatibility" flag, because it uses a few deprecated functions internally. This should be improved soon, and flags will then be exposed in the public API.
Im Wesentlichen bist du derjeneige, der auf OpenGL zugreift; nicht SFML. SFML hilft dir eigentlich nur dabei, plattformunabhängig einen OpenGL-Kontext und Fenster zu erzeugen. Welche (OpenGL-)Version du benutzt, bleibt also auch im Wesentlichen dir überlassen.
 
2. Ich hab hald gehofft, dass es irgendjemand vor mir schon nachgesehn hat ^^

3. Inwiefern meinst du, dass 'ich' derjenige bin, der auf OpenGL zugreift? Dass ich direkt auf OpenGL programmieren kann ist klar, aber man kann auch Funktionen von SFML verwenden um z.B. eine Textur auf ein Objekt zu legen. Wird das dann auch über OpenGL direkt gemacht (durch der Funktion) oder wie läuft das dann?
 
Zurück
Oben