在OpenGL 中縮放和繪製線條
在創建2D 像素藝術遊戲時,您可能會遇到縮放和像素大小問題,渲染到具有更高解析度的視窗。本文深入研究了一個常見問題,並提供了維護像素化圖形的解決方案。
所描述的方法是使用 glOrtho() 建立內部分辨率,同時放大輸出分辨率以在螢幕上顯示。例如,320x240 的內部解析度可以在螢幕上縮放到 960x720。
但是,當使用 GL_LINE_LOOP 繪製線條時,您可能會注意到線條顯得細且像素化,而不是保留原始像素大小。發生這種情況是因為線條是在整個 960x720 畫布上繪製的,導致在 3px 像素的世界中線條寬度為 1px。
要解決此問題,重要的是要了解不存在單獨的“320x240” glOrtho canvas” 在窗口的實際分辨率內。 OpenGL 根據窗口的分辨率縮放所有繪製的圖元,包括線條端點。影像繪製到視窗以其更高解析度。 FBO 就可以解除綁定,並且可以將紋理繪製到窗口,並將視窗設定為視窗的解析度。
以上是在 OpenGL 中縮放圖形時如何保持像素化線條?的詳細內容。更多資訊請關注PHP中文網其他相關文章!