Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeichne ich mit OpenGL skalierte Einzelpixellinien?

Wie zeichne ich mit OpenGL skalierte Einzelpixellinien?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-04 05:25:30758Durchsuche

How to Draw Scaled Single-Pixel Lines with OpenGL?

Zeichnen Sie skalierte Einzelpixellinien mit OpenGL

Problem:

Beim Rendern einer 320x240-OpenGL-Szene mit höherer Skalierung Auflösung (z. B. 960 x 720) erscheinen Linien dünner als beabsichtigt, da sie auf der skalierten Ausgabe-Leinwand und nicht auf der internen 320 x 240-Leinwand gezeichnet werden.

Antwort:

Das Missverständnis liegt in der Annahme, dass es eine separate 320x240 OpenGL-Leinwand gibt. Das gesamte Ansichtsfenster entspricht der physischen Fensterauflösung (in diesem Fall 960 x 720).

Lösung:

Um pixelige Linien mit der richtigen Dicke zu zeichnen, sollte das Rendering durchgeführt werden einen separaten 320x240-Bildpuffer, und dann sollte das Bild als skalierte Textur auf den Bildschirm gezeichnet werden.

Schritte:

  1. Erstellen Sie eine 320x240-Textur.
  2. Erstellen Sie ein Framebuffer-Objekt (FBO) und hängen Sie die Textur daran an.
  3. Binden Sie das FBO zum Rendern.
  4. Stellen Sie den Ansichtsbereich auf die Bildgröße (320x240) ein.
  5. Rendern Sie die Szene im FBO.
  6. Entbinden Sie das FBO.
  7. Stellen Sie das Ansichtsfenster auf die Fenstergröße (960 x 720) ein.
  8. Zeichnen Sie die Textur in das Fenster als skaliertes Bild.

Das obige ist der detaillierte Inhalt vonWie zeichne ich mit OpenGL skalierte Einzelpixellinien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn