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

Aktuelle Zeit: Fr Jul 18, 2025 05:09

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



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Sa Dez 13, 2003 21:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Wenn ich per Hand nach dem Start die Fenstergröße ändere hüpft das Bild nach hinten/oben. Dieser Effekt tritt nur bei der Ersten Größenänderung auf.
Wobei ich herraus fand das dies nach hinten/oben hüpfen scheinbar nur eine Korrektur war. Im Vollbild-Modus ist die Sicht ebenfalls ein bischen nach hinten/oben verschoben und wenn ich die Selektions funktion aufrufe geht die auch davon aus das das Bild weiter hinten/oben ist.

Will ich zum Beispiel etwas auswählen muss ich unter es klicken um auszuwählen. Verändere ich die Größe oder starte das Fenster im Vollbild-Modus kann ich die Einheit normal auswählen.

Ach ja und ein Aufruf von Resize nach der Fenster Erstellung halft auch nicht.


Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Dez 13, 2003 21:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Recht unverständliche Fehlerbeschreibung, aber ich versuchs trotzdem mal. Nimmst du im Fenstermodus auch für die Dimensionierung deines Viewports den Clientbereich deines Fensters und nicht den kompletten Bereich? Wenn nicht, dann nutz bei der Festlegung des Viewports ClientWidth und ClientHeight.
Wenn das nix bringt, dann beschreib dein Problem mal bitte etwas konkreter, evtl. sogar mit Screenshot.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 15, 2003 18:31 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Ich glaub ich habe das Problem gefunden.
Am Ende von der Fenstererstellungs-Funktion wird die Procedure aufgrufen die für die Größenänderung zuständig ist. Dies ist aber scheinbar nur sinnvoll wenn auf Fullscreen umgeschaltet werden muss.
Die Werte für das tatsächliche Bild sind nämlich anders wenn man im Fenstermodus ist, da ja die Balken noch wegfallen. Wird nun die Resize-Methode mit den Werten der gesamten Fenstergröße aufgrufen, sind die Werte natürlich zu groß.
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 15, 2003 19:45 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Clientarea verwenden?

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 17:56 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Was meinst du mit dem Stichpunkt "Clientarea verwenden" Mars?
So wie ich es gelöst habe funktioniert es ja.
Also was meinst du damit?
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 17:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Er meint dasselbe was ich gesagt habe, nämlich statt :
Code:
  1. gluPerspective(..., Width/Height, ...);
  2. glViewport(0,0,Width,Height)

das hier :
Code:
  1. gluPerspective(..., ClientWidth/ClientHeight, ...)
  2. glViewport(0,0,ClientWidth,ClientHeight)


Obiges stimmt nur bei einem Fenster ohne Rand (z.B. Vollbild), während unteres Beispiel immer korrekt ist und deine Perspektive der Zeichenfläche anpasst.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 21:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Ihr geht dann aber von VCL aus, oder?
Bei reinen API(siehe Thema) gibt es doch kein ClientWidth oder ClientHeight;
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 16, 2003 22:10 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Die API Funktion dazu heißt GetClientRect. Bei dem Rechteck nimmt man dan right und bottom.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 22, 2003 19:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
@lars:
sicher das man right/bottom nimmt, bin mir selbst net sicher aber nach den namen zu urteilen müsste man right-left/bottom-top nehmen oder ?!

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 22, 2003 19:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Nein, Left und Top sind immer 0 :
Win32-SDK-Hilfe zu GetClientRect hat geschrieben:
lpRect
Points to a RECT structure that receives the client coordinates. The left and top members are zero. The right and bottom members contain the width and height of the window.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 23, 2003 02:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
okay okay, war mir ja nicht sicher wegen den namen die dann etwas doof sind....

_________________
www.extrawurst.org


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 16 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.008s | 14 Queries | GZIP : On ]