forked from zach-capalbo/PhysX
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrelease_notes.html
3961 lines (3529 loc) · 268 KB
/
release_notes.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Release Notes - NVIDIA PhysX SDK 4.1</title>
<style type="text/css">
body {
font-family: 'Trebuchet MS', 'DIN Pro', sans-serif;
font-size: 90%;
}
h1 {
color: #000000;
}
h2, h3, h4, h5 {
color: #76b900;
margin-bottom: 0px;
}
ul {
margin-top: 5px;
}
</style>
</head>
<body>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 4.1.2</h1>
<h2 style="TEXT-ALIGN: center">April 2021</h2>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>Added SnippetTriggers to show how to emulate triggers using regular non-trigger shapes. This supports trigger-trigger notifications and CCD.</li>
<li>Added Android 64 bits target:</li>
<ul>
<li>Added build preset for Android arm64-v8a architecture.</li>
<li>Using ANDROID ABI as part of the Android output folder to avoid name collisions between 32 and 64 bit binaries.</li>
<li>Ignoring strict-aliasing warning on Android.</li>
<li>Fixed compilation error on Android debug armv8: Not inlining computeDriveInertia function to fix "conditional branch out of range" error.</li>
</ul>
<li>Added support to build iOS with dynamic libraries:</li>
<ul>
<li>The changes are copied from macOS makefiles, now iOS makefiles are in line with macOS ones.</li>
<li>Update toolchain cmake file to only generate 64 bits target on iOS (as its preset suggests because it's called "ios64").</li>
</ul>
<li>Added support to build Android with dynamic libraries.</li>
<ul>
<li>The changes are copied from iOS makefiles, now Android makefiles are in line with iOS ones.</li>
</ul>
<li>Modified cmake files of PhysXCharacterKinematic and PhysXExtension projects for Mac/iOS/Android so they add the suffix "_static" like the other platforms.</li>
</ul>
<li>Fixed</li>
<ul>
<li>Some profile zones did not properly setup the "context" parameter. This has been fixed.</li>
<li>Removed duplicate closing cross-thread event for Basic.narrowPhase event.</li>
<li>Fixed buffer over-read in CmPool.h</li>
<li>Replaced all custom offsetof expressions that seem to dereference a null pointer with the PX_OFFSET_OF_RT macro.</li>
<li>Replaced run-time assert on sizeof(PxHeightFieldSample::height) with compile-time assert in physx::Gu::HeightFieldUtil constructor.</li>
<li>Various minor issues (doc typos, const correctness, compilation warnings, etc) reported on GitHub have been fixed.</li>
</ul>
</ul>
<h3> Rigid body </h3>
<ul>
<li>Changed:</li>
<ul>
<li>PxScene::setFrictionType() has been marked as deprecated due to its strong limitations. Simply set the desired friction type in PxSceneDesc.</li>
<li>It is now legal to set the number of velocity iterations to zero. In some difficult configurations involving large mass ratios, the TGS solver's convergence can be negatively impacted by velocity iterations.</li>
</ul>
<li>Fixed</li>
<ul>
<li>The PxContactSet::ignore() function was not working properly and has been fixed. This may have caused issues in PxVehicleModifyWheelContacts.</li>
<li>The debug visualization code could crash when using PxVisualizationParameter::eCOLLISION_COMPOUNDS. This has been fixed.</li>
<li>Fixed a crash in the reduced-coordinates articulation system when the application removes the articulation from the scene and reinserts it back into the scene.</li>
<li>Improved stacking quality with TGS solver simulating stacks of articulations.</li>
<li>Fixed TGS solver stability issue constraining a rigid body to a kinematic actor. </li>
<li>Fixed typo with ang dominance in CPU block solver.</li>
<li>Fixed rare crash destroying a contact manager during CCD.</li>
<li>Fixed buffer over-write when simulating a convex mesh with more than 64 vertices in a single face.</li>
</ul>
<li>Added</li>
<ul>
<li>PxRigidBodyFlag::eFORCE_KINE_KINE_NOTIFICATIONS and PxRigidBodyFlag::eFORCE_STATIC_KINE_NOTIFICATIONS have been added.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>The number of bytes allocated for vertices by the convex hull builder was incorrect. This has been fixed.</li>
</ul>
</ul>
<h3>Serialization</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>A performance problem in PxBinaryConverter when converting large collections has been fixed.</li>
</ul>
</ul>
<h3>Vehicles</h3>
<ul>
<li>Added:</li>
<ul>
<li>PxVehicleWheelsDynData::getConstraints() and PxVehicleWheelsDynData::getNbConstraints() have been added to potentially have vehicles use immediate mode for solving the vehicle rigid body constraints.</li>
<li>New method PxVehicleGraph::getRawData() to extract raw telemetry data.</li>
<li>An inflation parameter has been added to PxVehicleSuspensionSweeps.</li>
<li>New flags PxVehicleWheelsSimFlag::eDISABLE_INTERNAL_CYLINDER_PLANE_INTERSECTION_TEST and PxVehicleWheelsSimFlag::eDISABLE_SUSPENSION_FORCE_PROJECTION have been added.</li>
</ul>
<li>Changed:</li>
<ul>
<li>Concurrent calls to PxVehicleUpdateSingleVehicleAndStoreTelemetryData() are now permitted if the additional parameter vehicleConcurrentUpdates is used. </li>
</ul>
<li>Fixed:</li>
<ul>
<li>A null pointer dereference bug has been fixed. The bug occurred if the vehicle's rigid body actor was asleep and the vehicle relied on cached tire contact planes rather than the results of a fresh suspension query.</li>
</ul>
</ul>
<h3>Character controller</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>The prefilter & postfilters callback were called all the time, ignoring the PxQueryFlag::ePREFILTER and PxQueryFlag::ePOSTFILTER flags. This has been fixed.</li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>The BVH34 codepath had a bug in the raycast-vs-mesh-with-mutiple-hits case, where returned hits could be further away than defined max hit distance. This has been fixed.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 4.1.1</h1>
<h2 style="TEXT-ALIGN: center">August 2019</h2>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>Support for Visual Studio 2019 has been added, cmake 3.14 is required.</li>
</ul>
<li>Changed:</li>
<ul>
<li>Android binary output directory name contains Android ABI string.</li>
</ul>
</ul>
<h3>Vehicles</h3>
<ul>
<li>Added:</li>
<ul>
<li>PxVehicleWheelsSimFlags and corresponding set/get methods have been added to PxVehicleWheelsSimData. The flag eLIMIT_SUSPENSION_EXPANSION_VELOCITY can be used to avoid suspension forces being applied if the suspension can not expand fast enough to push the wheel onto the ground in a simulation step. This helps to reduce artifacts like the vehicle sticking to the ground if extreme damping ratios are chosen.</li>
</ul>
<li>Fixed:</li>
<ul>
<li>The PxVehicleDrive::setToRestState() was not clearing all cached data, which could sometimes make vehicles misbehave after calls to this function.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Added:</li>
<ul>
<li>Added error message when not at least four valid vertices exist after vertices cleanup.</li>
</ul>
</ul>
<h3>Serialization</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Binary serialization of kinematic rigid dynamic actors was failing unless they were part of a scene.</li>
</ul>
</ul>
<h3> Rigid body </h3>
<ul>
<li>Fixed</li>
<ul>
<li>Out of shared memory failure with GPU articulations.</li>
<li>Inconsistent results when setting joint drive targets with GPU articulations compared to CPU articulations.</li>
<li>Assert when simulating a scene with > 64k rigid bodies and joints.</li>
<li>Error in PxActor::getConnectors() method when there are multiple connector types.</li>
<li>Setting joint positions on articulations did not update world-space link poses and velocities.</li>
<li>Improved TGS articulation joint drive solver.</li>
<li>Improved robustness of articulation spherical joints.</li>
<li>Joint forces/positions/velocities set through the PxArticulationCache are correctly applied when using GPU articulations.</li>
<li>Fixed rare crash in MBP when the system contains out-of-bounds objects.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 4.1.0</h1>
<h2 style="TEXT-ALIGN: center">March 2019</h2>
<h3>Overview</h3>
<ul>
<li>Immediate mode support for reduced-coordinates articulations and the temporal Gauss Seidel solver.</li>
<li>GPU acceleration for reduced-coordinates articulations.</li>
</ul>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>Added support for UWP, note that cmake 3.13.4 is required for uwp arm64.</li>
</ul>
<li>Fixed:</li>
<ul>
<li>PhysXGpu DLLs are now standalone, so they will now work with both static and dynamic PhysX libraries.</li>
<li>PhysX delay loading code is disabled for the static library configuration.</li>
</ul>
<li>Changed:</li>
<ul>
<li>Removed PxGpuDispatcher class. Instead of querying the GPU dispatcher with PxCudaContextManager::getGpuDispatcher() and providing it to the PxScene with PxSceneDesc::gpuDispatcher, please provide the CUDA context manager directly using PxSceneDesc::cudaContextManager.</li>
<li>PxCreateCudaContextManager does have an additional parameter PxProfilerCallback, that is required in order to get profiling events from the GPU dll.</li>
<li>FastXml project is now compiled as OBJECT on win platforms and is linked into PhysXExtensions library.</li>
<li>Removed PxArticulationBase::getType(), PxArticulationBase::eReducedCoordinate, PxArticulationBase::eMaximumCoordinate and added PxConcreteType::eARTICULATION_REDUCED_COORDINATE, PxConcreteType::eARTICULATION_JOINT_REDUCED_COORDINATE.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Added:</li>
<ul>
<li>Immediate mode API for reduced-coordinates articulations.</li>
<li>Immediate mode API for the temporal Gauss Seidel (TGS) solver .</li>
<li>Compute dense Jacobian matrix for the reduced-coordinates articulations.</li>
<li>GPU acceleration for reduced-coordinates articulations with PGS solver.</li>
<li>GPU acceleration for reduced-coordinates articulations with TGS solver (experimental).</li>
</ul>
<li>Changed:</li>
<ul>
<li>PxSimulationStatistics::nbDynamicBodies does not include kinematics any longer. Instead they are covered in new nbKinematicBodies counter.</li>
</ul>
<li>Fixed:</li>
<ul>
<li>Fixed speculative CCD optimization with sleeping bodies.</li>
<li>Fixed the overlap termination condition in the GJK code for sphere primitive. </li>
<li>Fixed a bug in the face selection algorithm for paper thin box overlapped with capsule. </li>
<li>Fixed a contact recycling issue with PCM contact gen. </li>
<li>Fixed an issue with articulation when removing and adding links to the articulation. </li>
</ul>
</ul>
<h3>Serialization</h3>
<ul>
<li>Added:</li>
<ul>
<li>PxSerialization::serializeCollectionToBinaryDeterministic, convenience function to post-process binary output with PxBinaryConverter for determinism. For achieving determinism, the checked build needs to be used.</li>
<li>Support for binary and xml serialization for PxArticulationReducedCoordinate.</li>
</ul>
<li>Fixed:</li>
<ul>
<li>PxBinaryConverter can now produce deterministic output, independent of the runtime environment the objects have been serialized in. For achieving determinism, the checked build needs to be used for serializing collections.</li>
</ul>
<li>Changed:</li>
<ul>
<li>PX_BINARY_SERIAL_VERSION has been changed to a global unique identifier string. PX_PHYSICS_VERSION is no longer part of binary data versioning.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 4.0.0.25635910</h1>
<h2 style="TEXT-ALIGN: center">January 2019</h2>
<h3>General</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed issue in PxBinaryConverter::convert that could corrupt platform re-targeting of convex meshes with more than 127 vertices.</li>
<li>GenerateProject scripts should now also work when not called from PhysX directory.</li>
<li>GenerateProject script will now create correct compiler/ directory on Linux based systems.</li>
<li>Removed /Wall from MSVC compilers.</li>
<li>Fixed CMake install, added missing cudacontextmanager files.</li>
<li>Fixed binary serialization of actors in aggregates without serialization of the containing aggregate.</li>
</ul>
<li>Removed:</li>
<ul>
<li>CharacterKinematic API export/import macros have been removed.</li>
</ul>
<li>Added:</li>
<ul>
<li>Support for Linux samples has been added.</li>
<li>PxConfig.h include file will be generated during generate projects script. Including this file in your project will ensure that required defines (like PX_PHYSX_STATIC_LIB) are set.</li>
</ul>
<li>Changed:</li>
<ul>
<li>PX_FOUNDATION_API was moved to PhysX and uses PX_PHYSX_STATIC_LIB define as the rest of the SDK.</li>
<li>PxAssertHandler moved from PxShared to PhysX and marked as deprecated.</li>
<li>PxShared does use PX_SHARED_ASSERT instead of PX_ASSERT which is used just in the PhysX SDK and uses PxAssertHandler.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 4.0</h1>
<h2 style="TEXT-ALIGN: center">December 2018</h2>
<h3>Supported Platforms</h3>
<table cellspacing=3>
<tr>
<th width="24" />
<th align="left">Runtime</th>
<th width="18" />
<th align="left">Development</th>
</tr>
<tr>
<td />
<td>Apple iOS (tested on 12.1)</td>
<td />
<td>Xcode (tested with 10.1)</td>
</tr>
<tr>
<td />
<td>Apple macOS (tested on 10.13)</td>
<td />
<td>Xcode (tested with 10.1)</td>
</tr>
<tr>
<td />
<td>Google Android ARM (tested with API Level 19 - KITKAT)</td>
<td />
<td>NDK r13b</td>
</tr>
<tr>
<td />
<td>Linux (tested on Ubuntu 16.04), GPU acceleration: display driver and GPU supporting CUDA 10 / CUDA ARCH 3.0</td>
<td />
<td>Clang (tested with 3.8)</td>
</tr>
<tr>
<td />
<td>Microsoft Windows, GPU acceleration: display driver and GPU supporting CUDA 10 / CUDA ARCH 3.0</td>
<td />
<td>Microsoft Visual Studio 2013, 2015, 2017</td>
</tr>
<tr>
<td />
<td>Microsoft XBox One*</td>
<td />
<td></td>
</tr>
<tr>
<td />
<td>Nintendo Switch*</td>
<td />
<td></td>
</tr>
<tr>
<td />
<td>Sony Playstation 4*</td>
<td />
<td></td>
</tr>
</table>
* Console code subject to platform NDA not available on GitHub. Developers licensed by respective platform owners please contact NVIDIA for access.
<h2>Changes and Resolved Issues</h2>
<blockquote>
<i>Note: Platform specific issues and changes can be found in the readme file of the corresponding platform.</i>
</blockquote>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>New Temporal Gauss Seidel (TGS) solver offering a new level of simulation accuracy.</li>
<li>New Reduced Coordinate Articulation feature with no relative positional error and realistic actuation.</li>
<li>New automatic multi-broadphase (ABP) providing better out of the box performance for many use cases.</li>
<li>New BVH structure supporting better performance for actors with many shapes.</li>
</ul>
<li>Removed:</li>
<ul>
<li>PhysX Particle feature.</li>
<li>PhysX Cloth feature.</li>
<li>The deprecated active transforms feature has been removed. Please use active actors instead.</li>
<li>The deprecated multi client behavior feature has been removed.</li>
<li>The deprecated legacy heightfields have been removed.</li>
</ul>
<li>Changed:</li>
<ul>
<li>The PhysX SDK build system is now based on CMake generated build configuration files. For more details, please refer to the PhysX SDK 4.0 Migration Guide.</li>
<li>The Linux build has been changed to produce static as opposed to shared libraries. The compiler was switched from GCC to Clang.</li>
<li>The PxShared library contains functionality shared beyond the PhysX SDK. It has been streamlined to a minimal set of headers. The PxFoundation singleton has been moved back to the PhysX SDK, as well as the task manager, CUDA context manager and PhysX Visual Debugger (PVD) functionality.</li>
<li>PhysXDelayLoadHook and PhysXGpuLoadHook have been simplified, and PxFoundationDelayLoadHook has been removed.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Added:</li>
<ul>
<li>A new broadphase implementation has been added. See PxBroadPhaseType::eABP for details. This is now the default broadphase implementation.</li>
<li>TGS: A new rigid body solver, which can produce improved convergence compared to the default rigid body solver.</li>
<li>Optional torsional friction model to simulate rotational friction when there is just a single point of contact.</li>
<li>A flag to enable friction constraints to be processed every frame has been added</li>
<li>PxContactJoint added to represent contacts in inverse dynamics. Not intended for use in simulation.</li>
<li>A missing PxShape::getReferenceCount() function has been added.</li>
<li>A new flag has been added to PxMaterial to improve friction accuracy. The flag is disabled by default to maintain legacy behavior.</li>
</ul>
<li>Removed:</li>
<ul>
<li>PxVisualizationParameter::eDEPRECATED_BODY_JOINT_GROUPS has been removed.</li>
<li>PxSceneDesc::maxNbObjectsPerRegion has been removed.</li>
<li>PxRigidActor::createShape() has been removed. Please use PxPhysics::createShape() or PxRigidActorExt::createExclusiveShape() instead</li>
<li>The deprecated mass parameter in PxTolerancesScale has been removed.</li>
<li>PxSceneFlag::eDEPRECATED_TRIGGER_TRIGGER_REPORTS has been removed.</li>
</ul>
<li>Changed:</li>
<ul>
<li>Aggregates can now contain more than 128 actors.</li>
<li>Switching a kinematic object to dynamic does not automatically wake up the object anymore. Explicit calls to PxRigidDynamic::wakeUp() are now needed.</li>
<li>Switching a kinematic object to dynamic re-inserts the object into the broadphase, producing PxPairFlag::eNOTIFY_TOUCH_FOUND events instead of PxPairFlag::eNOTIFY_TOUCH_PERSISTS events.</li>
<li>PxConvexMeshGeometryFlag::eTIGHT_BOUNDS is now enabled by default for PxConvexMeshGeometry.</li>
<li>The default max angular velocity for rigid bodies has been changed, from 7 to 100.</li>
</ul>
</ul>
<h3>Extensions</h3>
<ul>
<li>Added:</li>
<ul>
<li>PxD6Joint now supports per-axis linear limit pairs.</li>
<li>Added PxSphericalJoint::getSwingYAngle and PxSphericalJoint::getSwingZAngle.</li>
<li>Added PxD6Joint distance limit debug visualization.</li>
<li>Added PxD6JointCreate.h file with helper functions to setup the D6 joint in various common configurations.</li>
<li>Added pyramidal swing limits to the D6 joint.</li>
</ul>
<li>Removed:</li>
<ul>
<li>PxComputeHeightFieldPenetration has a new signature.</li>
<li>PxComputeMeshPenetration has been removed. Use PxComputeTriangleMeshPenetration instead.</li>
</ul>
<li>Changed:</li>
<ul>
<li>PxRevoluteJoint now properly supports a -PI*2 to +PI*2 range for its limits, and the accuracy of limits has been improved. In order to use extended limit ranges, PxConstraintFlag::eENABLE_EXTENDED_LIMITS must be raised on the constraint.</li>
<li>PxD6Joint now properly supports a -PI*2 to +PI*2 range for its twist limit, and the accuracy of the twist limit has been improved. In order to use extended limit ranges, PxConstraintFlag::eENABLE_EXTENDED_LIMITS must be raised on the constraint.</li>
<li>The accuracy of the D6 joint swing limits has been improved.</li>
<li>PxDistanceJoint does now always insert constraint row, this change does increase the limit precision.</li>
<li>PxDistanceJoint::getDistance does not anymore return squared distance.</li>
<li>PxD6Joint::setDriveVelocity, PxD6Joint::setDrivePosition and PxRevoluteJoint::setDriveVelocity have now additional parameter autowake, which will wake the joint rigids up if true (default behavior).</li>
<li>Joint shaders now take a bool to define whether to use extended joint limits or not.</li>
<li>Joint shaders must now provide the cA2w and cB2w vectors, defining the world-space location of the joint anchors for both bodies.</li>
</ul>
<li>Deprecated:</li>
<ul>
<li>PxD6Joint::getTwist() has been deprecated. Please use PxD6Joint::getTwistAngle() now.</li>
<li>The previous PxD6Joint::setLinearLimit() and PxD6Joint::getLinearLimit() functions (supporting a single linear limit value) have been deprecated. Please use PxD6Joint::setDistanceLimit() and PxD6Joint::getDistanceLimit() instead. Or you can also use the new PxD6Joint::setLinearLimit() and PxD6Joint::getLinearLimit() functions, which now support pairs of linear limit values.</li>
</ul>
</ul>
<h3>Articulations</h3>
<ul>
<li>Added:</li>
<ul>
<li>New reduced coordinate articulation implementation, supporting a wider range of joint types, more accurate drive model, inverse dynamics and joint torque control.</li>
<li>PxArticulationJoint::getParentArticulationLink and PxArticulationJoint::getChildArticulationLink has been added.</li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Removed:</li>
<ul>
<li>PxHitFlag::eDISTANCE has been removed.</li>
<li>The PxVolumeCache feature has been removed.</li>
<li>The PxSpatialIndex feature has been removed.</li>
<li>The deprecated PxSceneFlag::eSUPPRESS_EAGER_SCENE_QUERY_REFIT has been removed.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Added:</li>
<ul>
<li>PxBVHStructure added, it computes and stores BVH structure for given bounds. The structure can be used for actors with large amount of shapes to perform scene queries actor centric rather than shape centric. For more information please see guide or snippets.</li>
</ul>
<li>Removed:</li>
<ul>
<li>PxPlatform enum has been removed. PhysX supported platforms all share the same endianness</li>
<li>The deprecated PxCookingParams::meshCookingHint and PxCookingParams::meshSizePerformanceTradeOff parameters have been removed.</li>
<li>The deprecated PxGetGaussMapVertexLimitForPlatform has been removed, use PxCookingParams::gaussMapLimit instead.</li>
<li>The deprecated PxConvexMeshCookingType::eINFLATION_INCREMENTAL_HULL and PxCookingParams::skinWidth have been removed.</li>
<li>PxBVH34MidphaseDesc::numTrisPerLeaf has been renamed to PxBVH34MidphaseDesc::numPrimsPerLeaf</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<br>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.2.25354359</h1>
<h2 style="TEXT-ALIGN: center">December 2018</h2>
<h2>General</h2>
<ul>
<li>Changed:</li>
<ul>
<li>Changed GitHub distribution to BSD license.</li>
</ul>
</ul>
<h2>Supported Platforms</h2>
<table cellspacing=3>
<tr>
<th width="24" />
<th align="left">Runtime</th>
<th width="18" />
<th align="left">Development</th>
</tr>
<tr>
<td />
<td>Apple iOS (tested on 12.1)</td>
<td />
<td>Xcode (tested with 10.1)</td>
</tr>
<tr>
<td />
<td>Apple macOS (tested on 10.13)</td>
<td />
<td>Xcode (tested with 10.1)</td>
</tr>
<tr>
<td />
<td>Google Android ARM (tested with API Level 16, Android 4.1 - JELLY_BEAN)</td>
<td />
<td>NDK r13b-win32</td>
</tr>
<tr>
<td />
<td>Linux (tested on Ubuntu 16.04, GPU acceleration: NVIDIA Driver version R361+ and CUDA ARCH 3.0)</td>
<td />
<td>GCC (tested with 4.8)</td>
</tr>
<tr>
<td />
<td>Microsoft Windows XP or later (NVIDIA Driver version R304 or later is required for GPU acceleration)</td>
<td />
<td>Microsoft Visual Studio 2012, 2013, 2015</td>
</tr>
<tr>
<td />
<td>Microsoft XBox One*</td>
<td />
<td></td>
</tr>
<tr>
<td />
<td>Nintendo Switch*</td>
<td />
<td></td>
</tr>
<tr>
<td />
<td>Sony Playstation 4*</td>
<td />
<td></td>
</tr>
</table>
* Console code subject to platform NDA not available on GitHub. Developers licensed by respective platform owners please contact NVIDIA for access.
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.2.25256367</h1>
<h2 style="TEXT-ALIGN: center">November 2018</h2>
<h3>General</h3>
<ul>
<li>Changed:</li>
<ul>
<li>A couple of serialization write functions have been optimized.</li>
<li>Rtree cooking has been slightly optimized.</li>
<li>Renamed PxSerializer::requires to PxSerializer::requiresObjects due to an erroneous clash with C++20 keyword with apple-clang.</li>
</ul>
<li>Fixed:</li>
<li>Moved external vector math includes out of PhysX namespaces.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed an incorrect trigger behavior when a trigger was removed and inserted within the same frame.</li>
</ul>
</ul>
<h3>Scene query</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed a bug in BVH34. Raycasts could fail on binary deserialized BVH34 triangle meshes.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.2.24990349</h1>
<h2 style="TEXT-ALIGN: center">September 2018</h2>
<h3>General</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>PxMeshQuery::getTriangle adjacency information for heightfield geometry fixed.</li>
<li>Removed PxSetPhysXGpuDelayLoadHook from API. Delay loaded dynamically linked library names are now provided through PxSetPhysXDelayLoadHook.</li>
<li>Fixed a source of non-determinism with GPU rigid bodies.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed a divide by zero bug when gjk is trying to calculate the barycentric coordinate for two identical/nearly identical points. </li>
<li>Fixed an incorrect mesh index reported in contact buffer when stabilization flag was used. </li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.2.24698370</h1>
<h2 style="TEXT-ALIGN: center">August 2018</h2>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed a crash bug when EPA's edge buffer overflow. </li>
<li>GPU rigid bodies fixed for Volta GPUs.</li>
</ul>
<li>Added:</li>
<ul>
<li>Aggregate broad phase now runs in parallel</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul></ul>
<li>Added:</li>
<ul>
<li>PxHeightField::getSample has been added.</li>
</ul>
</ul>
<h3>Character controller</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Capsule controller with a very small height could degenerate to spheres (with a height of exactly zero) far away from the origin, which would then triggers errors in Debug/Checked builds. This has been fixed.</li>
<li>The triangle array growing strategy has been changed again to prevent performance issues when tessellation is used. Memory usage may increase in these cases.</li>
<li>Some internal debug visualization code has been disabled and a crash in it has been fixed.</li>
</ul>
</ul>
<h3>Scene query</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed possible buffer overrun when PxPruningStructure was used.</li>
<li>Raycasts against a heightfield may have missed if a large distance was used.</li>
<li>Sq raycasts against heightfield or triangle mesh could return a mildly negative values, this has been fixed.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.2.24214033</h1>
<h2 style="TEXT-ALIGN: center">May 2018</h2>
<h3>General</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed clang 7 unionCast issues.</li>
<li>Fixed the binary meta data in PhysX_3.4/Tools/BinaryMetaData for conversion of vehicles.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Deprecated:</li>
<ul>
<li>PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS and PxSceneDesc::eENABLE_KINEMATIC_PAIRS have been deprecated. Use the new PxPairFilteringMode parameters in PxSceneDesc instead.</li>
</ul>
<li>Fixed:</li>
<ul>
<li>A sequence of shape->setFlag(PxShapeFlag::eSIMULATION_SHAPE, false) / shape->setFlag(PxShapeFlag::eSIMULATION_SHAPE, true) without simulation calls inbetween could produce errors in the broadphase. This has been fixed.</li>
<li>Fixed a bug in the broadphase (SAP) that got recently introduced in SDK 3.4.1.23933511. It should only have generated a few false positives (more overlaps than stricly necessary).</li>
<li>Fixed a bug in PxShape::checkMaterialSetup.</li>
<li>Fixed intermittent crash with GPU rigid bodies when materials were destroyed.</li>
<li>Fixed bug where setting maxImpulse to 0 on CCD contact modification meant contact was not reported in the frame's contact reports.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Big convex mesh serialization used together with insertion callback stored incorrect memory for big convex data. This has been fixed.</li>
</ul>
</ul>
<h3>Scene query</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed a bug in extended bucket pruner, when a pruning structure was added and immediatelly released.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1.23933511</h1>
<h2 style="TEXT-ALIGN: center">April 2018</h2>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>Added snippet for deformable meshes, added section in the guide for them.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>PxTriangleMesh::refitBVH() was crashing with PxMeshPreprocessingFlag::eDISABLE_ACTIVE_EDGES_PRECOMPUTE. This has been fixed.</li>
<li>SQ-only shapes contained in aggregates could result in crashes or memory corruption when removed from the aggregate. This has been fixed.</li>
<li>Assert no longer fired if a dynamic body contacting a static is converted to kinematic with kinematic-static pairs enabled.</li>
<li>Assert reporting broad phase as being "inconsistent" could fire when using speculative CCD when sleeping objects were activated.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Convex hull cooking could have produced hulls with vertices too far from convex hull planes, this has been fixed.</li>
</ul>
<li>Changed:</li>
<ul>
<li>PxCooking::createTriangleMesh does now take additional output parameter PxTriangleMeshCookingResult::Enum.</li>
<li>PxCooking::createConvexMesh does now take additional output parameter PxConvexMeshCookingResult::Enum.</li>
</ul>
</ul>
<h3>Scene query</h3>
<ul>
<li>Changed:</li>
<ul>
<li>PxSceneFlag::eSUPPRESS_EAGER_SCENE_QUERY_REFIT has been marked as deprecated. Was replaced with PxSceneQueryUpdateMode enum, if this new enum is set the flag gets ignored.</li>
</ul>
<li>Added:</li>
<ul>
<li>PxSceneQueryUpdateMode was added to control work done during fetchResults.</li>
<li>PxScene::sceneQueriesUpdate, PxScene::checkQueries and PxScene::fetchQueries were added to run separate scene query update, see manual for more details.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1.23584284</h1>
<h2 style="TEXT-ALIGN: center">February 2018</h2>
<h3>General</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>PhysX sometimes froze in a spinlock after certain sequences of read & write locks. This has been fixed.</li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Raycasts against heightfields were sometimes missing hits for vertical rays were located exactly at the heightfield's boundaries. This has been fixed.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Avoid edge-face collisions on boundary edges when eNO_BOUNDARY_EDGES flag is raised on heightfield when using PCM and unified HF collision.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1.23472123</h1>
<h2 style="TEXT-ALIGN: center">January 2018</h2>
<h3>General</h3>
<ul>
<li>Added:</li>
<ul>
<li>Visual Studio 2017 15.5.1 and newer is now supported. Samples are currently not supported with Visual Studio 2017.</li>
</ul>
<li>Removed:</li>
<ul>
<li>Visual Studio 2012 support is discontinued.</li>
</ul>
</ul>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Cooked mesh structures contained a mix of little-endian and big-endian data (the midphase structures were always saved as big-endian). This made loading of cooked files slower than necessary. This has been fixed.</li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Buffered moves were sometimes not properly taken into account by scene queries, leading to invalid results for one frame. This has been fixed.</li>
<li>Pruning structure failed to build when actor had more shapes. This has been fixed.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1.23173160</h1>
<h2 style="TEXT-ALIGN: center">November 2017</h2>
<h3>Extensions</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>An issue with CCD sweeps against meshes that could potentially lead to the earliest impact not being detected has been fixed.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1.23131702</h1>
<h2 style="TEXT-ALIGN: center">November 2017</h2>
<h3>General</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>A bug in the management of internal interaction objects has been fixed.</li>
</ul>
</ul>
<h3>Extensions</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>A regression in prismatic constraint stability introduced in PhysX 3.4.1 has been fixed.</li>
<li>PxRevoluteJoint::getAngle(), PxD6Joint::getTwist(), PxD6Joint::getSwingYAngle() and PxD6Joint::getSwingZAngle() did not always return the correct angle. This problem has been fixed.</li>
<li>The "double cone" case of the D6 joint had errors both in the debug visualization and the code dealing with limits. This has been fixed.</li>
<li>The debug visualization of the D6 joint in the twist case did not properly color-code the angular limits. This has been fixed.</li>
<li>The debug visualization of distance joints has been fixed.</li>
<li>The debug visualization of prismatic joints has been fixed.</li>
<li>The debug visualization of revolute joints has been fixed. It now renders active limits properly (in red when the limit is active, grey otherwise).</li>
<li>Proper visualization flags are now passed to the PxConstraintVisualize function. Previously all available flags were active, even if PxVisualizationParameter::eJOINT_LOCAL_FRAMES and/or PxVisualizationParameter::eJOINT_LIMITS were set to zero.</li>
<li>PxRevoluteJoint::getVelocity has been fixed.</li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Sweep queries using the eMTD flag could generate incorrect normals in sphere/sphere, sphere/capsule or capsule/capsule cases, when the objects were exactly overlapping each-other. This has been fixed.</li>
<li>Sweep convex mesh vs heightfield queries using the eMTD flag did not fill correctly returned faceIndex. This has been fixed.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.1</h1>
<h2 style="TEXT-ALIGN: center">September 2017</h2>
<h2>Changes and Resolved Issues</h2>
<blockquote>
<i>Note: Platform specific issues and changes can be found in the readme file of the corresponding platform.</i>
</blockquote>
<h3>General</h3>
<ul>
<li>Deprecated:</li>
<ul>
<li>The PhysX cloth feature has been deprecated.</li>
</ul>
<li>Changed:</li>
<ul>
<li>The meaning of PxVisualizationParameter::eCULL_BOX has changed. It is now used to visualize the current culling box, while it was previously used to enable or disable the feature. Please simply use PxScene::setVisualizationCullingBox() to enable the feature from now on.</li>
<li>PxVisualizationParameter::eBODY_JOINT_GROUPS has been deprecated.</li>
<li>Performance of setCMassLocalPose function has been improved.</li>
</ul>
<li>Added:</li>
<ul>
<li>PhysXGpu: Added warnings for the case when the dynamic gpu library fails to load.</li>
</ul>
</ul>
<h3>Rigid Bodies</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>A potential crash when calling detachShape has been fixed.</li>
<li>Fixed assert that fired if application switched a body from dynamic to kinematic, then queried kinematic target without setting one. This assert only fired if the modifications overlapped simulation so were buffered.</li>
<li>PxArticulation::getStabilizationThreshold() and PxArticulation::setStabilizationThreshold() were accessing the sleep threshold instead of the stabilization threshold. This has been fixed.</li>
<li>Fixed an internal edge bug in PCM sphere vs mesh code</li>
<li>Make sure sphere vs sphere and sphere vs box in PCM contact gen generate contacts consistently on the second body when the sphere center is contained in the other shape</li>
</ul>
<li>Changed:</li>
<ul>
<li>Improved convex vs mesh contact generation when using GPU rigid bodies. Requires the mesh to be recooked.</li>
<li>Improved convex vs convex contact generation when using GPU rigid bodies.</li>
<li>Reduced memory footprint of GPU triangle meshes significantly. Requires the mesh to be recooked.</li>
</ul>
<li>Added:</li>
<ul>
<li>Support for modifying friction and restitution coefficients has been added to contact modification. </li>
<li>Added PxRigidBodyFlag::eENABLE_CCD_MAX_CONTACT_IMPULSE to enable maxContactImpulse member of PxRigidBody to be used in CCD. This is disabled by default. It is useful in some circumstances, e.g. shooting a small ball through a plate glass window and triggering it to break, but it can also result in behavioral artefacts so it is disabled by default.</li>
<li>Added PxSceneDesc::solverOffsetSlop. This is defaulted to a value of 0. A positive, non-zero value defines a tolerance used in the solver below which a contacts' offset from the COM of the body is negligible and therefore snapped to zero. This clamping occurs in a space tangential to the contact or friction direction. This is aimed at pool or golf simulations, where small numerical imprecision in either contact points or normals can lead to balls curving slightly when there are relatively high angular velocities involved.</li>
<li>Added PxConvexMeshGeometry::maxMargin. This allows the application to tune the maximum amount by which PCM collision detection will shrink convex shapes in contact generation. This shrinking approach leads to some noticeable clipping around edges and vertices, but should not lead to clipping with face collisions. By default, the mesh is shrunk by an amount that is automatically computed based on the shape's properties. This allows you to limit by how much the shape will be shrunk. If the maxMargin is set to 0, then the original shape will be used for collision detection. </li>
</ul>
</ul>
<h3>Scene queries</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>A rare invalid memory read that could lead to incorrect sweep results in case of an initial overlap has been fixed.</li>
</ul>
</ul>
<h3>Serialization</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Binary serialization didn't preserve PxConstraintFlags, e.g. projection flags.</li>
<li>Xml serialization failed if a shape referencing a PxTriangleMesh was added to another (dependent) collection.</li>
</ul>
</ul>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<br>
<!-- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<h1 style="TEXT-ALIGN: center">Release Notes - NVIDIA<sup>®</sup> PhysX<sup>®</sup> SDK 3.4.0.22387197</h1>
<h2 style="TEXT-ALIGN: center">June 2017</h2>
<h2>Changes and Resolved Issues</h2>
<blockquote>
<i>Note: Platform specific issues and changes can be found in the readme file of the corresponding platform.</i>
</blockquote>
<h3>Cooking</h3>
<ul>
<li>Fixed:</li>
<ul>
<li>Fixed issue when PxConvexFlag::e16_BIT_INDICES was used together with PxConvexFlag::eCOMPUTE_CONVEX.</li>
<li>Fixed issue in convex hull cooking when postHullMerge was not executed.</li>
<li>Fixed crash in CCD when using bodies with 0 mass.</li>
</ul>