AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OpenGL - Grundsatzfragen

Ein Thema von stahli · begonnen am 17. Jan 2014 · letzter Beitrag vom 19. Jan 2014
 
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.166 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: OpenGL - Grundsatzfragen

  Alt 17. Jan 2014, 14:02
Hi!

OpenGL oder auch DirectX (ich habe lieber DirectX genommen)

Hat ja im eigentlichen nix mit der Logic zu tun, sondern bildet ja "nur" die Schnittstelle zur Grafikkarte und zur GPU.
Ob und welche Teile du in Thread auslagerst spielt eigentlich keine Rolle.

I.d.R. hast Du heute TFT's mit 60Hz also ist 60 FPS das Ziel. Wenn Deine Berechnungen schneller sind, Prima dann hast Du Zeit für andere Dinge.

Ich frage zwischen jedem Frame die Tastatur ab, weil es ich nicht leiden kann, wenn eine Tastenreaktion nicht sofort einen Effekt hat.
Wenn Deine 3D Scene zu aufwendig wird, musst Du also gemäß Deinem Kamerawinkel und der Entfernung der Objekte erst mal Deine 3D Objekte vor sortieren.
Dann über einen ZBuffer rausbekommen ob nicht ggf. eine Vielzahl von Objekten überhaupt nicht sichtbar sind. (Beispiel: Hinter der Wand stehen 1000 Bäume)

Ich habe vor meinem Snakeland 3D diese Buch gelesen und dann über ein 3D Forum und wöchentlichen Online-Teamspeak-Usertreffen den Rest gelernt.

Für bewegte Objekte z.B. ein Schuss oder ein sich bewegendes Objekt, rechnest Du ja nicht strikt alle Positionen der Bewegung nacheinander, sondern Du berechnest gemäß der Zeit an welcher Position das Objekt gerade seien soll. ggf. werden dann 20 Zwischenpositionen einfach weggelassen.
Für jedem Mauerstein hast Du also in Deiner Renderpipeline einen Eintrag. (Lassen wir mal die Kollisionen und Beeinflussungen durch andere Steine weg)
Bei Start von "Mauereinsturz" stehen also gemäß "soll 2 Sekunden dauern" schon alle Positionen fest. Wenn Du also den Aufruf für RenderSteinXY bekommst, musst Du berechnen wie viel Zeit seit dem Start vergangen ist und dann den Stein an der richtigen Position Rendern. Nur so bekommst Du Bewegungen die unabhängig von CPU,GPU Taktfrequenz und Dauer der Berechnung ist.

Mavarik
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz