C++ + glut + OpenGL + gluSphere 不绘制任何东西
C++ + glut + OpenGL + gluSphere doesn't draw anything
我正在使用GLUT与OpenGL一起工作(如果可以的话,我会与SDL一起工作)。我需要画一个球体。我正在使用gluSphere
,但它根本没有绘制任何内容。
这是我的GLUT初始化:
// Initializes display
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(600, 600);
// Window settings
glutCreateWindow("Collision detect");
glClearColor(0.0, 0.0, 0.0, 1.0);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
glEnable(GL_TEXTURE_2D);
二次初始化:
quadratic = gluNewQuadric();
if( !quadratic){
throw new PROGRAM_EXCEPTION( "Cannot initialize quadartic", NULL);
}
gluQuadricNormals(quadratic, GLU_SMOOTH);
//gluQuadricDrawStyle( quadratic, GLU_FILL);
gluQuadricTexture(quadratic, GL_TRUE); // Tried both GL_TRUE and GL_FALSE
还有我的绘图功能:
glPushMatrix();
glTranslatef( position.getX(), position.getY(), position.getZ());
// This commented piece of code draws dot where I want it to,
// so coordinates and camera position are just fine
// glBegin(GL_POINTS);
// glVertex3f( 0,0,0);
// glEnd();
gluSphere( quadratic, 20.0f, 32, 32); // Tried r = 0.02f, 0.2f, 2.0f, 20.0f, none works
glPopMatrix();
问题:我缺少什么?供过于求中有什么技巧可以让象限绘制出来吗?它与我的某些设置不兼容吗?
我花了几个小时试图解决这个问题,尝试了不同的事情。。。如果你需要其他代码,只需说出哪个。。。我不想在这里粘贴2000行。还有一件事,我有三重检查,我没有在glBegin()
和glEnd()
中使用它。我有几个三角形包围着这个空间,它们画得很好
问题:我缺少什么?
设置视口和投影怎么样?
问题是,我有一个类负责绘制球(称为Sprit),它在构造函数中创建了二次型(复制构造函数也创建了自己的二次型),并在析构函数中删除了二次。虽然我已经仔细地编写了复制构造函数,但我忘记了编写赋值运算符,我使用了删除的二次型。我使用glGetError()来检查是否一切正常,没有报告错误,所以我认为这是GLUT的问题。
使用本指南http://www.mediafire.com/?x6h3hz6hn1wqq73
第二章主要介绍你想要的一切。它还处理您正在使用的语言和技术堆栈。
相关文章:
- OpenGL 着色器不绘制任何东西 - 糟糕的精灵类
- 使用 glDepthFunc(GL_GREATER) 不会绘制任何内容
- OpenGL 3.3不能绘制任何东西
- DirectX不绘制任何内容
- OpenGL + SDL + glew 在成功初始化后不会绘制任何内容
- 为什么我的 openGL 顶点缓冲区对象不会绘制任何内容?
- Opengl 3.3 不会绘制任何东西。使用 GLSL 330 内核
- OpenGL - 重新绑定 glBindVertexArray 不会在屏幕上绘制任何内容
- 如何将顶点位置传递给顶点着色器.我写了一个着色器,它不会在屏幕上绘制任何内容
- glDrawElements不绘制任何东西
- OpenGL着色器没有绘制任何东西:/
- Android NDK中的OpenGL ES 2.0:没有绘制任何内容
- 为什么我的OpenGL 3.3应用程序没有绘制任何内容
- C++ + glut + OpenGL + gluSphere 不绘制任何东西
- 尝试将着色器与 Win32 OpenGL 一起使用,但顶点着色器不绘制任何内容
- glDrawArrays在gl_triangle模式下不绘制任何东西
- 在Android上使用gles2.0 egl ative活动时不会绘制任何内容
- DirectX:屏幕上没有绘制任何内容
- 无法使用GLEW(mac,c ++)在openGL中绘制任何内容
- Qt5应用程序不会在Ubuntu上绘制任何窗口