Autor Wątek: [OpenGL] Pętla interka demoscenowego  (Przeczytany 514 razy)

Offline slowbro

  • Użytkownik

# Czerwiec 25, 2017, 12:13:38
Cześć

Mam pytanie do osób, które pracowały nad produkcjami demoscenowymi zwłaszcza intrami. Jakie podejścia zastosowaliście przy tworzeniu głównej pętli rysującej chodzi mi zwłaszcza o zagadnienie pobierania czasu/ilości beatów perkusji i przekazywania tego do głównej pętli rysującej.  Poniżej podaję pseudokod pętli znalezionej gdzieś na sieci, który dotyczy czasu obliczania czasu i przekazywania do do funkcji rysującej, ale nic nie stoi na przeszkodzie, aby dostosować go do czasu trwania poszczególnych scen intra określanych ilością uderzeń perkusji - beatów jak sugerowało kilka osób w odrębnym wątku (link http://forum.warsztat.gd/index.php/topic,24253.msg347272.html#new) Nie potrzebuje podania konkretnego kodu rozwiązania, ale plusy i minusy różnych podejść wynikających z Waszych doświadczeń:)


void run_demo()
{
        unsigned long running_timer=0;
 unsigned long demo_timer=GetTickCount();

 int duration=30000; // aka 30 seconds.

 while (1)
 {
  running_timer=GetTickCount();
 
  clear_gfx_buffer( screen_buffer, 0 );
 
  if ( (demo_timer + duration) <= running_timer )
  { 
   image_pos_x=random_int(0,2);
   demo_timer=running_timer;
  }
 }
}

Pozdrawiam

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline slowbro

  • Użytkownik

# Czerwiec 27, 2017, 18:47:23
Nikt? Nic?;)

Offline MDW

  • Użytkownik
    • www.encore-games.com

  • +1
# Czerwiec 27, 2017, 18:59:08
Pętla główna do dema właściwie nie różni się od pętli gry (przynajmniej takiej dynamicznej, a nie jakiejś układanki, tekstówki czy pasjansa). To aplikacje użytkowe mają inne pętle, czekające na jakieś eventy. A tu się napiernicza update(), draw() i na końcu czeka aż skończy się 1/60 sekundy (jeżeli założyliśmy sobie max. 60 fps).