Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

1

18.07.2012, 17:24

Eigene GUI, Fenster Inhalt rendern

Hallo,

ich habe ein (hoffentlich) relativ einfaches Problem und bin mir nicht sicher wie ich es am "schönsten" löse. Für meine eigene GUI (OpenGL) möchte ich den Inhalt von "Fenstern" rendern. Aber wenn dieser über den Rand des Fensters hinaus geht soll er abgeschnitten werden (bein skalieren des Fensters z.B.).
Ich dachte erst setz ich mal einfach den Viewport auf die Größe und Position des Fensters. Aber dann skalieren meine Objekte in dem Fenster nicht mehr in Pixeln (logisch). Jetzt ist die Frage ob es auch anders geht oder doch über den Viewport. Wie würdet ihr das machen?

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

2

18.07.2012, 17:40

Dafür gibts den Scissortest.
Und für ausgefallenere Fensterformen(alles nicht rechteckige) noch den Stenciltest.

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

3

18.07.2012, 19:10

Ist das aktuelles OpenGL? Ich will keinen alten Kram haben. Evt. ließe sich das auch im Shader lösen?

Beiträge: 1 223

Wohnort: Deutschland Bayern

Beruf: Schüler

  • Private Nachricht senden

4

18.07.2012, 19:20

Ob das alter Kram ist, kann ich dir leider nicht sicher beantworten.
Ich denke aber nicht.
Aber wie gesagt, sicher weiß ich es nicht.

Stencil als auch Scissor sind seit Version 1.0 dabei.
Das muss aber nichts heißen, Texturen und Viewcontexts sind ja auch nicht veraltet.

Mir Shadern ließe sich das sicher auch lösen.
Das hätte aber zwei Nachteile:
  1. Das Control ist selbst dafür verantwortlich, sich entsprechend zuzuscheiden.
  2. Ist höchstwahrscheinlich langsamer. Besonders auf Grafikkarten die noch nicht auf Discard und co optimiert sind.

Mir ist eben noch eine weitere Möglichkeit eingefallen:
Clipplanes

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

5

19.07.2012, 09:04

Du solltest definitiv auf Scissor Tests und eventuell Stencil-Tests zurückgreifen. Das ist performanter und auch die übliche Technik - und keinesfalls irgendwie "veraltet" ;)

Schrompf

Alter Hase

Beiträge: 1 470

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

6

19.07.2012, 10:08

Einen ViewPort setzen ist doch auch prima! Du musst halt nur bei der Umrechnung Pixel zu Clip Space die neuen Ausmaße des Zielbereichs berücksichtigen und darfst natürlich nicht mit der Auflösung weiterrechnen.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

19.07.2012, 10:12

Viewport hat den Vorteil, dass du innerhalb eines Fensters mit relativen Koordinaten rechnen und zeichnen kannst.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

19.07.2012, 11:25

+1 für Viewport

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

9

19.07.2012, 11:56

Ach das mit dem Viewport hab ich überlesen... Das ist natürlich besser!

+1 Viewport

DeKugelschieber

Community-Fossil

  • »DeKugelschieber« ist der Autor dieses Themas

Beiträge: 2 641

Wohnort: Rheda-Wiedenbrück

Beruf: Software-Entwickler

  • Private Nachricht senden

10

19.07.2012, 15:35

Gut ich rechne den ganzen Hokus Pokus um :D
Danke für eure Hilfe :)
Wenn alles schief geht hab ich ja noch den Scissor Test.

Zitat

Viewport hat den Vorteil, dass du innerhalb eines Fensters mit relativen Koordinaten rechnen und zeichnen kannst.


Deshalb war das auch mein erster Einfall.

Werbeanzeige