P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.
-
Upload
sofia-raichle -
Category
Documents
-
view
109 -
download
0
Transcript of P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.
![Page 1: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/1.jpg)
PHYSIKALISCHE SIMULATIONMIT NVIDIA PHYSX28.01.2009David RiedmannAndré Müller
![Page 2: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/2.jpg)
INHALT Grundlagen physikalischer
SimulationSimulation von BewegungenProbleme bei der SimulationKollisionen, StößeBeispielszenario/Demo
PhysX Einführung in das SDKSpezialeffekteHardware-BeschleunigungDemos
![Page 3: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/3.jpg)
GRUNDLAGEN PHYSIKALISCHER SIMULATION
![Page 4: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/4.jpg)
BESCHREIBUNG VON BEWEGUNGEN
Position eines Objektes: Geschwindigkeit
Änderungsrate der Positionerste Ableitung nach der Zeit:
BeschleunigungÄnderungsrate der Geschwindigkeitzweite Ableitung nach der Zeit:
![Page 5: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/5.jpg)
BEISPIEL: OBJEKT IM FREIEN FALL
Bewegungsgleichung Beschleunigung = Erdbeschleunigung
Lösung: Integrieren einmal Integrieren ergibt
Geschwindigkeit
nochmal Integrieren ergibt Position
IntegrationskonstantenAnfangsgeschwindigkeit und -position
![Page 6: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/6.jpg)
IN DER SIMULATION Differenzialgleichungen numerisch lösen
iteriere über diskrete Zeitschritte addiere Änderungsraten in jedem
Zeitschritt Explizites Eulerverfahren
in jedem Zeitschritt
implizite Verfahren, Runge-Kuttamehrere Zeitschritte in die Zukunft mit
verschiedenen GewichtungenBeschleunigung abhängig von zukünftigen
Kräften
![Page 7: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/7.jpg)
PROBLEME BEI DER SIMULATION Energieerhaltung kann verletzt
werdenObjekte werden z.B. immer schneller
Bewegung nicht exakt kein Stillstand/ständige kleine
Bewegungen Durchdringungen bei Kollision Ursachen
endliche ZeitschritteRundungsungenauigkeiten
(Fließkommazahlen)
![Page 8: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/8.jpg)
LÖSUNGSMÖGLICHKEITEN Zeitschritte verkleinern Rechenzeit! Unerlaubte Durchdringungen in jedem
Zeitschritt nachträglich beseitigeneventuell unnatürliche
Bewegungen/Sprünge Reibungen vergrößern
zehrt unerlaubte Energiezunahme aufmuss genau eingestellt werden, damit
realistisch Plastische statt elastische Kollisionen
„weiche“ Stößeverringert Energie
![Page 9: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/9.jpg)
STATE OF THE ART - METHODENLangrange-Multiplikator-Methoden bilde Lösung der DGLs auf die Lösung
von linearen Gleichungssystemen ab:Linear Complementary Problems (LCP)
Nebenbedingungen für Durchdringungsfreiheit
Herausforderungen/Problemesinguläre Matrizenschwach besetzte MatrizenIntegrator-Probleme bleiben
![Page 10: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/10.jpg)
ROTATIONEN Darstellung über Winkel, 3x3 Drehmatrix
oder Quaternion (4-Tupel) Rotation um feste Achse durch
Schwerpunktanalog zur TranslationPosition Winkel/Matrix/QuaternionGeschwindigkeit Winkelgeschwindigkeit
(Drehachse) Beschleunigung WinkelbeschleunigungMasse TrägheitsmomentKraft Drehmoment
Drehachse im Allgemienen nicht konstant!
![Page 11: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/11.jpg)
ROTATIONEN UM BELIEBIGE ACHSEN
Veränderung der Drehachse durch Kollisionen oder beim Rollenin jedem Zeitschritt momentane Drehung
und Drehachse aktualisieren Trägheitsmoment
abhängig von der momentanen Drehachse Trägheitstensor (Darstellung als 3x3-Matrix)
bei Drehungen um einer der drei Hauptträgheitsachsen oder dazu Parallele reicht ein skalares Trägheitsmomentz.B. bei gelagerten Drehachsen (Fahrzeugräder)
![Page 12: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/12.jpg)
EXTERNE KRÄFTE / DREHMOMENTE
beschleunigen ObjekteBeschleunigung hängt von Objektmasse 𝑚 ab
Winkelbeschleunigung hängt von Trägheitstensor ab
Kräfte darstellbar alsKraftvektorVektorfelder (Kraftvektor abhängig von Position)
darstellbare EffekteGravitationWindMagnetfelder
![Page 13: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/13.jpg)
ZUSTAND EINES OBJEKTES
Masse Position (Vektor) Geschwindigkeit (Vektor) Drehung
(Winkel/3x3-Matrix/Quaternion) Trägheitstensor (3x3-Matrix) Winkelgeschwindigkeit/Drehachse
(Vektor) Zustandsänderungen durch
Käfte BeschleunigungenDrehmomente
Winkelbeschleunigungen
![Page 14: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/14.jpg)
KOLLISIONSERKENNUNG Kugeln
Kollision falls Summe der Radien > Abstand der Mittelpunkte
Quader / DreiecksobjekteSeparating Axis Theoremprojiziere Objektausdehnung auf
alle möglichen Achsenrichtungenwenn Projektionsintervalle
nicht überlappen keine Kollision
![Page 15: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/15.jpg)
KOLLISIONSERKENNUNG N Objekte Paare Objekte mit vielen Dreiecken
viele Rechenoperationen/Abfragen Bounding Volumes
einfache Hüllkörper nähern komplexe Formen an
KugelnQuader (Bounding Box, Oriented Bounding
Box)Kapseln (Zylinder mit angeflanschten
Halbkugeln) Space Partitioning (Octree)
finde wahrscheinliche Kollisionspaare in
![Page 16: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/16.jpg)
STOẞPROZESSE an der Ebene: Einfallswinkel =
Ausfallswinkel Geschwindigkeit
Komponente parallel zur Wand bleibt gleich
Komponente senkrecht zur Wand ändert Vorzeichen
Elastizität1 elastisch
keine Energie geht verloren0 plastisch
Stoßpartner nach Stoß in Ruhe
![Page 17: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/17.jpg)
STOẞPROZESSE: 2 IDENTISCHE KUGELN
GeschwindigkeitTangentialkomponente unverändertRadialkomponente wird ausgetauscht
![Page 18: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/18.jpg)
STOẞPROZESSE: VERSCHIEDENE KUGELN
Impulserhaltung + EnergieerhaltungElastischer Stoß: Summe der Impulse/Energien
vor und nach dem Stoß gleich Radialgeschwindigkeiten nach dem
Stoßabhängig von den Massen der Stoßpartner:
Einfache Implementierung nicht-elastischer Stöße: reduziere beide Geschwindigkeiten um Faktor
![Page 19: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/19.jpg)
STOẞPROZESSE ALLGEMEIN
Impulserhaltung + Energieerhaltung für rotierende Objekte
führt auf Newton-Hypothesebeschreibt Änderung der
Geschwindigkeiten und Winkelgeschwindigkeiten beim Stoß
Parameter: Elastizität wie zuvor
![Page 20: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/20.jpg)
REIBUNGEN Haftreibung
~ Anpresskraft~ Haftreibungskoeffizient
Gleitreibung~ Anpresskraft ~ Gleitreibungskoeffizent~ Relativgeschwindigkeit reibender Objekte
Rollreibung~ Anpresskraft ~ Rollreibungskoeffizient
ReibungskoeffizientenRollen < Gleiten < Haften
![Page 21: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/21.jpg)
BEISPIELSZENARIO
![Page 22: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/22.jpg)
BEISPIELSZENARIO geschlossener würfelförmiger
BehälterMittelpunkt im UrsprungSeitenlänge 2L (veränderbar)
N Kugeln im Innern Stöße (Elastizität einstellbar)
Kugel-WandKugel-Kugel
Schwerkraft in Richtung (0,-g,0) (einstellbar)
keine Rotation/Rollen
![Page 23: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/23.jpg)
BEISPIELSZENARIO – IMPLEMENTIERUNG explizites Euler-Verfahren
![Page 24: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/24.jpg)
BEISPIEL: KOLLISION KUGEL-WAND
![Page 25: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/25.jpg)
BEISPIEL: KOLLISION KUGEL-KUGEL
![Page 26: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/26.jpg)
EINFÜHRUNG IN DAS PHYSX SDK• Grundlagen / Konventionen• Initialisierung • Aktoren• Gelenke• Effektoren• Spezialeffekte
![Page 27: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/27.jpg)
INTERESSANTES ÜBER PHYSX
2002 Gründung von Ageia als StartUp
Entwicklung und Veröffentlichung von PhysX (vormals NovodeX) im Mai 2006
PhysX besteht aus zwei Komponenten (SDK und einer Zusatzkarte)
Zeitgleich entwickelt Havok zusammen mit NVIDIA Havok FX;eine Physik-Engine die die Physikberechnung auf die Grafikkarte holt
![Page 28: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/28.jpg)
INTERESSANTES ÜBER PHYSX
September 2007: Intel kauft HavokHavok FX wird eingestellt, da Intels Grafikkarten zu schwach sind.
Februar 2008: NVIDIA übernimmt Ageia
August 2008: NVIDIA veröffentlicht “Geforce Power Pack“Jetzt finden die Berechnungen über CUDA auf der Grafikkarte statt.
Ergebnis: Eine NVIDIA Grafikkarte ist schneller als eine Ageia Zusatzkarte + Grafikkarte
![Page 29: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/29.jpg)
HARWARE-BESCHLEUNINGUNG: CUDA
Compute Unified Device Architecture Berechnungen über GPU und Texturspeicher nutzt im Prinzip gleiche Hardware-
Mechanismen wie Shaderprogramme CUDA normalerweise:
C-Funktionen „Kernels“ für die GPU mit speziellem NVIDIA Compiler kompilieren
PhysX: kein extra CUDA-Code notwendig PhysX erkennt automatisch, ob ein CUDA-
fähiger Grafikkartentreiber installiert istund führt dann Berechnungen auf der GPU aus.
![Page 30: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/30.jpg)
HARWARE-BESCHLEUNINGUNG: CUDA
Aktuelle Leistungsdaten (theoretisch): NVIDIA GeForce GTX 285: 1,06 TFLOP AMD HD 4870 (RV770) X2: 2,4 TFLOP Core 2 Quad bei 3 Ghz: 96 GFLOPS Mehr Infos zu Cuda hier
![Page 31: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/31.jpg)
SDK: PRINZIPIELLES Physikalische Eigenschaften und
Zustände von der Geometrie entkoppelt
spezielle Import-Funktionalität für Geometriefür Cloth und Soft Bodies noch
Vorbereitung notwendigPunktverschmelzung möglichAbfasen von Kanten
![Page 32: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/32.jpg)
SDK: INITIALISIERUNGNxPhysicsSDK* gPhysicsSDK NxCreatePhysicsSDK ( NxU32 sdkVersion, NxUserAllocator * allocator = NULL, NxUserOutputStream * outputStream = NULL, const NxPhysicsSDKDesc & desc =
NxPhysicsSDKDesc(), NxSDKCreateError * errorCode = NULL )
erstellt bei Vorhandensein des richtigen SDK eine Instanz des PhysX SDK
Singleton/ReferenceCounting für jeden Call Release für jede Instanz
![Page 33: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/33.jpg)
SDK: SZENE INITIALISIEREN
Definition: Eine Szene ist ein Container fürActors (Körper)Joints (Gelenke)Effectors (Kräfte)
NxSceneDesc sceneDesc;sceneDesc.gravity = gDefaultGravity;NXScene *gScene = gPhysicsSDK->
createScene(sceneDesc);
![Page 34: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/34.jpg)
SDK: ACTOR ERSTELLEN Ein Actor ist das wesentliche
Simulationsobjekt von PhysX wird von einer Szene erstellt und ist
in ihr enthalten Kann dynamisch (Body vorhanden)
oder statisch (Body nicht vorhanden) sein.
referenziert 0 (dynamisch), 1(statisch) oder mehrere Shapes
![Page 35: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/35.jpg)
SDK: SHAPES sind an Aktoren gebunden enthalten darstellbare Geometrie enthalten Materialeigenschaften Shape-Typen
KugelnQuaderKapselnKonvexes MeshDreiecks-Mesh
![Page 36: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/36.jpg)
SDK: ACTOR BEISPIELCODE
NxActorDesc actorDesc;NxBodyDesc bodyDesc;NxBoxShapeDesc boxDesc;
boxDesc.dimensions.set( 1, 1, 10);boxDesc.localPose.t = NxVec3(0, 0, 0);actorDesc.body = &bodyDesc;actorDesc.density = 1.0f;actorDesc.globalPose.t = NxVec3(-10,40,10);
NxActor *gBox = gScene->createActor(actorDesc);if(gBox) gBox->setLinearVelocity(NxVec3(0,50,0));
![Page 37: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/37.jpg)
SDK: MASSEBESTIMMUNG EINES ACTORS erfolgt über das ShapeMöglichkeiten der Angabe einer Masse: Masse > 0; keine Dichte und
Trägheitstensor Dichte > 0; keine Masse und
Trägheitstensor Masse > 0, Trägheitstensor >0; keine
Dichte andernfalls schlägt das Erzeugen
des Actors fehl aus Dichteinformation wird Masse
anhand der Shapegeometrie errechnet
![Page 38: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/38.jpg)
SDK: MATERIALEN Material bestimmt Eigenschaften
Elastizität Reibung (Gleit- und Haftreibung)Besonderheit: anisotrope ReibungMasse/Massendichte
Problem: Eigenschaften nicht nur von einem Material abhängigCombine-Methoden: (min, max, avg,
multiply) zukünftig bewegte Oberflächen
und andere Arten der Reibung (Punktreibung)
![Page 39: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/39.jpg)
SDK: KOLLISION ZWISCHEN AKTORENBedingungen für Kollisionserkennung mindestens einer der Aktoren muss
dynamisch sein Kollisionen zwischen den Gruppen
der Aktoren müssen deaktiviert sein insbesondere Kollision zwischen
Aktoren oder Shapes ist nicht deaktiviert
Problem: schnelle Bewegung bei zu großen Zeitschritten => Continuous Collision Detection
![Page 40: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/40.jpg)
SDK: JOINTS Ein Joint, auch Constraint genannt,
referenziert immer zwei Actors und setzt deren Bewegung in Beziehung zueinander.
Der Aufwand der Berechnung eines Joints hängt unmittelbar von der Anzahl der Freiheitsgrade (maximal 6) ab.
Kann dynamisch (Body vorhanden) oder statisch (Body nicht vorhanden) sein.
Je nach Anwendungsgebiet gibt es angepasste Joints: NxDistanceJoint, NxCylindricalJoint, NxD6Joint, …
![Page 41: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/41.jpg)
SDK: JOINTS BEISPIELCODE
NxDistanceJointDesc distDesc;distDesc.actor[0] = pSphere1; distDesc.actor[1] = pSphere2; distDesc.localAnchor[0].zero();distDesc.localAnchor[1].zero();NxSpringDesc spring;spring.spring = 100;spring.damper = 0.5;distDesc.spring = spring;
NxJoint *pJoints = gScene->createJoint(distDesc);
![Page 42: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/42.jpg)
SDK: ARCHITEKTUR-DIAGRAMM
![Page 43: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/43.jpg)
PHYSX: FLÜSSIGKEITEN Realisiert als Partikelsystem
PartikeleigenschaftenPosition, Geschwindigkeit, Lebenszeit, Dichte,…
Szenen-SetupQuellen (Emitter), kann an Shapes gebunden
werdenSenken (Drain)zusätzliche Manipulationsmöglichkeiten:
Partikel hinzufügen, updaten, löschen 3 Berechnungsmethoden zur Auswahl
Smoothed Particle Hydrodynamics (SPH)schnell, numerisch robust
keine Interaktion zwischen Partikelngemischt
![Page 44: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/44.jpg)
PHYSX: SOFT BODIES Realisiert als Feder-Masse-System
benutzt den Cloth-Solvererfordert Tetraedrisierung von ObjektenFedern an den Tetraederkantenhält Tetraedervolumina konstantDehnungsbeschränkung
![Page 45: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/45.jpg)
PHYSX: CLOTH (TEXTILIEN)
ParameterBiegesteifigkeit, ZugsteifigkeitDichte, DickeDämpfung, Reibungexterne Kräfte (Wind, Schwerkraft)zulässige Dehnungs- und BiegegrenzenMassepunkte lassen sich an
Festkörperpunkte/Shapes binden Realisiert als Feder-Masse-System
Selbst-KollisionKollision mit festen Körpern
![Page 46: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/46.jpg)
SDK: KONVENTIONEN Rückgabewerte und Parameter die
NULL sein dürfen, werden als Pointer übergeben.
Überprüfen der Gültigkeit/ungewohnter Code:
NxActorDesc actorDesc;NxBodyDesc bodyDesc;.........actorDesc.body = &bodyDesc;
![Page 47: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/47.jpg)
SDK: KONVENTIONEN Rückgabewerte und Parameter die
nicht NULL sein dürfen, werden als Referenzen übergeben. Vorteile: Es werden keine überflüssigen Kopien angelegt und Überprüfung auf NULL überflüssig.
Objekte werden nicht direkt erstellt. Sondern über Deskriptoren von einer
übergeordneten Instanz erzeugt.
![Page 48: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/48.jpg)
SIMULATIONEN LAUFEN ASYNCHRON
Rigid Bodies Flüssigkeiten Cloth Soft Bodies Kraftfelder
![Page 49: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/49.jpg)
PHYSX THREADING INTERFACE
sceneDesc.flags &= ~NX_SF_SIMULATE_SEPARATE_THREAD;
sceneDesc.flags |= NX_SF_SIMULATE_SEPARATE_THREAD;
Weiteres Flag: NX_SF_ENABLE_MULTITHREAD
![Page 50: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/50.jpg)
PHYSX PERFORMNACE
Quelle: www.computerbase.de
![Page 51: P HYSIKALISCHE S IMULATION MIT NVIDIA P HYS X 28.01.2009 David Riedmann André Müller.](https://reader035.fdocument.pub/reader035/viewer/2022062417/55204d7049795902118c1b68/html5/thumbnails/51.jpg)
QUELLEN www.nvidia.com http://www.computerbase.de
/artikel/hardware/grafikkarten/2008/bericht_nvidia_cuda_physx_ueberblick/1
http://www.heise.de/newsticker/Radeon-HD-4870-X2-AMD-stellt-schnellste-Grafikkarte-vor--/meldung/114131
http://www.heise.de/newsticker/Nvidia-kuendigt-GeForce-GTX-285-an--/meldung/121359
http://www.cebit.de/newsanzeige_d?news=34080&tag=1213567201&source=/newsarchiv_d&noindex
http://ode.org/slides/parc/dynamics.pdf