3
我在OpenGL環境中使用CImg。當我嘗試添加紋理時,每種顏色似乎都會分離到紋理中的單獨拼貼中。例如,當我嘗試使用一個紋理,看起來是這樣的:在我的計劃OpenGL紋理顏色分離
它出來尋找這樣的:
,我是裝的質地是一個512x512 .bmp文件,保存在GIMP中,具有24位色彩深度,RBG。我嘗試了一些Gimp允許的其他格式,但這些只是導致CImg出錯。
這是我的加載質地:
glBindTexture(GL_TEXTURE_2D, 13);
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
CImg<unsigned char> src("MilkyWay.bmp");
glTexImage2D (GL_TEXTURE_2D, 0, GL_RGB, src.width(), src.height(),
0, GL_RGB, GL_UNSIGNED_BYTE, src);
,這是我怎樣顯示質地:
glEnable (GL_TEXTURE_2D);
glBindTexture (GL_TEXTURE_2D, 13);
glBegin (GL_QUADS);
glTexCoord2f (0.0, 1.0);
glVertex3f (-120.0, 120.0, 0.0);
glTexCoord2f (1.0, 1.0);
glVertex3f (120.0, 120.0, 0.0);
glTexCoord2f (1.0, 0.0);
glVertex3f (120.0, -120.0, 0.0);
glTexCoord2f (0.0, 0.0);
glVertex3f (-120.0, -120.0, 0.0);
glEnd();
謝謝!有什麼圖像閱讀庫,你會推薦? – Vicker
我想更新,以防其他人閱讀此內容。我從http://www.lonesock.net/soil.html下載了SOIL,它創造了奇蹟。感謝您的幫助,JasonD! – Vicker