首頁 >後端開發 >C++ >如何使用內部解析度縮放在 OpenGL 中繪製 1px 線?

如何使用內部解析度縮放在 OpenGL 中繪製 1px 線?

DDD
DDD原創
2024-11-04 00:25:30473瀏覽

How to Draw 1px Lines in OpenGL with Internal Resolution Scaling?

在OpenGL 中縮放1px 線

問題:

問題:

內部分辨率為320x240 的遊戲縮放顯示為更高解析度(例如960x720)。雖然像素化圖形可以正確渲染,但使用 GL_LINE_LOOP 繪製的線條會放大到 3px,導致像素藝術不正確。

問題:

如何將線條繪製到內部 320x240 視圖而不是 960x720 顯示視圖?

答案:

    誤解是存在「320x240 glOrtho 畫布」。 OpenGL 僅渲染到實際視窗解析度(例如 960x720)。縮放座標僅變換原始端點,但不會影響光柵化。
  1. 要正確繪製 1px 線:
  2. 建立 320x240 紋理並將其附加到幀緩衝區物件 (FBO)。
  3. 綁定 FBO 並將視窗設定為紋理大小 (320x240)。
  4. 使用 glOrtho(0, 320, 240, 0, 0, 1) 渲染到紋理。
解除 FBO 的綁定。

綁定紋理並將其繪製到窗口,將視口設為視窗的大小(例如 960x720)。 透過渲染到離螢幕影像的實際分辨率,然後將其放大,可以實現適當的像素化線光柵化。

以上是如何使用內部解析度縮放在 OpenGL 中繪製 1px 線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn