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

Aktuelle Zeit: Fr Jul 18, 2025 04:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Scissorbox
BeitragVerfasst: Mo Jun 01, 2009 20:40 
Offline
DGL Member

Registriert: Do Mai 28, 2009 20:38
Beiträge: 4
Hi,

ich habe das Problem, das meine Scene immer rechteckig bleiben soll und sich also nicht verzerren soll. Dies wollte ich erreichen in dem ich schwarze Balken links und rechts einbaue, nur leider habe ich nicht so recht einen Plan wie das geht. Es handelt sich um eine 3D Scene und wenn ich das Fenster extrem klein schiebe, sehe ich quasi den Würfel im dem alles gerendert wird und im Hintergrund meine nicht so schöne clearColor.

Kann mir da jemand einen Tip geben??


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jun 01, 2009 21:58 
Offline
DGL Member

Registriert: Fr Okt 03, 2008 13:32
Beiträge: 367
Scissorbox trifft es schon ganz gut.
Die beiden Befehle die zu brauchst sind glViewport und glScissor. Ich denke mal gluPerpective kennst du, dort wird u.a. das Seitenverhältnis eingestellt das bei dir ja konstant sein soll.
Ansonsten gibt es eigentlich nicht viel zu sagen.
Die Höhe und Breite des Fensters musst du natürlich kennen. Wenn dein Fenster zu breit ist (Verhältnis von Höhe zu Breite kleiner als das gewünschte) müssen links und recht die Ränder hin, ansonsten oben und unten. Dann ist entweder die Höhe oder Breite maximal und die andere Abmessung ergibt sich dann aus dem gewünschten Verhältnis. Der Viewport ist dann logischerweise um die Hälte der Differenz von Fensterbreite und Zielbereichgröße zu verschieben.

Oder war dein Problem nur dass die Clearcolor im Hintergrund ist, was auch recht einfach zu lösen ist. Deshalb hab ich auch glScissor oben genannt.
glClear geht auch über die Ränder des Viewports, aber nicht über die Ränder der Scissorbox. Also einfach dort das selbe wie beim Viewport einstellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 02, 2009 14:07 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Scissorn ist hier das falsche. Denn nur mit Viewport legst du letzendlich den Bereich fest, auf den sich deine 3D-Szene bezieht, also -1 bis 1 der normalisierten Gerätekoordinate. Scissor schneidet nur ab und wird dir bei deinem Verzerrungsproblem nicht helfen.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Jun 02, 2009 18:18 
Offline
DGL Member

Registriert: Do Mai 28, 2009 20:38
Beiträge: 4
Hi,

danke. glViewport hat mir weitergeholfen.

Gruß

Jonny


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