在OpenGL 中縮放1px 線
問題:
問題:
內部分辨率為320x240 的遊戲縮放顯示為更高解析度(例如960x720)。雖然像素化圖形可以正確渲染,但使用 GL_LINE_LOOP 繪製的線條會放大到 3px,導致像素藝術不正確。
問題:
如何將線條繪製到內部 320x240 視圖而不是 960x720 顯示視圖?
答案:
誤解是存在「320x240 glOrtho 畫布」。 OpenGL 僅渲染到實際視窗解析度(例如 960x720)。縮放座標僅變換原始端點,但不會影響光柵化。 - 要正確繪製 1px 線:
-
- 建立 320x240 紋理並將其附加到幀緩衝區物件 (FBO)。
- 綁定 FBO 並將視窗設定為紋理大小 (320x240)。
- 使用 glOrtho(0, 320, 240, 0, 0, 1) 渲染到紋理。
解除 FBO 的綁定。
綁定紋理並將其繪製到窗口,將視口設為視窗的大小(例如 960x720)。 透過渲染到離螢幕影像的實際分辨率,然後將其放大,可以實現適當的像素化線光柵化。
以上是如何使用內部解析度縮放在 OpenGL 中繪製 1px 線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!