Physik Engine

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
KeauHou
Beiträge: 133
Registriert: 23.06.2009 00:22
Computerausstattung: Q9550, GTX260, Corsair Dominator 4GB 1066mhz, 22" Asus 16:10
Wohnort: Vorm Monitor
Kontaktdaten:

Physik Engine

Beitrag 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 :D
Hier die Demo auf dem Screenshot: Download
Bild

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
Bild

MfG KeauHou
Zuletzt geändert von KeauHou am 12.01.2010 23:45, insgesamt 4-mal geändert.
If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Es ist möglich!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Physik Engine

Beitrag 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 ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
KeauHou
Beiträge: 133
Registriert: 23.06.2009 00:22
Computerausstattung: Q9550, GTX260, Corsair Dominator 4GB 1066mhz, 22" Asus 16:10
Wohnort: Vorm Monitor
Kontaktdaten:

Re: Physik Engine

Beitrag 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?
If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Es ist möglich!
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Physik Engine

Beitrag 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)
Zuletzt geändert von STARGÅTE am 09.07.2010 15:54, insgesamt 1-mal geändert.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Crawler
Beiträge: 110
Registriert: 08.02.2009 19:52
Computerausstattung: PB 4.41
Win7 64bit

Re: Physik Engine

Beitrag 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)
PB 4.41 | Win7 64bit
Benutzeravatar
KeauHou
Beiträge: 133
Registriert: 23.06.2009 00:22
Computerausstattung: Q9550, GTX260, Corsair Dominator 4GB 1066mhz, 22" Asus 16:10
Wohnort: Vorm Monitor
Kontaktdaten:

Re: Physik Engine

Beitrag 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
If x = 1 and x = 2
MessageRequester("!!!", "WTF")
EndIf
Es ist möglich!
Benutzeravatar
Shadow-Gamer
Beiträge: 152
Registriert: 06.09.2009 13:31
Computerausstattung: NB: Intel P8700, Mobility ATI HD4650, 4GB, Win 7

Re: Physik Engine

Beitrag von Shadow-Gamer »

sieht gut aus :allright: , allerdings sollten die gegenstände auch zur ruhe kommen wenn man nichts macht, die wackeln immer leicht
Ich versuche ja nicht faul zu sein. :)
Benutzeravatar
mpz
Beiträge: 497
Registriert: 14.06.2005 15:53
Computerausstattung: Win 10 Pro, 16 GB Ram, Intel I5 CPU und TI1070 Grafikkarte, PB 5.73 / 6.00 beta4
Wohnort: Berlin, Tempelhof

Re: Physik Engine

Beitrag 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
Working on - MP3D Engine -
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6999
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Physik Engine

Beitrag 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
---------------------------
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: Physik Engine

Beitrag von ts-soft »

:allright:

Schöne Spielerei, Kugeln hin und her schmeissen macht Spaß :wink:

110 FPS, CPU unter 60%

AMD X2 6000+, GTS 250

Gruß
Thomas

@StarGate
MessageRequester hat geschrieben:---------------------------
Testergebnis
---------------------------
Time1: 2391
---------------------------
OK
---------------------------
Antworten