簡體   English   中英

opengl / JOGL-繪制紋理的最佳方法

[英]opengl / JOGL - best way to draw textures

我考慮了在OpenGL / JOGL中繪制圖片的最佳方法。 我目前正在編寫一個游戲,我的目標是將有關圖片的信息保存在文本文件中,而不是保存圖片。 我的想法是編寫一種方法,該方法將每個像素信息(RGB)保存在X和Y位置。然后繪制每個像素並完成。

您如何看待這個想法?

您應該只使用TextureIO從圖片中制作紋理,並在具有4個頂點的情況下使用此紋理,這些頂點在繪制時具有一些紋理坐標。 glReadPixels()非常慢,讀取圖片的每個像素會花費很多時間,將其內容保存為文本文件將需要大量內存(將其保存為無損格式的壓縮圖像,如PNG可能是值得一試),逐個繪制每個像素比繪制紋理要慢得多。 derhass是正確的。 您可以對圖片進行矢量化處理(從中制作SVG),但是之后必須對其進行柵格化處理,或者必須對矢量化內容進行某種渲染,並且這可能比使用紋理要慢。 我不確定您是否真的需要屏幕外緩沖區。

當我開始進行第一人稱射擊游戲時,我遇到了類似的問題。 一開始我並沒有使用JOGL,而是重用了其他人的源代碼,它依賴於圖像中的軟件渲染,非常慢。 然后,我使用JOGL逐個繪制每個像素,而不是使用Java2D,它在我的機器上快了大約4倍,但對我來說仍然很慢。 最后,我不得不重新設計整個渲染,以使用OpenGL,正如derhass所說的那樣,我使用了三角形,四邊形和紋理。 性能變得可以接受,這就是您應該做的,使用OpenGL繪制基元並闡明您要實現的目標,以便我們可以為您提供更好的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM