我一直在使用舊的Qt OpenGl方法,但它是時候切換到新的。從原始數據(freeimage)QOpenGLTexture(Qt)
是位圖一個FIBITMAP *正確初始化
glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA8,寬度,高度,0, GL_BGRA,GL_UNSIGNED_BYTE,(無效*)FreeImage_GetBits(pImage));
對我來說就像一個魅力。
但是現在在新的方法中,最好使用QOpenGLTexture
不幸的是我的嘗試是不成功的,即。
QOpenGLTexture * qtexture =新 QOpenGLTexture(QOpenGLTexture :: Target2D); (QOpenGLTexture :: PixelFormat :: RGBA, QOpenGLTexture :: PixelType :: Int8,FreeImage_GetBits(bitmap));
代碼返回一個1x1紋理而且如果我迫使大小等使用
qtexture->的setSize(寬度,高度,4);
qtexture具有適當的大小,但它完全是黑色的,我也試過在QT/FreeImage的論壇等進行搜索,但沒有相關的不幸的是每個人都使用的QImage養活QOpenGLTexture,但不幸的是我需要支持的一些「奇怪」像.hdr或.exr這樣的文件格式,Qt本身不支持。
預先感謝您的時間!
是的,這也是在班級文件中提到的。 – peppe
使用QOpenGLTexture對象而不是純OpenGL的優點是什麼? – Pietrko
這是Qt包裝器,更易於與Qt OpenGL小部件一起使用 –