日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱

發布時間:2025/3/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenGL3.x,4.x中使用FreeImage顯示圖片的BUG-黑色,或顏色分量順序錯亂

1 //參照FreeImage官網給出的CTextrueManager寫的加載函數 2 //官方給的例子是用opengl3.0以下的舊GL寫的,沒有使用glGenerateMipmap(GL_TEXTURE_2D)來產生mipmap 3 //在GL3.0以后,渲染時默認是開啟了MIPMAP的,如果不調用glGenerateMipmap來生成MIPMAP,則渲染出的貼圖一片黑色
  //另外要注意freeimage的顏色分量順序是gbr,不知為什么,故這里fmt應傳GL_BGR
4 GLuint CResMgr::LoadTextrue(const char* texFile, GLenum fmt, GLuint ifmt, GLuint level, GLuint border) { 5 FREE_IMAGE_FORMAT fifmt = FreeImage_GetFileType(texFile, 0); 6 if (fifmt == FIF_UNKNOWN) { 7 fifmt = FreeImage_GetFIFFromFilename(texFile); 8 if (fifmt == FIF_UNKNOWN) { 9 xsMsg(texFile, "圖片加載失敗:未知的格式", MB_ICONERROR); 10 return 0; 11 } 12 } 13 14 if (!FreeImage_FIFSupportsReading(fifmt)) { 15 xMsg(texFile, "freeImage不支持該文件格式的讀取", MB_ICONERROR); 16 return 0; 17 } 18 19 FIBITMAP* dib = FreeImage_Load(fifmt, texFile); 20 if (!dib) { 21 xMsg(texFile, "freeImage_load失敗", MB_ICONERROR); 22 return 0; 23 } 24 25 BYTE* bits = FreeImage_GetBits(dib); 26 GLuint width = FreeImage_GetWidth(dib); 27 GLuint height = FreeImage_GetHeight(dib); 28 29 if (!bits || width == 0 || height == 0) { 30 xMsg(texFile, "freeImage_getbits, getwidth, getheight-failed", MB_ICONERROR); 31 return 0; 32 } 33 34 GLuint texId; 35 glGenTextures(1, &texId); 36 glBindTexture(GL_TEXTURE_2D, texId); 37 glTexImage2D(GL_TEXTURE_2D, level, ifmt, width, height, border, fmt, GL_UNSIGNED_BYTE, bits); 38 39 glGenerateMipmap(GL_TEXTURE_2D); //注意,不加這句渲染出的貼圖是一片黑色, 40 FreeImage_Unload(dib); 41 return texId; 42 }

?

posted on 2018-02-17 11:26 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏

總結

以上是生活随笔為你收集整理的OpenGL3.x,4.x中使用FreeImage显示图片的BUG-黑色,或颜色分量顺序错乱的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。