我在OpenGL中創建一個3D應用程序,並且爲了在我讀取的模型上顯示紋理,我使用了GLuint。但是,我收到了Visual Studio錯誤C4430缺少的類型,以及其他一些與此問題有關的問題。GLuint未被識別
包含過量文件並且在投入使用之前工作正常。是否GLuint過時了,還是別的?
編輯: 已經改變的代碼是:
對象構造之前
Object::Object(string shapeFileName, string texFileName){
readFile(shapeFileName);
loadTexture(texFileName);
}
對象構造之後
Object::Object(string shapeFileName, string texFileName){
readFile(shapeFileName);
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
loadTexture(texFileName);
gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 1024, 512, GL_RGB, GL_UNSIGNED_BYTE, image_array);
free(image_array);
glTexImage2D(GL_TEXTURE_2D, 0, 3, 1024, 512, 0, GL_RGB, GL_UNSIGNED_BYTE, image_array);
}
隨着在頭文件添加了行GLuint texture;
,這是唯一引發錯誤的位。
請問您能展示一些代碼嗎?最好是前後比較,即一個工作代碼和一個不能編譯的代碼,正如你所說的那樣「在這個代碼被投入之前工作正常」... – leemes
@眼睛:如果有人沒有提供足夠的信息給回答這個問題,請投票結束。 –
這只是這個問題。我剛添加了一個未初始化的變量'GLuint紋理;' – Yann