2013-03-25 8 views
36

Ich habe vor kurzem angefangen zu lernen OpenGL (> 3.3) & Ich habe eine Menge von Beispielen & Tutorials beide Freeglut & glew bemerkt, aber nicht wirklich den Unterschied überhaupt erklären. Die beste Beschreibung, die ich gefunden habe, nach dem googeln & lesen ad nauuseum, war dies OpenGL Related toolkits and APIs aber fand es fehlt. Ich habe sogar die Tag-Informationen über SO gelesen.
Unterschied zwischen Freeglut vs Glew?

Als jemand wirklich neu zu OpenGL Ich versuche immer noch, ein Verständnis für die verschiedenen Konzepte zu bekommen. Ich bin auf die Bühne des Erstellens eines grundlegenden Programms gekommen, das glew verwendet, Kontext (auf Fenstern, VS2010), & zeichnet, wirklich grundlegende Formen, alle ohne die Notwendigkeit, Freeglut ausdrücklich einzuschließen. Also verstehe ich nicht, warum ich es brauchen würde.

Also meine Frage ist dann, was das ist Unterschied zwischen:
-freeglut
-glew
- (& GLFW)
Was man tun kann, dass die anderen nicht können ?

+3

Aber das ist es nur, wie ich schon gesagt habe, alle Beispiele und Tutorials, die ich gelesen habe usw., machen es einem ** Anfänger ** nicht wirklich klar, was sie tatsächlich tun, daher meine Verwirrung. Alle Beispiele verwenden Funktionen usw., geben aber nicht an, was man tun kann, und das andere kann dies nicht eindeutig sagen. – ReturnVoid

Antwort

44

Die OpenGL Extension Wrangler (GLEW) wird verwendet, um Zugriff auf die modernen OpenGL-API-Funktionen (Version 3.2 bis zur neuesten Version). Wenn wir eine alte Version von OpenGL verwenden, können wir auf die OpenGL-Funktionen zugreifen, wie zB #include <GL/gl.h>. Aber im modernen OpenGL werden die API-Funktionen zur Laufzeit bestimmt, nicht Kompilierzeit GLEW wird die Laufzeit Laden der OpenGL API.About GLEW here

GLFW oder freeglut sieht Griff wird uns ein Fenster erstellen lassen und erhalten Maus- und Tastatureingaben in einer plattformübergreifende Art und Weise. OpenGL verarbeitet keine Fenstererzeugung oder Eingabe, also müssen wir diese Bibliothek für die Handhabung von Fenster, Tastatur, Maus, Joysticks, Eingabe und anderen Zwecken verwenden.

GLFW und freeglut sind Alternative für uns nach unserem Bedürfnis wir irgendein wählen, können aber GLEW von ihnen verschieden ist, die für die Laufzeit Laden des OpenGL-API verwendet wird.

+1

@MichaelIV Ich habe meine Antwort bearbeitet –

2

Ich benutze beide für etwas Arbeit an meiner Universität.

GLEW ist eine "plattformübergreifende Open-Source-C/C++ - Erweiterungsladebibliothek" (von der Website), während freeglut ein Fenstermanager ist, der die GLUT-Bibliothek (GLUT = Standardglobal OpenGL Utility Toolkit) ersetzt.

Also, wie Sie sehen, haben beide unterschiedliche Zwecke. Der Punkt der freeglut ist, dass es nach wie vor gehalten ist, während die Standard-GLUT nicht der Fall, also wenn Sie Fehlerbehebung wollen und neue Funktionen sollten Sie es :)

+0

Also im Grunde könnte man sich einfach entscheiden, Freeglut von selbst zu verwenden? Oder glew selbst? Ohne eines von beiden. So haben beide von ihnen alle die erforderliche Funktionalität, warum beide enthalten? Wieder verstehe ich es nicht.Tut mir leid, wenn das wirklich dick klingt, aber ich tue es nicht, und die Tatsache, dass alle Beispiele, die ich gesehen habe, beide oder eine ähnliche Variante beinhalten, hilft nicht. – ReturnVoid

+0

Warte, GLEW ist C/C++ - spezifisch? Während Glut/Freeglut nicht? Bedeutet das, dass jemand, der C# oder .net ausführt oder etwas, das nicht C/C++ ist, GLEW nicht benutzen kann, sie müssten Schwemme oder etwas anderes benutzen? – ReturnVoid

+1

Sie müssen GLEW nicht verwenden, da es sich um einen Versionsmanager handelt (es stellt sicher, dass Sie die richtigen Versionen für Ihr Betriebssystem haben), aber es ist hilfreich. Sie können Freeglut auch entfernen, wenn Sie die Standard-GLUT verwenden möchten, aber dann werden Sie alte Software verwenden, da sie scheinbar verlassen wird ... – mrcasals