SDL ung OpenGL mögen kein tee
-
#include <stdlib.h> #include <SDL/SDL.h> #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> void setup_SDL_GL(int width, int height) { if(SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, "SDL konnte nicht initialisiert werden: %s\n", SDL_GetError()); exit(1); } atexit(SDL_Quit); SDL_Surface *display; SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); display = SDL_SetVideoMode(width, height, 16, SDL_OPENGL | SDL_DOUBLEBUF); if (display == NULL) { fprintf(stderr, "Konnte kein Fenster oeffnen: %s\n", SDL_GetError()); exit(1); } glClearColor(0, 0, 0, 0); glViewport( 0, 0, width, height ); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, static_cast<float>(width)/height, 1.0, 1024.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void drawScene() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glColor3f(1,1,1); glTranslatef(0, 0, -10); glutWireTeapot(1); SDL_GL_SwapBuffers(); } int main() { setup_SDL_GL(800, 600); drawScene(); SDL_Delay(2000); }
dieser code zeigt bei mir keinen teapot an
angeblich hat er aber bei wem anderen funktioniert... wo ist der fehler? ich seh nur ein schwarzes fenster.
-
Bin mir nicht sicher, ob du die glut nicht dem SDL bekannt machen musst.
SDL_GL_LoadLibrary() heißt das glaub ich..
Ansonsten schau, ob das ding nicht einfach außerhalb des sichtbaren Bereichs liegt
-
Hi,
als ich mal mit der glut-lib rumgespielt habe, gingen auch nur der Ball und die Box. Den Teapot wollte er auch nicht machen.
-
ich konnte das problem genauer eingrenzen und habe rausgefunden, dass es viel allgemeiner ist. das heisst alle programme die ich auf meiner kiste mit SDL + OpenGL kompiliere zeigen nur ein schwarzes bild an. der satz ist sehr genau auszulegen.. es sind wirklich nur programme betroffen, die ich kompiliert habe.
ein beispiel:
das gltron, das ich mit apt-get installiert habe funktioniert... die version die ich selber kompiliert habe zeigt nur ein schwarzes fenster und spielt musik... gltron für blinde sozusagen.
sdl ansonsten funktioniert, nur das zusamenspiel sdl & ogl nicht. ich habe sowohl die mesa libs als auch sämtliche sdl libs mehrfach neu installiert und sogar selber aus den offiziellen sources kompiliert... alles hilft nichts. ich raufe mir mal ein bisschen die haare und schlage meinen kopf gegen die wand. achja, ums noch lustiger zu machen. wenn man ogl dynamisch ins programm lädt gehts...HIIILFE!!!
-
hmm..
also ich nutze standard oGL und hab damit keinerlei Probleme. Allerdings müsste man sich da den Teapod selber basteln.
-
japro schrieb:
wenn man ogl dynamisch ins programm lädt gehts...
hab zwar keine ahnung von sdl auf linux, aber vielleicht mußt du die oGL libs ins make irgendwie einbauen.
rapso->greets();
-
japro schrieb:
ich konnte das problem genauer eingrenzen und habe rausgefunden, dass es viel allgemeiner ist. das heisst alle programme die ich auf meiner kiste mit SDL + OpenGL kompiliere zeigen nur ein schwarzes bild an. der satz ist sehr genau auszulegen.. es sind wirklich nur programme betroffen, die ich kompiliert habe.
Kann es sein, dass du die neuesten NVidia Treiber drauf hast? Ich habe das selbe Problem mit den neuesten NV Treibern + GF 6600 GT.
Ich habe das Gefuehl, dass es ein Bug im GLSL Core von NV ist. Werde es heute Abend mal ohne Shader probieren.
-
SnorreDev schrieb:
Kann es sein, dass du die neuesten NVidia Treiber drauf hast?
Im Prinzip kann es alles Mögliche sein. Zum Beispiel den Monitor nicht eingeschaltet.
Bye, TGGC (Wähle deine Helden)
-
TGGC schrieb:
SnorreDev schrieb:
Kann es sein, dass du die neuesten NVidia Treiber drauf hast?
Im Prinzip kann es alles Mögliche sein. Zum Beispiel den Monitor nicht eingeschaltet.
Bye, TGGC (Wähle deine Helden)
Dann wär's kein schwarzes Fenster.
-
SnorreDev schrieb:
Kann es sein, dass du die neuesten NVidia Treiber drauf hast? Ich habe das selbe Problem mit den neuesten NV Treibern + GF 6600 GT.
Ich habe das Gefuehl, dass es ein Bug im GLSL Core von NV ist. Werde es heute Abend mal ohne Shader probieren.
den neusten den man über apt-get bekommt. ich habe eine gf2gts.
TGGC: genau, ich habe jedesmal bevor ich mein programm gestartet habe den bildschrim abgeschaltet... was genau soll dieser wertlose kommentar irgendwem bringen. das war nichtmal lustig.
-
japro schrieb:
was genau soll dieser wertlose kommentar irgendwem bringen.
Genau das gleiche wie irgend'ne andere geratene Antwort?
Bye, TGGC (Wähle deine Helden)
-
Ein bisschen sarkasmus (is sicher falsch gschrieben aber ...) kann nie schaden!
Außerdem find ich du solltest TGGC nicht böse sein denn jeder hier kann nur mit seine eigenen Erfahrungen versuchen das Problem zu lösen!MFG Manuelh87
-
TGGC schrieb:
japro schrieb:
was genau soll dieser wertlose kommentar irgendwem bringen.
Genau das gleiche wie irgend'ne andere geratene Antwort?
[/url])Nein, normalerweise haben "andere geratene Probleme" mindestens ansatzweise auch etwas mit dem urprünglichen Problem zu tun. Dein Geblubber hat jetzt mal wieder überhaupt gar nichts gebracht, außer dass jetzt eigentlich alle Posts nach Deinem einfach gelöscht werden könnten (inkl. diesem).
Das ist ja schon passiert (u.a. in genau diesem Thread) aber leider bist du immer noch zu merkbefreit um das selbst zu registrieren.
-
DrGreenthumb schrieb:
Dein Geblubber hat jetzt mal wieder überhaupt gar nichts gebracht
Was relativ gesehen schon ziemlich viel ist.
Bye, TGGC (Keine Macht den Dummen)
-
Also wenn du so schlau bist wie du auf der seite tust und du als schlauer deine aufgabe darin siehst dummen fragen dumme antworten zu geben ist mir das ja grundsätzlich egal (obwohl ich denk das es klüger wäre auf eine frage die einem dumm erscheint einfach NICHT zu antworten denn endlose flames bringens auch ned..) aber bitte was war an der Frage dumm?? Weißt dus warum es sich so verhält dann klär uns auf du großer meister... oder is vielleicht doch ned so weit her mit deiner genialität die es dir erlaub über alle anderen fragen zu richten ob sie dumm oder gerechtfertigt sind?
Ich persöhnlich finde deine seite auch sehr überheblich denn wer darf schon von sich behaupten das er so extrem Schlau ist das er über dumm und gerechtfertigt entscheidet. Eine Tip hab ich noch: geh einfach nicht zu einem Forum dann musst du dich nicht mit "dummen" Fragen herumschlagen
Ich muss mich entschuldigen das ich dir, japro, leider nicht helfen kann; aber die meisten habens echt probiert, du solltest dir solche dummen flames nicht zu herzen nehmen
viel erfolg noch
mfg Manuelh87
-
Definiere Flamen.
Bye, TGGC (Wähle deine Helden)
-
nein tu's nicht.
lasst das OT doch einfach sein und bleibt lieber dabei das problem des topicstellers zu lösen.
rapso->greets();
-
mit SDL kann man ohne Windows-Verknüpferei OpenGL zusammenbringen???
Und denn ganzen Quellcode praktisch plattformunabhängig machen?
Kann man mit SDL auch so krasse Fensterapplications machen??????
????
??????
??
????
-
-
ja dort bin ich schon gewesen, nur isses a bissl schwer vom englischen ins deutsche interpretieren zu lassen. ich leide etwas unter zeitknappheit *g*
"SDL ist eine freie Plattform-übergreifende Multimedia-Programmierschnittstelle (API) für Multimedia-Anwendungen"
Multimedia-Anwendungen ist doch sowas wie Fenster, Dialoge usw...???