Сегментированная линия рисует только первый сегмент на iPhone.Отлично работает в симуляторе - PullRequest
2 голосов
/ 16 июня 2011

Я пытаюсь нарисовать сегментированную линию с openGL в iOS.Он работает на симуляторе, но не на 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 голосов
/ 25 ноября 2011

Не вижу ничего плохого в том коде, который вы вставили, поэтому что-то должно быть не так до или после этого.

Попробуйте поставить что-то подобное после розыгрыша

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

И посмотрите, появляются ли какие-либо ошибки GL, я всегда держу одну из них в своем основном цикле отрисовки, это спасло меня много раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...