分段线仅在iPhone上绘制第一段。在模拟器中完美运行

时间:2011-06-16 07:28:25

标签: iphone objective-c ios opengl-es cocos2d-iphone

我试图在iOS中使用openGL绘制分段线。它适用于模拟器,但不适用于iPhone。这是绘制方法:

- (void) draw
{
    if(nuPoints_ <= 1)
        return;
    glBindTexture(GL_TEXTURE_2D, [texture_ name]);

    glTexCoordPointer(2, GL_FLOAT, 0, texCoords_);
    glVertexPointer(2, GL_FLOAT, 0, vertices_);
    glColorPointer(4, GL_UNSIGNED_BYTE, 0, colorPointer_);

    BOOL newBlend = blendFunc_.src != CC_BLEND_SRC || blendFunc_.dst != CC_BLEND_DST;
    if( newBlend )
        glBlendFunc( blendFunc_.src, blendFunc_.dst );

    glDrawArrays(GL_TRIANGLE_STRIP, 0, nuPoints_*2);

    if( newBlend )
        glBlendFunc(CC_BLEND_SRC, CC_BLEND_DST);    

}

(blendFunc未设置为任何内容)

vertices_和nuPoints都有正确的(数量)点,所以问题在这个方法中是绝对的。

1 个答案:

答案 0 :(得分:0)

不要忘记你粘贴的代码有什么问题,所以在此之前或之后一定有问题。

在抽奖之后尝试并输入类似的内容

        GLenum err = glGetError();
        if (err != GL_NO_ERROR)
        {
            NSLog(@"Render Error 0x%04X", err);
        }

看看是否弹出任何GL错误,我总是在我的主绘制循环中保留其中一个注释,它已经多次保存了。