Seite 1 von 3
Physik Engine
Verfasst: 10.01.2010 00:00
von KeauHou
Hi,
nachdem ich das ganze 4x komplett neu geschrieben habe(unter anderem in C und C# xD) habe ich es jetzt wieder wie ursprünglich mit PureBasic versucht und konnte endlich ein paar kleine Erfolge erzielen

Hier die Demo auf dem Screenshot:
Download
Die Kreise + Kollision funktionieren einwandfrei, ich kann auch schon Kreise verbinden (siehe screenshot orange, blau, türkis) und die verbindungen unterschiedlich flexibel einstellen.
Hab noch ein Problem, dass mich davon abhält beliebige Formen erzeugen und diese mehr oder weniger realistisch kollidieren zu lassen (Kollisionerkennung funktioniert schon, aber die Berechnung der Impulse die auf die beiden Eckpunkte der Linie und den Ball wirken nicht), aber ich arbeite daran
/EDIT: Hier n kleines Video mit Ballons ^_^
http://de.tinypic.com/r/311kyhl/6
/EDIT2: Noch ne kleine Demo
Download Demo 2
/EDIT3:
Download Demo 3
Video
MfG KeauHou
Re: Physik Engine
Verfasst: 10.01.2010 00:21
von STARGÅTE
coool, erinnert mich n bisschen an meine Engine aus diesem Thema hier:
http://www.purebasic.fr/german/viewtopi ... 28#p188928
in dem Link in meinem beitrag sind die Codes und n demo-exe
Ladts dir mal runter dann kannst n bisschen vergleichen, habe das projekt auf Eis gelegt!
Habe das problem nicht in griff bekommen das die Obejkte immer Energie aus dem nix bezogen und dann irgendwann "explodierten"
Was mir bei dir auffällt ist: das (zumindest bei mir) die CPU bei 100% ist ich habe nur 10FPS habe ... was bei den "paar" Kreisen ganz schön wenig ist ...
(1,8 GHz P4)
Ich würde mich sehr für den Quellcode interessieren, ggf. kann ich dir helfen sachen zu beschleunigen ...
Würde gerne mehr testen aber es rückelt einfach zu stark sry ...
Re: Physik Engine
Verfasst: 10.01.2010 00:28
von KeauHou
Hm also ich will nicht meckern aber exakt diese Demo läuft selbst auf meinem Netbook mit 40fps und da stekcen auch nur 1,6ghz und ne Intel GM 950 Chipsatzgrafik drin =/
Was hast du denn in etwa für Hardware?
Re: Physik Engine
Verfasst: 10.01.2010 00:33
von STARGÅTE
damit du siehst das ich dich nicht verarsche, hier n Screen
http://data.unionbytes.de/10f.JPG
Hardware: Pentium 4, 1.8GHz, ATI RADEON 9700 (128MB)
Re: Physik Engine
Verfasst: 10.01.2010 00:37
von Crawler
Läuft bei mir absolut sauber bei ca. 140 fps. Ein Kern wird nahezu voll ausgelastet, liegt immer bei 90%.
(PhenomII 955 BE)
Re: Physik Engine
Verfasst: 10.01.2010 00:41
von KeauHou
Das mit dem voll auslasten ändere ich noch momentan ist kein Delay drin, das wird später dynamisch passend zur benötigten Zeit für die Berechnungen damit es nicht bei weniger objekten zu schnell läuft.
@Stargate: Screenshot vom Netbook
http://ucicollection.uc.funpic.de/uploa ... s_test.jpg
Ich kann mir beim besten will nicht erklären warum das bei dir so schlecht läuft o.O
Re: Physik Engine
Verfasst: 10.01.2010 00:50
von Shadow-Gamer
sieht gut aus

, allerdings sollten die gegenstände auch zur ruhe kommen wenn man nichts macht, die wackeln immer leicht
Re: Physik Engine
Verfasst: 10.01.2010 00:51
von mpz
Hi,
gefällt mir wirklich gut. Die FPS liegen bei 75 und höher für Athlon 2 x4000 und GTS 250. Wenn Du das noch für 3D hättest würde ich es gerne bei mir in der MP3D Engine einbauen. Hast Du vielleicht Codesschnippsel für physikalische Funktionen fertig? Meine Physik beschränkt sich derzeit auf
Kraftwirkung mit 3D Vector
Wind mit mit 3D Vector
Gravitation mit 3D Vector
Setzen von Masse, Abprallkraft und Reibung, wobei die Abprallkraft noch ohne Funktion ist
Kollisionstest von KugelKugel oder BoxBox
Über Hilfe würde ich mich freuen...
Gruß Michael
Re: Physik Engine
Verfasst: 10.01.2010 00:56
von STARGÅTE
jo das ist vermutlich ein problem der gegenseitigen Überprüfung:
1 sagt das 2 rutschen muss, 2 sagt 3 muss dann aber auch rutschen und 3 sagt dann muss aber 1 rutschen.
so entstehen Zyklische Bezüge -> wackeln
@KeauHou
Meine CPU kann einfach weniger Rechenschritte machen als deine oder von anderen, und wenn es sehr viele Berechnungen sind, dann geht das nun mal nicht anders ...
Hier mal n BilligSpeedtest:
Mal bite ohne Debugger starten und zeit nennen :
Code: Alles auswählen
#Size = 1000000000
b = 123 : c = 123 : e = 123 : f = 123
Time = ElapsedMilliseconds()
For n = 1 To #Size
a = b + c : d = e * f
Next
Time1 = ElapsedMilliseconds()-Time
MessageRequester("Testergebnis", "Time1: "+Str(Time1))
---------------------------
Testergebnis
---------------------------
Time1: 7312
---------------------------
OK
---------------------------
Re: Physik Engine
Verfasst: 10.01.2010 00:57
von ts-soft
Schöne Spielerei, Kugeln hin und her schmeissen macht Spaß
110 FPS, CPU unter 60%
AMD X2 6000+, GTS 250
Gruß
Thomas
@StarGate
MessageRequester hat geschrieben:---------------------------
Testergebnis
---------------------------
Time1: 2391
---------------------------
OK
---------------------------