Как перерисовать вид? (OpenGL) - PullRequest
2 голосов
/ 17 августа 2010

Я хочу создать вид симуляции. Он должен отображать определенное положение рыбы / акулы / косатки (ненастоящие, они установлены случайным образом). Моя симуляция может отображать стартовую ситуацию:

glOrtho(0, breite, 0, hoehe, 0, 1);
glClearColor(0, 0, 1, 0);
glClear(GL_COLOR_BUFFER_BIT);

//Besetzen der Felder
srand(time(0));
NSMutableArray* Wator = [NSMutableArray new];
for(int y = 0; y < hoehe; y++){
    for(int x = 0; x < breite; x++){
        NSInteger r = rand() % 100;
        if (r < fishPer) {
            [Wator addObject:[[[Fish alloc]init]autorelease]];
            drawAFish(x,y);

        }else {
            if (r < sharkPer + fishPer) {
                [Wator addObject:[[[Shark alloc]init]autorelease]];
                drawAShark(x, y);
            }else {
                if (r < orcaPer + sharkPer + fishPer) {
                    [Wator addObject:[[[Orca alloc]init]autorelease]];
                    drawAOrca(x, y);
                }
            }
        }
    }
}
glFlush();

Работает нормально. drawAFish / drawAShark ... нарисовать простой квад:

static void drawAOrca (int x, int y)
{
    glColor3f(1.0f, 1.0f, 0.0f);
    glBegin(GL_QUADS);
    {
        glVertex3i( x, y, 0);
        glVertex3i( x+1, y, 0);
        glVertex3i( x+1, y+1, 0);
        glVertex3i( x, y+1, 0);
    }
    glEnd();
}

Итак, мой вопрос: как я могу перерисовать сцену?

В Google или в документации не так много полезной информации.

спасибо за вашу помощь

Marcel

1 Ответ

2 голосов
/ 17 августа 2010

Просто очистите экран и нарисуйте все снова. Это стандартный метод.

...