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

Aktuelle Zeit: Fr Jul 18, 2025 04:15

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Mo Mär 30, 2009 12:11 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
Hi,

wenn ich zur Laufzeit die Auflösung ändern möchte, dann nutze ich SDL_SetVideoMode:

Code:
  1.  
  2.  glGetIntegerv(GL_VIEWPORT, @Viewport);
  3.  surface := SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP,videoflags );
  4.  glGetIntegerv(GL_VIEWPORT, @Viewport);
  5.  


Die Änderung wird auch durchgeführt (Fenstergröße ändert sich), aber GL_VIEWPORT liefert das gleiche Ergebnis wie vor dem Aufruf von SDL_SetVideoMode.
Hab ich da was vergessen?


Dank und Gruß,
DNA

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 30, 2009 12:26 
Offline
Ernährungsberater
Benutzeravatar

Registriert: Sa Jan 01, 2005 17:11
Beiträge: 2068
Programmiersprache: C++
Den Viewport musst du selber aktualiseren.

_________________
Steppity,steppity,step,step,step! :twisted:
❆ ❄ ❄ ❄ ❅ ❄ ❆ ❄ ❅ ❄ ❅ ❄ ❅ ❄ ❄
❄ ❄ ❄ ❅ ❄ ❄ ❄ ❅ ❄ ❄ ❆ ❄ ❄


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 30, 2009 13:13 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
Hmm. Um ein Haar würde mir die ursprüngliche Frage jetzt peinlich sein, aber ich hab das im ganzen Projekt nicht gesetzt und die Werte sind dennoch da drin. Wo kommen die denn initial her?

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 30, 2009 14:54 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also normal setzt du die Größe deines Zeichensbereiches mit glViewport.

Gut möglich, dass die Treiber hergehen und beim Erstellen des RCs den Viewport schon so groß setzen wie groß das Fenster zu diesem Zeitpunkt war. Was mich daran aber etwas irritiert, da SDL_SetVideoMode normal den RC löscht und diesen neu erstellt. Aber sicherheitshalber immer glViewport aufrufen. Bzw. die Ansicht mittels gluPerspective/glOrtho auch. (Nur der vollständigkeit halber.)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 30, 2009 18:27 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
Ok. So läuft es. Vielen Dank für die Erläuterung.

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 05:50 
Offline
DGL Member

Registriert: Mo Mär 16, 2009 10:22
Beiträge: 26
Ich würde auch vorsichtshalber Perspektive (zusätzlich zum Viewport) und die allg. Opengl Einstellungen neu setzen. Ausserdem können bei Windows +opengl+sdl bei einer Änderung der Auflösung sämtliche Texturen die Opengl verwaltet etc. gelöscht werden. Deshalb ist es anzuraten diesen Umstand nachzuprüfen und ggf. diese neu zu laden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Mär 31, 2009 07:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Sep 23, 2005 20:31
Beiträge: 212
Wohnort: Sachsen/ Vogtland
merlinschmidt hat geschrieben:
Ich würde auch vorsichtshalber Perspektive (zusätzlich zum Viewport) und die allg. Opengl Einstellungen neu setzen. Ausserdem können bei Windows +opengl+sdl bei einer Änderung der Auflösung sämtliche Texturen die Opengl verwaltet etc. gelöscht werden. Deshalb ist es anzuraten diesen Umstand nachzuprüfen und ggf. diese neu zu laden.


Perspektive habe ich gleich mit gesetzt, Lossy erwähnte das bereits. Den Dreck mit den Texturen habe ich schon seit dem letzten Release von Memorix am Hals. Daher gab es in der letzten Version keine Änderung der Auflösung zu Laufzeit. Das Problem liegt aber an meiner Verwendung des easySDLTextur-Dingens. Einen Teil der Texturen behält der Texturmanager, einen Teil wirft er weg. Ich werde das Problem suchen oder ggf. einen eigenen Manager schreiben. Danke nochmals für den Hinweis.

Grüße, DNA

_________________
Heute code ich, morgen debug ich, und übermorgen caste ich die Königin auf int.
http://www.2ndmoon.de


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]