Sveiki,gribeju noskaidrot pāris lietas kuras mani jau kadu laicinju nomoka OpenGL vidē
Kas īsti skaitas elapsed time itka pēc tulkojuma saprotu ko tas nozime...
bet nesaprotu kā lai to isti aprēķina(iegūst)..
cik atceros xna bija viena neliela rindiņa..
float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
un otra lieta ir Virziens..Ko nozīmē virziens spēļu industrijā?
tā gadijuma nav ta pati Pozicija.Z?
butu ļoti jauki ja kads varetu nedaudz paskaidrot.. (:
Pāris jautājumi(Elapsed time& Direction)
Re: Pāris jautājumi(Elapsed time& Direction)
Jokaini tavi jautājumi. Tiem absolūti un pilnīgi nav nekāda sakara ar OpenGL.
Visticamāk tavā gadījumā elapsed time ir laiks kopš pēdējā updeita vai uzzīmētā kadra, vai funkcijas izsaukuma - atkarīgs par kādu API/freimworku tu runā. Ja nekādu/paša rakstītu, tad vienkārši ņem un rēķini to laiku. Tad elapsed time = t2 - t1, kur t1 un t2 ir patreizējais laiks attiecīgi iepriekšējā un tekošajā laika momentā.
Virziens ir virziens. Vektors. Kad tu ej pa ielu uz priekšu - tu virzies tādā pašā virzienā kādā ir ielas virziens. Pozicija.Z, ja Pozicija ir pozīcija telpā, ir trešā koordināte. Ja lidmašīna ir 10 km virs zemes, un Z virziens ir uz augšu, tad Pozicija.Z = 10km.
Visticamāk tavā gadījumā elapsed time ir laiks kopš pēdējā updeita vai uzzīmētā kadra, vai funkcijas izsaukuma - atkarīgs par kādu API/freimworku tu runā. Ja nekādu/paša rakstītu, tad vienkārši ņem un rēķini to laiku. Tad elapsed time = t2 - t1, kur t1 un t2 ir patreizējais laiks attiecīgi iepriekšējā un tekošajā laika momentā.
Virziens ir virziens. Vektors. Kad tu ej pa ielu uz priekšu - tu virzies tādā pašā virzienā kādā ir ielas virziens. Pozicija.Z, ja Pozicija ir pozīcija telpā, ir trešā koordināte. Ja lidmašīna ir 10 km virs zemes, un Z virziens ir uz augšu, tad Pozicija.Z = 10km.
Re: Pāris jautājumi(Elapsed time& Direction)
jamm ir nedaudz
Ja pareizi sapratu...
float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
tad elapsed vienkārši tiek papildināts... sanak ka ElapsedGameTime = kopš palaišanas brīža uzsakts tads ka taimeris..??
Ja pareizi sapratu...
float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;
tad elapsed vienkārši tiek papildināts... sanak ka ElapsedGameTime = kopš palaišanas brīža uzsakts tads ka taimeris..
Code: Select all
float elapsed;
//iekš update funkcijas
elapsed++;
//OpenGL
Re: Pāris jautājumi(Elapsed time& Direction)
Nekā nesapratu.
Ja runājam par Windows, tad tam ir GetTickCount() funkcija, kas atgriež laiku milisekundēs. To savā kodā var izmantot šādi:
Te daudz vairāk un detalizētāk izskaidrots:
http://gafferongames.com/game-physics/f ... -timestep/
http://www.koonsolo.com/news/dewitters-gameloop/
Ja runājam par Windows, tad tam ir GetTickCount() funkcija, kas atgriež laiku milisekundēs. To savā kodā var izmantot šādi:
Code: Select all
int main()
{
// ...
unsigned int time = GetTickCount();
// ...
while (running)
{
unsigned int now = GetTickCount();
unsigned int delta = now - time;
float elapsed = delta / 1000.0f;
time = now;
// ... te var lietot elapsed
input.process();
physics.simulate(elapsed);
graphics.render(elapsed);
window.swapBuffers();
}
}
http://gafferongames.com/game-physics/f ... -timestep/
http://www.koonsolo.com/news/dewitters-gameloop/