-
18-09-2004, 17:42 #1Member
- Registered
- 30/09/02
- Location
- Mariakerke
- Posts
- 554
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Even snel op alle computers? (c++)
Kben wat bezig met in direct3d te prutsen met c++. Dat lukt redelijk tot nu toe, maar nu zit ik met het probleem dat de snelheid waarmee alles beweegt afhangt van de computer snelheid. Hoe kan je ervoor zorgen dat alles evensnel gaat op gelijk welke computer, dus onafhankelijk van uw fps?
no votes
-
-
18-09-2004, 18:06 #2
Recentelijk had ik hetzelfde probleem. De oplossing is time-based movement waarbij je aan de hand van een formule rendert. Maar veel verder dan de (in mijn geval niet-werkende) gamedev.net voorbeelden/artikels ben ik ook nog niet gekomen... Een deftig en werkend antwoord op deze vraag zou zeer welkom zijn
.
no votes
-
18-09-2004, 18:08 #3Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
in 4D werken dus ipv 3D
[Rasta]Grayfoxno votes
-
18-09-2004, 18:51 #4Member
- Registered
- 30/09/02
- Location
- Mariakerke
- Posts
- 554
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Dat ik daar nog niet had aangedacht
Kheb ook al wat zitten rondkijken in een directX vb, en daarin wordt het commando Sleep(100) gebruikt, maar dit geeft toch een verre van optimaal resultaat en ik twijfel of dit wel een goede oplossing is. Kdenk dat ik eens ga kijken in de directX demo's die met de SDK worden meegegeven...no votes
-
18-09-2004, 23:24 #5
Zoals .bal zegt; time-based movement;
je kan ook proberen je FPS vast te leggen op een bepaalde waarde, maar ik denk dat dit meer gesukkel zal te weeg brengen dan dat dit fatsoenlijk zou werken (dus op een tragere pc zal het toch nog altijd trager gaan dan normaal; logisch; met time-based niet)
gewoon op gametutorials.com (bv. OpenGL tutorials en dan FPS tut. en/of time-based mov.) en gamedev.net kan men daarover genoeg informatie over vindenno votes
-
19-09-2004, 01:55 #6Member
- Registered
- 17/07/02
- Location
- Knokke
- Posts
- 2,562
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/1
timebased -> tijd -> 4de dimensie -> 4D
[Rasta]Grayfoxno votes
-
19-09-2004, 11:09 #7no votes
-
19-09-2004, 11:55 #8Member
- Registered
- 30/09/02
- Location
- Mariakerke
- Posts
- 554
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
no votes
-
22-09-2004, 12:35 #9
Idd timebased movement...
Iedere keer dat ge uwe functie aanroept die het scherm update checken hoeveel tijd er verstreken is sinds de vorige aanroep van die functie en aan de hand daarvan (en de snelheid in pixels/sec van uw objecten) de nieuwe posities berekenen....
Is eigenlijk basiskennis voor ne 2D engine met Sprites hé :-)no votes
-
22-09-2004, 13:31 #10Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
Nu laat jij je beweging e.d. afhangen van uw refreshrate.
Je moet gewoon via timebased (in windows dus via GetTickCount) functies je beweging limiteren, bv. vooruitgaan mag maar 10 units per seconde zijn of zo
.
Je refreshrate laat je best op non-timebased staan
.
no votes
-
22-09-2004, 14:56 #11Member
- Registered
- 30/09/02
- Location
- Mariakerke
- Posts
- 554
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Hangt het niet eerder af van uw framerate dan van uw refreshrate?
Maar kheb er nu al een aantal artikels over gelezen en het werkt toch aardig momenteel.
Mjah, kheb nog nooit met sprites gewerkt, kben direct met Direct3D begonnenIs eigenlijk basiskennis voor ne 2D engine met Sprites hé :-)
no votes
-
22-09-2004, 19:17 #12
Mjah... Eigenlijk moet ge eerst 2D goed onder de knie hebben voor ge tegoei aan 3D kunt beginnen (kijk maar naar John Carmack... Die is ook begonnen met 2D (uitvinden van 2D side-scrolling op pc trouwens (en parallax scrolling ook)) en nu maakt diene vrij goede 3D engines
.
Voor de ouderen is da geen probleem want die moesten wel met 2D beginnen maar als ge nu begint is de verleiding groot om 3D te beginnen (maar da is dus een slechte keuze).no votes
-
22-09-2004, 20:15 #13Member
- Registered
- 12/10/02
- Location
- mars
- Posts
- 14,319
- iTrader
- 2 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/0
no votes
-
22-09-2004, 21:27 #14Member
- Registered
- 30/09/02
- Location
- Mariakerke
- Posts
- 554
- iTrader
- 1 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 2/2
Dat eerste wist ik ook wel, wat wil je er juist mee zeggen? Het is toch niet omdat niet alle beelden op uw scherm gaan getekend worden, doordat uw refresh rate lager is, dat dit de snelheid gaat verminderen? Het aantal instructies die worden uitgevoerd zijn toch onafhankelijk van de refresh rate, dus zal dit er toch geen invloed op hebben?
Ergens hebde natuurlijk wel gelijk dat het beter is om te beginnen met 2D, en dan over te stappen naar 3D.
Vorige zomer ben ikl direct begonnen met direct3D (ik kende wel al wat C++), en na een goeie 2 maand had ik toch al iets kunnen programmeren. Kwas begonnen aan een 3D rts. Khad al code voor mijn camera, die kon je bewegen in alle richtingen (links-rechts, boven-onder, inzoomen-uitzoomen, en hem platleggen) Ook kon je al tankskes bewegen adhv de muis, en gebouwen neerzetten. Maar aangezien ik tegelijkertijd moddeler, texture maker en coder was, is het nooit echt afgeraakt
Daarmee dat ik nu van plan ben iets simpelder te maken
no votes
