Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[OpenGL, C++] Wyświetlanie dużej ilości elementów. W jaki sposób zwiększyć wydajność?

Ostatnio zmodyfikowano 2012-12-04 15:21
Autor Wiadomość
Mrusio
Temat założony przez niniejszego użytkownika
[OpenGL, C++] Wyświetlanie dużej ilości elementów. W jaki sposób zwiększyć wydajność?
» 2012-12-04 11:20:23
Witam, poznałem już trochę podstaw OpenGL i chciałbym wygenerować sobie mapę do gry typu FPS. Chciałbym, aby teren nie był gładki, więc pomyślałem, że na początek zrobię siatkę kwadratów:
C/C++
void DrawTile() {
    glBegin( GL_LINE_LOOP );
    glVertex3f( 0, 0, 0 );
    glVertex3f( 1, 0, 0 );
    glVertex3f( 1, 0, 1 );
    glVertex3f( 0, 0, 1 );
    glEnd();
}
C/C++
int i, j;
for( j = - 25; j < 25; j++ ) {
    for( i = - 25; i < 25; i++ ) {
        glPushMatrix();
        glTranslated( i, 0, j );
        DrawTile();
        glPopMatrix();
    }
}

Siatka wygląda tak jak oczekiwałem, ale wydajność programu znacznie spada. Chciałbym jeszcze zwiększyć ilość kafelków oraz część z nich wyświetlać też po osi Y > 0 (tworząc np wzniesienia terenu), ale przy obecnej wydajności mój pomysł staje się niemożliwy.
Chciałbym się dowiedzieć w jaki sposób wyświetlić tak dużą ilość elementów, aby wydajność programu nie spadała tak drastycznie.
P-70315
ison
» 2012-12-04 11:31:04
P-70316
kubawal
» 2012-12-04 14:01:26
Użyj list

» Kurs OpenGL, C++Listy wyświetlania lekcja
P-70318
Mrusio
Temat założony przez niniejszego użytkownika
» 2012-12-04 15:21:21
listy niestety nic nie pomagają. Spróbuję z VBO :)
P-70326
« 1 »
  Strona 1 z 1