我正在使用xcode與glut,OpenGL和c + +,我試圖導入並繪製模型。我使用了obj來轉換.h文件,這是標題的一小部分,所以你可以看到結構。從C++頭文件中繪製模型
unsigned int M4GunNumVerts = 37812;
GLfloat M4GunVerts [] = {
// f 1/1/1 1582/2/1 4733/3/1
{0.266494348503772, 0.0252334302709736, -0.000725898139236535},
{0.265592372987502, 0.0157389511523397, -0.000725898139236535},
{0.264890836474847, 0.0182004476109518, -0.00775888079925833},
我試圖在我的主要代碼中繪製這個。
glVertexPointer(3, GL_FLOAT, 0, M4GunVerts);
glNormalPointer(GL_FLOAT, 0, M4GunNormals);
glTexCoordPointer(2, GL_FLOAT, 0, M4GunTexCoords);
glDrawArrays(GL_TRIANGLES, 0, M4GunNumVerts);
當我跑我不能看到模型。我已經建立了一個過剩的窗口,並且製作了一個三角形來查看是否繪製了形狀,並且顯示了三角形。我不知道如何解決這個問題,所以我可以看到模型。
這裏是重塑功能
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glViewport(0, 0, w, h);
gluPerspective(45, ratio, 0.01, 1000);
glMatrixMode(GL_MODELVIEW);
有人能幫忙嗎?
您尚未提供足夠的信息來回答此問題。座標空間在OpenGL中非常重要,但不知道投影和模型視圖矩陣有多少可能是錯誤的。此外,您還沒有在您提供的最小代碼片段中啓用任何頂點數組指針。請提供更多的代碼,其中包含這些內容。 –
我已經啓用了頂點數組點,但我沒有包含它。我添加了一些代碼。 –
@DavidGraovac:請不要使用諸如「obj to h」轉換器之類的東西。請使用像ASSIMP這樣的庫從文件加載模型數據。 – datenwolf