Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 00:48

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Apr 01, 2006 21:27 
Offline
DGL Member

Registriert: Mo Jan 09, 2006 17:31
Beiträge: 37
(C++ / SDL) Hallo Leute! Ich muss euch wieder mal nerven.. und zwar wechsle ich in SDL zum Vollbildmodus und wieder zurück. Wenn ich das programm starte wird OpenGl und alles initialisiert, der Bildschirm wird mit einigen 100 FPS gerendert. Wenn ich dann F9 zum Wechsel drücke seh ich danach allerdings nur mehr die leeren Quads ohne Texturen. ich setze nach dem Wechsel einfach nochmal meinen Orthomodus (ansonsten gibts Darstellungsfehler)

Code:
  1.        glMatrixMode(GL_PROJECTION);
  2.                 glLoadIdentity();
  3.                 glOrtho(0, WinWidth, WinHeight, 0, 0, 90);
  4.                 glMatrixMode(GL_MODELVIEW);
  5.                 glLoadIdentity();


Render-Schleife

Code:
  1.  
  2.     while (!done) {
  3.  
  4.         glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
  5.         Check_Events(); // Hier wird auf Tastendrücke (auch auf den Vollbildschirmmodus-wechsel reagiert
  6.  
  7.          /* unwichtige Berechnungen */
  8.  
  9.         glEnable(GL_TEXTURE_2D);
  10.             glColor3f(1, 1, 1);
  11.             Create_Quad(Texture[1].Tex, 100.0f, 100.0f, 100.0f, 100.0f);
  12.  
  13.          // Hier zeichne ich eine Textur auf ein Quad. Parameter Textur-Daten, X, Y, Höhe, Breite. Das ganze wird mit GL_TEXTURE_2D gemacht.
  14.          /* ... */
  15.  
  16.         glDisable(GL_TEXTURE_2D);
  17.         SDL_GL_SwapBuffers();
  18.     }


Was für Initialiserungs-Befehl fehlt mir oder woran könnte es sonst liegen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 01, 2006 21:54 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Du verlierst beim Wechseln der Grösse des Fensters egal welcher Art deinen Renderkontext bzw. ein neuer wird erstellt, sodass du alle Texturen, Displaylisten etc was auf der Karte liegt nochmal an OpenGL schicken.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 01, 2006 22:23 
Offline
DGL Member

Registriert: Mo Jan 09, 2006 17:31
Beiträge: 37
Danke, funtzt jetzt :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Apr 02, 2006 16:58 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Idealerweise schreibst du einen texturmanager der Texturen on demand lädt und dem du mitteilen kannst, dass alle bisher geladenen Texturen jetzt (nach dem Resize) nicht mehr gültig sind. Dann lädt er sie einfahc nochmal, und man merkts kaum.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]