我已經加載紋理到OpenGL之前,工作正常。但這次我想在我的渲染類的構造函數中加載紋理。 (即時通訊使用MVC抽象基類作爲接口)。我原本是試圖加載一個PNG文件,而不是像我之前做的那樣,所以我認爲這是與這樣做,但是當我回到我的bmp代碼它仍然無法正常工作。因此,我將bmp紋理代碼移植到了主要(同一個MVC項目)中,並且工作正常。這wasnt工作的實際部分是:glGenTexture只能在主體中工作嗎?
GLuint textureId;
glGenTextures(1, &textureId);
glBindTexture(GL_TEXTURE_2D, textureId);
//Map the image to the texture
glTexImage2D(GL_TEXTURE_2D,//This bit!!
0,
GL_RGB,
image->width, image->height,
0,
GL_RGB,
GL_UNSIGNED_BYTE,
image->pixels);
如果我通過我注意到,textureID保持不變的程序階梯(沒有改變1監守沒有質感被映射到它)
這是爲什麼?它可以修復嗎?
glGenTextures當然也在主要外部工作。它在綁定有效上下文時起作用。它所做的僅僅是保留一個用作紋理標識符的數字,而不是更多。 – Damon 2011-04-26 01:14:42
@Damon:我明白了......那麼爲什麼完全相同的代碼不能在我的構造函數中工作,而是會在主函數中工作? – QuantumKarl 2011-04-26 01:18:39