我正在使用带有过剩,OpenGL和c ++的xcode,我正在尝试导入和绘制模型。我使用了obj到.h文件转换,这是标题的一小部分,所以你可以看到结构。
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);
有人可以帮忙吗?
答案 0 :(得分:0)
要么你:
CULL_FACE
时)glColor
! (看不到黑色的黑色)glTexCoord
(启用时)angle,znear,zfar
)一些提示:
尝试在场景周围旋转相机(理想情况下使用某些键,如箭头,看看物体是否在后面......或鼠标拖动......)。还要尝试向前/向后移动相机(也可以使用按键,但我最喜欢的是鼠标滚轮)。
首先使用glBegin() glVertex() glEnd()
以避免错误启用数组的问题,并在没有光照,纹理,CULL_FACE
的情况下启动(让它们禁用!!!)。当你看到你的模型然后逐步启用所有,所以你看到了什么是错的。毕竟还可以尝试数组。
如果您的对象在启用CULL_FACE
时似乎是错误的方式,那么您的缠绕规则错误(CW/CCW
)可以在旋转对象时看到
这里是simple OpenGL scene app in BDS2006你可以用它来测试你的窗口和相机/模型矩阵设置