【问题标题】:Application crash on glColor4f OpenGl function in IOSIOS 中 glColor4f OpenGL 函数的应用程序崩溃
【发布时间】:2012-09-03 09:26:21
【问题描述】:

我正在开发 OpenCV 客户端应用程序,我的应用程序在 IOS 5.1 上运行良好,但是当我在 IOS 4.3 上运行我的应用程序时,它在 glColor4f 类中定义的 glColor4f 函数处崩溃,但它没有显示任何错误消息在崩溃。我的做法如下:

QCAR::Matrix44F modelViewProjection;


                glColor4f(0.5f,0.0f,0.0f,0.0f);
                ShaderUtils::multiplyMatrix(&qUtils.projectionMatrix.data[0], &modelViewMatrix.data[0], &modelViewProjection.data[0]);
                glUseProgram(shaderProgramID);
                glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0, (const GLvoid*) &vbVertices[0]);
                glEnableVertexAttribArray(vertexHandle);
                glUniformMatrix4fv(mvpMatrixHandle, 1, GL_FALSE, (GLfloat*)&modelViewProjection.data[0] );
                glColor4f(0.5f,0.0f,0.0f,0.0f);

                glEnableClientState (GL_VERTEX_ARRAY);
                glEnableClientState (GL_COLOR_ARRAY); 
                glEnableClientState(GL_COLOR_ARRAY);    
              //  glColorPointer(4, GL_FLOAT, 0, triangleColors);  
                glVertexPointer(3, GL_FLOAT, 0, (const GLvoid*) &vbVertices[0]); 
                glDisableClientState(GL_TEXTURE_COORD_ARRAY);
                glDisable(GL_TEXTURE_2D);
                glDrawArrays(GL_LINES, 0, 8);
                //glDisableClientState(GL_TEXTURE_COORD_ARRAY);
                //glDisable(GL_TEXTURE_2D);
                glDisableVertexAttribArray(vertexHandle);

【问题讨论】:

  • 我会测试 3 参数版本:glColor3f(0.5f,0.0f,0.0f) 看看是否也会崩溃。
  • 感谢 Karlphillip,但在我的这个函数中我不知道我应该为此添加头文件吗?
  • 抱歉,glColor3f() 在 OpenGL ES 中不存在。

标签: iphone ios opencv opengl-es qcar-sdk


【解决方案1】:

我已经做了一些研究,这里有几件事供您尝试:

另外,有人在this thread 回复了您的问题。他可能是对的。

【讨论】:

    【解决方案2】:

    glColor4f() 仅用于 OpenGL ES 1.1 固定功能管道。从上面的代码中使用glUseProgram(),您正在使用OpenGL ES 2.0,因此不支持glColor4f()

    如果您希望设置材质的颜色,则需要通过着色器程序中的制服来完成。如果您只想设置场景的背景颜色,则可以使用以下内容:

        glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
        glClear(GL_COLOR_BUFFER_BIT);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多