1
我正在將一個數組傳遞給一個函數,然後試圖將glGenBuffers與傳遞給該函數的數組一起使用。我找不到一種方法讓glGenBuffers與我通過的數組一起工作。我對指針的基本知識有一個體面的把握,但這超出了我的想象。將指針傳遞給glGenBuffers
緩衝區在別處生成(並刪除)。如果我把它修好了,我可以渲染所有東西,但這使得它更加靈活。目前的問題是「& renderArray [0]」。如果我把這個(所有東西都放到函數中)出來,以便它在主要的繪圖代碼中,它就可以工作。我也有類似的東西,它使用一個常量數組。
這基本上是呈現代碼的工作原理。這是更復雜一點,(使用相同的陣列想法的顏色,也沒有工作),但基本思路如下:
void drawFoo(const GLfloat *renderArray, GLuint verticeBuffer) {
glBindBuffer(GL_ARRAY_BUFFER, verticeBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(renderArray)*sizeof(GLfloat), &renderArray[0], GL_STATIC_DRAW);
glVertexPointer(2, GL_FLOAT, 0, 0);
glEnableClientState(GL_VERTEX_BUFFER);
glDrawArrays(GL_TRIANGLE_FAN, 0, 45);
glDisableClientState(GL_VERTEX_BUFFEr);
}
在此先感謝您的幫助
我已經有了生成的緩衝區。繪圖代碼在此函數外部工作,但指向該數組的指針在該函數內不起作用。對不起,不清楚;我更新了我的帖子。 – 2010-04-30 19:35:49
@Josh:更新以符合您的修改。 – 2010-04-30 22:22:57
謝謝,它的工作。 – 2010-05-01 03:58:37