Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ GL_COLOR_数组在OpenGL ES 1.1中无法使用glDrawArrays()_C++_Blackberry 10_Opengl Es 1.1 - Fatal编程技术网

C++ GL_COLOR_数组在OpenGL ES 1.1中无法使用glDrawArrays()

C++ GL_COLOR_数组在OpenGL ES 1.1中无法使用glDrawArrays(),c++,blackberry-10,opengl-es-1.1,C++,Blackberry 10,Opengl Es 1.1,我的目标是从一组顶点绘制一条多段线。为此,我在下面做了一些编码。但问题是我画的多段线是正确的,但我不能赋予它颜色。我使用数组为每个顶点设置颜色,然后使用glDrawArrays()绘制它。但不幸的是,我没有得到我需要的颜色(红色) 有谁能检查一下我的代码我做错了什么?我正在使用OpenGLES1.1。下面是我的示例代码- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); enable_2d(); glEnable(GL_TE

我的目标是从一组顶点绘制一条多段线。为此,我在下面做了一些编码。但问题是我画的多段线是正确的,但我不能赋予它颜色。我使用数组为每个顶点设置颜色,然后使用glDrawArrays()绘制它。但不幸的是,我没有得到我需要的颜色(红色)

有谁能检查一下我的代码我做错了什么?我正在使用OpenGLES1.1。下面是我的示例代码-

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    enable_2d();

    glEnable(GL_TEXTURE_2D);
    glEnableClientState(GL_COLOR_ARRAY);
    glEnableClientState(GL_VERTEX_ARRAY);
    glEnable(GL_LINE_SMOOTH);
    glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    float line_vertex[]=
    {
        250.0f,250.0f,      //vertex 1
        500.0f,500.0f,  //vertex 2
        500.0f,200.0f       //vertex 3
    };
    float line_color[]=
    {
        1.0f,0.0f,0.0f,
        1.0f,0.0f,0.0f,
        1.0f,0.0f,0.0f
    };

//  glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
    glLineWidth(10.0f);
    glVertexPointer(2, GL_FLOAT, 0, line_vertex);
    glColorPointer(3, GL_FLOAT, 0, line_color);
    glDrawArrays(GL_LINE_STRIP, 0, 3);

    glDisable(GL_BLEND);
    glDisable(GL_LINE_SMOOTH);
    glDisableClientState(GL_VERTEX_ARRAY);
    glDisableClientState(GL_COLOR_ARRAY);
    glDisable(GL_TEXTURE_2D);

    //Use utility code to update the screen
    bbutil_swap();

尝试禁用纹理。然后你得到了什么颜色(也就是说,它真的画了什么吗?)?可能是纹理。也禁用混合,因为你没有发送下来的信息。禁用纹理工作为我。谢谢