Я хочу создать своего рода симуляцию. Он должен отображать определенное положение рыбы/акулы/орки (не настоящих, они настроены случайным образом). Мое моделирование может отображать исходную ситуацию:Как перерисовать вид? (OpenGl)
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 ... сделать простой Quad:
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 или в документации не так много полезной информации.
спасибо за вашу помощь
Марсель
Я пробовал это, но когда приложение ждет окончания скрипта. Но я хочу показать шаги между ними. Я также попробовал это с glFinish вместо glflush, но та же проблема возникла. – Marcel
@Marcel Какая же проблема возникла? –
, что в конце отображается, но между ними должна быть перерисовка. Я получаю только один результат. Я тестировал его с функцией сна, чтобы контролировать, если он работает быстро. – Marcel