2011-11-12 25 views
0

我用GIMP繪製了一個圖像文件並將其保存爲.c文件。 然後我用在我的OpenGL代碼下面將圖像加載到 屏幕:然而加載的圖像出現翻轉180度倒置導出爲.c文件的OpenGL和GIMP圖像文件

glPixelStorei(GL_UNPACK_ALIGNMENT, 1); 

glRasterPos2i(x_disp, 0); 
glDrawPixels(80, 80, GL_RGB, GL_UNSIGNED_BYTE, gimp_image.pixel_data); 

。 我想知道是否有一個選項可以在OpenGL中提供,因此 我可以使用與GIMP相同的方向呈現圖像,頂部朝上,圖像左側朝上,可能使用 glPixelStore,或使用 glPixelStore或一些其他的OpenGL函數調用來指定如何對像素進行解壓縮?

回答

2

OpenGL假定圖像數據位於左下角,而大多數圖像處理程序將其放置在左上角。

而不是glDrawPixels使用紋理,那麼你可以只翻轉紋理座標。無論如何glDrawPixels是一個極其緩慢的CPU循環吸盤,並且已經從OpenGL-3及更高版本中刪除。只是不要使用它。

+0

謝謝你的回覆。我還沒有研究紋理(現在會這樣做)。如果我使用紋理,我可以使用從GIMP導出的文件嗎?怎麼樣?然後可以推斷我也可以將圖像橫向繪製而不是僅僅面對上,這就像我看到的不能用glDrawPixels完成的那樣。謝謝,John Goche –

+0

@JohnGoche當你使用紋理時,你可以隨意繪製它。它只取決於你指定的紋理座標,一旦你鑽研紋理,你將(或者應該)瞭解它。 –