Ich muss noch eine gute Ressource finden, die kein GLUT als Back-End enthält. Sicher gibt es die Nehe-Tutorials, aber ich finde diese ein bisschen unklar. Es verwendet die Win32-API, möchte aber eine plattformübergreifende Entwicklung durchführen. GLUT ist etwas für Windows als die anderen 2, obwohl es plattformübergreifend sein soll. Was sind einige gute Ressourcen, die OpenGL ohne GLUT lehren? Und bitte nicht FreeGLUT vorschlagen, das ist einfach nur GLUT von vorne.
Ich sehe nicht, wie FreeGLUT mehr auf Windows ausgerichtet ist als jedes der anderen gängigen Betriebssysteme - die API ist plattformübergreifend, und FreeGLUT ist ein sehr stabiles Projekt, das gut auf den Betriebssystemen funktioniert, die es zu unterstützen verspricht . Auf welcher Grundlage stützen Sie diese Behauptung? Das heißt, Sie könnten SDL oder JogAmp verwenden APIs. Letzteres ist jedoch in Java geschrieben, aber wenn Sie sich so um die Unterstützung plattformübergreifender Unterstützung ohne eine Neukompilierung des Quellcodes sorgen, sollten Sie die Programmierung in Java in Betracht ziehen. Die JogAmp-APIs unterstützen OpenGL, OpenCL, OpenMAX und unterstützen leichte native Windows. Daher sollte die Leistungseinbuße nicht sehr drastisch sein. Darüber hinaus bietet JOGL Unterstützung für verschiedene OpenGL-Profile und erleichtert die Auswahl der OpenGL-Mindestversion, die Sie in Ihren Anwendungen unterstützen möchten.
Am wichtigsten ist, dass Sie bereits verstanden haben, dass OpenGL nicht an GLUT gebunden ist. Und ja, all diese OS-spezifischen Dinge selbst zu tun, wird mühsam.
Ich empfehle Leuten jetzt, GLFW Ссылка zu verwenden, ein exzellentes OpenGL-Framework mit gründlicher Unterstützung für OpenGL-3 und eingebautem Erweiterungslademechanismus. Anstatt wie GLUT eine Blackbox-Ereignisschleife zu haben, gibt Ihnen GLFW die volle Kontrolle darüber, wie Ereignisse verarbeitet werden.
Sobald Ihre Anforderungen fortgeschrittener sind, können Sie am Ende Ihr eigenes Framework schreiben, aber für die meisten Projekte ist GLFW eine ausgezeichnete Wahl.
Und natürlich die meisten traditionellen Toolkits wie GTK +, Qt, wxWidgets, Fox ... bieten ein OpenGL-Widget.
Sieh dir den Code von Ссылка
anEs initialisiert und verwendet OpenGL ohne Überladen oder andere Bibliotheken. Windows, Mac und Linux wird unterstützt.
Mir ist klar, dass es Gründe dafür gibt, keine anderen Bibliotheken zu benutzen ... Alle anderen Antworten versuchen, dich dazu zu bringen, andere Bibliotheken zu benutzen.
Ich nehme an, diese Antwort macht das gleiche, aber zumindest wirst du den Code haben. Alles ist public domain.