首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >glDrawArrays在虚拟机中工作,在手机上崩溃

glDrawArrays在虚拟机中工作,在手机上崩溃
EN

Stack Overflow用户
提问于 2011-02-17 01:36:27
回答 1查看 1.1K关注 0票数 1

我在opengl es中从Android NDK中划出一条线。我一直在VM上进行开发,最近刚刚在手机上试用了我的应用程序。应用程序在虚拟机上运行得很好,这条线已经画好了。然而,在摩托罗拉的droid上,应用程序就会崩溃,而在HTC上,它只会显示一个黑屏。我已经验证了传递给函数的数字是正确的。应用程序调用glDrawArray(GL_LINES,0,2)。整个函数如下所示:

代码语言:javascript
复制
void drawLine(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2, GLfloat * color)
{
    GLfloat vVertices[] =
    {x1, y1,
    x2, y2};

    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_COLOR_ARRAY);
    glColor4f(color[0],color[1],color[2],color[3]);
    glVertexPointer(2, GL_FLOAT, 0, vVertices);

    glDrawArrays(GL_LINES, 0, 2);
    __android_log_write(ANDROID_LOG_ERROR,"to mama","You drew arrays");

    glDisableClientState(GL_COLOR_ARRAY);
    glDisableClientState(GL_VERTEX_ARRAY);
}

对它的调用如下所示:

代码语言:javascript
复制
drawLine(0.0f,0.0f,1.0f,0.0f,colorx);/*x is green*/

接下来我可以尝试drawelements,但就我所知,绘制数组没有理由不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-17 02:50:30

您在没有实际设置glColorPointer()的情况下启用颜色阵列(glEnableClientState(GL_COLOR_ARRAY))。

设置颜色指针或不启用颜色数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5019946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档