APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft...

89
next APEX 1.3 Release Notes »

Transcript of APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft...

Page 1: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

nextAPEX1.3ReleaseNotes»

Page 2: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

NVIDIA(R)APEX(TM)SDKReleaseNotes(APEXSDKhasbeendeprecated)Note:APEXSDKhasbeendeprecated

Contents:

APEX1.4.1-ReleaseNotes(APEXhasbeendeprecated)InstallingAPEXNewin1.4Newin1.3.3Newin1.3.2Newin1.3.1Newin1.3Newin1.2.4Newin1.2.3Newin1.2.2Newin1.2.1Newin1.2Newin1.1Newin1.0

APEXClothingReleaseNotesAPEXClothing1.3.3APEXClothing1.3.2APEXClothing1.3.1APEXClothing1.3APEXClothing1.2.4APEXClothing1.2.3APEXClothing1.2.2APEXClothing1.2.1APEXClothing1.2APEXClothing1.1APEXClothing1.0Beta

APEXParticlesReleaseNotesAPEXParticles1.4APEXParticles1.3.3

Page 3: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3.2APEXParticles1.3.1APEXParticles1.3APEXParticles1.2.4APEXParticles1.2.3APEXParticles1.2.2APEXParticles1.2.1APEXParticles1.2

APEXDestructionReleaseNotesAPEXDestruction1.3.4APEXDestruction1.3.3APEXDestruction1.3.2APEXDestruction1.3.1APEXDestruction1.3APEXDestruction1.2.4APEXDestruction1.2.3APEXDestruction1.2.2APEXDestruction1.2.1APEXDestruction1.2APEXDestruction1.1APEXDestruction1.0Beta

nextAPEX1.3ReleaseNotes»©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.

Page 4: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

nextprevious|APEX1.3ReleaseNotes»

Page 5: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEX1.4.1-ReleaseNotes(APEXhasbeendeprecated)Note:APEXSDKhasbeendeprecated

Page 6: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

InstallingAPEX

WindowsRequirements:

1. VisualStudio2010,2012,2013or2015.

2. Microsoft DirectX SDK June 2010 or later (to build the WindowsAPEXsamples)

1. TheDirectX includepath shouldbeset inVisualStudio inVC++DirectoriestobuildtheWindowssamples

2. The DirectX End-User Runtime Web Installer(dxwebsetup.exe)canbedownloadedfromMicrosoft if theprebuiltAPEXsamplesdonotrunbecausetheycannotfindtheJune2010DXruntimes.

3. GraphicsrenderermustsupportatleastOpenGLversion1.5toruntheWindowsAPEXsamplesinOpenGLmode

APEXforPhysX3.4Requirements

1. PhysX SDK for 3.4 for Windows (the APEX source distributionrequiresthePhysXsourcedistribution)

SDKZipDistributions:

Thesourceandbinarydistributionscome incompressedzipdistributions.Thesourcedistributiondoesnotcontainsamples,justthecoreAPEXSDK.

Note: TobuildtheAPEXprojects,thePhysXSDKpathinthenxpath.vspropsfilesmustbemodified.TheUpdatePhysXPaths.vbsscriptisprovidedforthispurpose.Itwillmodifythenxpath.vspropsfilesunderthecompilerfolders.SimilarAndroiddistributionsetupisdonebysetting

Page 7: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

upMakefilewithoutusingthisscript.The3.xPhysXpathshouldcontainthefolderlocation(absoluteorrelative)thatcontainsthe“Include”directory.

Note: TheAPEXSDKsourcebuildrequiresthePhysX3.4sourcedistribution.

Page 8: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.4

General

RefactoredpublicAPInamingconvensionsRemovedglobalLODsupportRefactoredAPEXsamplesandaddedAPEXsnippetsRemoved PhysX 2.8.4 support. Added build configuration withoutPhysXlinkingforClothingmodule

Optimizations

Fixes

KnownIssues

Page 9: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.3.3

General

The APEX release build configurations for x86 and x64 now alsocontainauthoringcode.Onotherplatformsauthoringisstillremovedforreleasebuilds.WindowsAPEXsamplesnowrenderusingD3D11bydefault.Usethe-d3d9commandlineoptiontorenderusingD3D9instead.

Optimizations

Fixes

KnownIssues

PVDsupportmaynotbeworkingonAndroid.

Page 10: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.3.2

General

AddedNVTXprofilingsupportfornon-releasebuilds.Tracescanbecaptured using Parallel Nsight Analysis Tools. NVTX is supportedonlyforWindowsandAndroid.

Optimizations

Added ability to change render resource lock behavior or disablelockingaltogether,toimproveperformance.Thesettingispermodule.SeeNxModule::setRenderLockModeandNxApexRenderLockMode.Addedabilitytodisablepotentiallyexpensivestatcollectionifit’snotneeded.SeeNxApexSDK::setEnableApexStats.

Fixes

FixedcrashifapplicationcreatesAPEXSDKafteralreadyconnectingtoPVD.

KnownIssues

PVDsupportmaynotbeworkingonAndroid.

Page 11: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.3.1

General

AddedVS2012supportforsourcedistributionswithPhysX3.x.Assertionsarenowenabledinthecheckedconfiguration.Added NxApexActor::setEnableDebugVisualization to selectivelydisabledebugvisualizationonparticularactors.The NxUserRenderResourceManager’s surface buffer create andrelease virtual methods must be implemented by the user. They areonlyusedbyparticularturbulencefeatures,soifturbulenceisn’tbeingusedtheimplementationcanbeempty.StartingwithNVIDIAR302drivers,applicationdeveloperscandirecttheOptimusdriveratruntimetousetheHighPerformanceGraphicstorenderanyapplication-eventhoseapplicationsforwhichthereisnoexistingapplicationprofile.TheAPEXsamplesnowmakesuseofthis“NvOptimusEnablement” feature to enable High PerformanceGraphicsbydefault.DebuginfoaddedtoallPS4buildsexceptreleasebuilds.Android sample builds now generate an APK. This requires someextradefines for JavaandAnt.See theAndroidexamples sectionofthesampledocumentationfordetails.

Fixes

FixedrareNamedResourceProviderfailuretofindresource.Using allocViewMatrix(ViewMatrixType::USER_CUSTOMIZED)nowworks.CleanedupseveralPS4compilerwarnings.

KnownIssues

PVDsupportmaynotbeworkingonAndroid.

Page 12: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.3

General

Thelegacymodulesareallcombinedinonemodule,APEX_Legacy.Theparticlemodulesareallcombinedinonemodule,APEX_Particles(withtheexceptionofTurbulence).TheWindmodulewasremoved.The NxUserRenderBoneBufferDesc::maxBones member will nowreflect the actual max bones specified inNxUserRenderResourceManager::getMaxBonesForMaterial(). Theactual number of bones used will be sent in theNxUserRenderBoneBuffer::writeBuffer() numBones parameter. Inprevious APEX versions, NxUserRenderBoneBufferDesc::maxBonesreflectedtheminimum(numBones,maxBones).APEX’s output stream will automatically be sent to PVDwhen theapplicationisconnectedtoPVD.TheoutputStreammemberoftheNxApexSDKDeschasbeenremovedwhenusingPhysX3.x.APEXwillautomaticallyusethesameoutputstreamasPhysX.

KnownIssues

PVDsupportmaynotbeworkingonAndroid.

Page 13: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.2.4

General

EditorWidgetsheaderfilesaddedtobinarydistributions.Addedmoreassetpreviewsforconsistency.PS3gccsupporthasbeendeprecatedinAPEX1.2.4infavorofSNC.Thegccversionisstillincludedbutnotsupported.Fixedsomeallocationsthatwerenotgoingthroughtheuser-suppliedallocator.

KnownIssues

There are shadow and flickering issues when running the APEXsamplesusingtheDirectX11renderer(–d3d11).SomekeyandbuttonmappingsintheAPEXsamplesareincompleteonPS3andXbox360.TheremaybeissuesconnectingtoPVDfromconsoleswiththePhysX2.8.4buildofAPEX.

Page 14: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.2.3

General

NxResourceProviderisnowcase-insensitivebydefault.Togettheoldcase-sensitive behavior, set resourceProviderIsCaseSensitive true intheNxApexSDKDesc.Fixedissueswithre-entrantreadlocksdescribedbelow.GPUrigidbodiesarenolongersupportedonpre-Fermihardware.

KnownIssues

There are shadow and flickering issues when running the APEXsamplesusingtheDirectX11renderer(–d3d11).SomekeyandbuttonmappingsintheAPEXsamplesareincompleteonPS3andXbox360.TheremaybeissuesconnectingtoPVDfromconsoleswiththePhysX2.8.4buildofAPEX.

Page 15: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.2.2

General

APEXrequirestheuseofthePhysX3.xscenemultiple-reader-single-writerlocktoaccessbothAPEXandPhysXsceneobjectswhenusingthe PxSceneFlag::eREQUIRE_RW_LOCK flag. This allows theapplication using APEX to access PhysX objects from multiplethreads.Formoreinformation,seethe“SceneLocking”sectionofthe“DataAccessandBuffering”PhysX3.xdocumentation.(SeeKnownIssuesforlimitationswhenusingthislock)

KnownIssues

There are shadow and flickering issues when running the APEXsamplesusingtheDirectX11renderer(–d3d11).As of PhysX 3.2.2 the lock offered by the PhysX scene does notsupport re-entrant read locks. This is currently a problem if theapplicationattemptstousetheAPEXactororassetAPIswhileAPEXandPhysXare simulating (for instance, raycasting against anAPEXDestructible actor using NxDestructibleActor::raycast). This will beaddressedinafutureversionofAPEX.SomekeyandbuttonmappingsintheAPEXsamplesareincompleteonPS3andXbox360.TheremaybeissuesconnectingtoPVDfromconsoleswiththePhysX2.8.4buildofAPEX.

Page 16: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.2.1

General

NxApexSphereShape getRadius/setRadius use PxF32 instead ofPxVec3torepresenttheradius.

KnownIssues

SomekeyandbuttonmappingsintheAPEXsamplesareincompleteonPS3andXbox360.TheremaybeissuesconnectingtoPVDfromconsoleswiththePhysX2.8.4buildofAPEX.

Page 17: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.2

VisualStudio2010Support

BoththeAPEXSDKsourceandsampleprojectsaredistributedsolelyasVisualStudio2010solutions

NxParameterized

AddedAndroidARMtarget.Bettererrorcheckinginxmlserializer.UnifiedbehaviourofinitParamRef()andsetParamRef().

RenderMeshAsset

Tangent support the float4 format now (making bitangentsunnecessary)

APEXForceField

Existingforcefieldmodulerenamedtofieldboundary.NewforcefieldmodulewhichworkswithAPEXParticlesandPhysX3.xobjects.

General

Added an optional completionTask to NxApexScene::simulate thatwillbecalledwhenfetchResultsisreadytobecalled.The‘pxtask_cuda’DLL,whichcontainstheCUDAContextManagerand associated CUDA PxTask functionality, was renamed‘PhysX3Gpu’.APEXnolongersupportsusingapexuser.dlltooverridethefilestreamreturnedfromNxApexSDK::createStream.

Page 18: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXstatsarereportedinmillisecondsinsteadofseconds.Thiswasachange done very late in the 1.1 product cycle, so when upgradingfromanearly1.1thisisstillnewin1.2.NxApexScene::acquirePhysXLock() is now available so that bothAPEX and the application may access the PhysX 3.2 scene duringsimulationwithoutperformingconcurrentwriteoperations.PhysX3.2allows“multiplereader/singlewriter”access,butthishasnotyetbeenimplementedwithinAPEX.NxApexScene::simulate() has a new parameter called‘scratchMemBlock’,whichmaybeusedbyPhysX3.2for temporarydataduringsimulation.TheWindandExplosionmodulesaredeprecatedandmayberemovedfromafutureAPEXrelease.TheydonotsupportPhysX3.2.PS3gccsupportisdeprecatedinAPEXPS3sourcedistributions.AllPS3gccsupportmayberemovedfromafutureAPEXreleaseinfavorofSNC.

KnownIssues

SomekeyandbuttonmappingsintheAPEXsamplesareincompleteonPS3andXbox360.TheremaybeissuesconnectingtoPVDfromconsoleswiththePhysX2.8.4buildofAPEX.

Page 19: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.1

NxParameterized

NewmethodInterface::clone.Handleswhichareconstructed fromconst Interfacesdonot allow tochangethoseInterfacesviasetParamXxx.GenericreferencevisitorNxParameterized::getReferencesStreamednon-inplacebinarydeserializationFixedhandlingofdefaultValueinstructsFixeddetectionofhinttypesAutomatedversioningoflegacyclassesCustomizableorderoflegacyobjectsupgradeinsteadoffixedbottom-upCustomalignmentsofstructfieldsParamToolcannowprintsummaryoffilecontents

Serialization

ParamTooldoesnotsupportlegacyassetformatsanymoreChangedsomeerrorcodes

RenderMeshAsset

setOverrideMaterialwasaddedtoallowswitchingofmaterialdirectlyatruntime.Debugrenderingvorvertexnormalsandtangents.

UseofCuda4.2

Necessaryforsupportinglatesthardware.

Page 20: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Newin1.0

UseofCuda3.0

Thisallowsusinginterop

UseofanewFoundation(Pxprefix)

Nomore3x4matrix,replacedbyatrue4x4columnwisematrix.

Serialization

Apex 0.9 binary serialization (.aca, .pda, .arm files) are deprecated.Codetoserializeassetstotheseoldformatshasbeenremoved.Codeto read these old formats is still in place but also deprecated. Itwilllikelyberemovedfor1.1.As a replacementwe are usingNxParameterized objects that can beserializedtoeitherxml(.apx)orbinary(.apb)files,wherebinaryfilescanbeoptimizedforspecificplatforms.Renamed NxParameterized::NxSerialiser toNxParameterized::Serializer

Rendermeshasset

Theauthoringpipelinewasrevised.Each vertex buffer semantic can now use a wide range of possibleformats.AddedcompressedrenderdataformatslikeBYTE_UNORM4etc.Changestoinstancebuffersemanticsandformats:removedoldPOSEformatwhichusedMat34,andnowuseROTATION_SCALE(Mat33)andPOSITION (Vec3) in its place.Removedunused instancebuffersemantics.Opaquemeshescanreplacerendermeshassets.AnOpaquemeshisa

Page 21: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

voidpointer toauser implemented rendermesh thatAPEXdoesnotknow or understand about. It will still issue render calls using the(opaque)voidpointer.

NxModule

Generic module generation: Get rid of the various descriptors forModulesandunifiythemasparameterizedobjects.

NxApexAsset

added releaseAndReturnNxParameterizedInterface() which allowsreuseoftheparameterizedobjectafterobjectdestruction.

NxApexRenderable

removed lod parameter from dispatchRenderResource method. Allmodulesthatsupport

NxApexScene

added finalstep to NxApexScene::simulate() indicating that manualsubsteppingisusedandthisisthelastsubstep.

DebugRendering

RemovedalldebugrenderingfromNxApexSDKobject.Addedparameterizedobjectstohandledebugrenderingconfigurationfortheframeworkandeachmoduleseparately.Changedcodetosetuptheviewandprojectionmatrix.Parameterizedinterfacetocustomizedebugrenderingcolors.

nextprevious|APEX1.3ReleaseNotes»

Page 22: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.

Page 23: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

nextprevious|APEX1.3ReleaseNotes»

Page 24: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothingReleaseNotes

Page 25: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.3.3

NewFeatures

Removed

Optimizations

Fixes

Knownissues

IfasyncFetchResultsisfalse,theapplicationmusthavemorethanoneworkerthreadtoavoidthepossiblityofdeadlock.TheRecomputeSubmeshesvisualizationflagisnotfunctional.ItisnotdeterministicwhetherthenewortheoldresultisreturnedinacquireRenderProxy on NxClothingActor, if it is called betweensimulateandfetchResults,whenrunningwithPhysX3.x.

Page 26: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.3.2

NewFeatures

It is now safe to call updateRenderResourceson the renderproxy inparallel,forexampleintherenderthread,iftheAPEXSDKparameter‘renderMeshActorLoadMaterialsLazily’issettofalse.Addedsupportofpartialcustomphysicalmeshes.

Removed

PhysicalLODisdeprecated.Willberemovednextversion.

Optimizations

ReducetheamountofdatasenttoPVDwhenclothingisinascene.

Fixes

FixedfrictionforGPUclothing.Fixaraceconditionwhenrunningseveralclothingscenesinparallel.Fixedclothingrenderproxy:nowalwaysreturnoldresultbeforefetchhasbeencalled.Fixedself-collisionjitteringonscaleddownactors:scalerestpositions.Fixeddebugrenderingwhenscaled.Fixedcrashinclothcooker.Fixed initialization pose of clothing collisions when clothing actoruseslocalspacesimulation.Fixed crash when a clothing actor with a NxClothingTriangleMeshswitchesLoD.Fixedscalingofclothcollisionplanes.

Knownissues

Page 27: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

IfasyncFetchResultsisfalse,theapplicationmusthavemorethanoneworkerthreadtoavoidthepossiblityofdeadlock.TheRecomputeSubmeshesvisualizationflagisnotfunctional.ItisnotdeterministicwhetherthenewortheoldresultisreturnedinacquireRenderProxy on NxClothingActor, if it is called betweensimulateandfetchResults,whenrunningwithPhysX3.x.

Page 28: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.3.1

NewFeatures

AddedNxClothingActor::getSimulationVelocities()ClothingTool: Some names were changed to match DCC pluginnamingconventions.Clothing triangle collision debug rendering: render ignored trianglesred.Clamp to 500 collision triangles on GPU to avoid hitting sharedmemorylimit.Added API to add and remove triangles from anNxClothingTriangleMeshatruntime.Addedfrictiontoconvexcollisionsagainstcloth.No longer deprecated: updateMaxDistanceScale, getPose, setWind,setMaxDistanceBlendTime, getMaxDistanceBlendTime,setLODWeights

Removed

RemovedunusedAPINxClothingUserRecompute.UnusedzeroStretchStiffnessparameterhasbeenremoved.

Fixes

Fixed incorrect scaling inNxClothingAssetAuthoring::applyTransformation.Fixed infinities generated inNxClothingAssetAuthoring::applyTransformation.Fixedbugthatcouldcauseclothingmaterialtobeseteveryframe.Fixedraceconditionwhencreating/deletingclothsinparallel.NxClothingActor methods getSimulationPositions andgetSimulationNormals now block when asyncFetchResults is set to

Page 29: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

true.Fixed crash when calling releaseGraphicalData on a clothing asset(appliesifapplicationdoesitsownskinning)Fixeda3xclothingcookercrash.FixedabugwhereAPEXcouldwakefrozencloth,causingAPEXtooutputa“Clothhasnotstayedstatic”message.Fixed an issue when using multiple GPU dispatchers with GPUclothing.

Knownissues

IfasyncFetchResultsisfalse,theapplicationmusthavemorethanoneworkerthreadtoavoidthepossiblityofdeadlock.TheRecomputeSubmeshesandRecomputeVerticesvisualizationflagsarenotfunctional.ItisnotdeterministicwhetherthenewortheoldresultisreturnedinacquireRenderProxy on NxClothingActor, if it is called betweensimulateandfetchResults,whenrunningwithPhysX3.x.

Page 30: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.3

NewFeatures

New render API: NxClothingRenderProxy to allow easier renderingwithrenderthread(bufferedrenderdata)AddedPVDobjectdebuggingsupportforclothing.Visualization of clothing in PVD is possible by connecting to PVDwith object debugging enabled, and then enabling “Constraints”visualizationinthePVDPreferences.

Fixes

ClothingGPUmemoryusagenowincludedwith therestof theheapstatsfromtheCudaMemoryManager.ChangedasyncFetchResultstotruebydefaulttoimproveperformanceinmanycasesandavoiddeadlock.Fixed debug visualization of the PhysX 3x clothing materialparameters. Added visualization of compressionRange andstretchRangeparametersandlengthandcross-sectionfibers.

Knownissues

IfasyncFetchResultsisfalse,theapplicationmusthavemorethanoneworkerthreadtoavoidthepossiblityofdeadlock.TheRecomputeSubmeshesandRecomputeVerticesvisualizationflagsarenotfunctional.

Page 31: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.2.4

Fixes

Fixedissueswithteleportandreset.Fixedacrashintangentcomputations.Fixed an issue where tangent results were different for skinnedtangents.

KnownIssues

Summerdresssample(SimpleClothingscene3)behavesdifferentlyontheGPUcomparedtotheCPU.

Page 32: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.2.3

NewFeatures

Added solver iteration count toVISUALIZE_CLOTHING_SOLVER_MODEdebugrendering.

Fixes

Fixedanissuewithclothingsimulationwhensimulate(0)iscalled.Fixedabugwithnormalsforthecasewhereassetshaveasignificantamountofmesh-meshskinnedverticesFixedasimulationbugwherecollisionfailedforverticesclosetotheclothboundsFixed a race condition when a lot of actors of the same asset areswitchedonandoff(manuallyorbylod)

Removed

Removed support for the embedded 3x clothing solver on pre-FermiGPUs.

Page 33: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.2.2

NewFeatures

New ClothingMeshSkinningMap API to get mesh skinninginformation,soitcanbedoneintheapplication.NewAPItoaddcollisionobjectstoaclothingactor.Thiscanbeusedtoimplementcollisionwithworldobjects.

Page 34: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.2.1

NewFeatures

Supportforconvexcollisionaddedto3xclothingsolver.Limitation: only a total of 32 planes per clothing actor issupported.

Self collision parameters moved to the ClothingMaterialLibraryNxParameterized interface. RemovedNxClothingAssetAuthoring::setSimulationSelfcollision() andNxClothingAssetAuthoring::setSimulationSelfcollisionThickness().

Fixes

Fixed a Clothing Tool issue where the “Generate Tangent Space”button could generate several warning dialogs for certain olderclothingassets.

KnownIssues

Running multiple NxApexScenes simultaneously is only supportedwith the 3x solver. The 2.8 solver can generate writelock NxSceneaccessfailures.The new 3x cloth solver does not send debug visualization data toPhysXVisualDebugger.GPUmemoryallocatedbythe3xclothingsolverisnotreportedintheheapstatsfromtheCudaMemoryManager.

Page 35: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.2

NewFeatures

SupportforPhysX3xclothsolver.EvenbuildswithPhysX2.8.xwillbeabletorunthenewsolveriftheClothingPhysX3moduleispresent(willbeautoloaded).Removedbitangentsemanticforrendering.Allrendereddatanowusesfloat4 for the tangentsemantic, tangent.wbeing thesignof thecrossproductofnormalandtangent.Local space simulation. The user can either chose a local space orspecifyabone in thehierarchy towhich the simulationwillbedonelocally.Tapered capsules as collision volumes. This will only work withPhysX3xsolver.Velocity shader can takepositions andvelocities now.Velocities canbemodifiedbytheshader.Added several PhysX 3x exclusive clothing material parameters:Compression&strechingstiffnessforstretching,bendingandshearingconstraints, inertia scale& drag (for localspace sim),mass scale forbettercollisionhandling.Turned‘parallelizefetchresults’onbydefault(inmoduledescriptor)and added functionality to run the additional fetch results workdelayeduntilthefirstactorgetsrendered.

KnownIssues

Running multiple NxApexScenes simultaneously is only supportedwith the 3x solver. The 2.8 solver can generate writelock NxSceneaccessfailures.The new 3x cloth solver does not send debug visualization data toPhysXVisualDebugger.The “GenerateTangentSpace” button inClothingTool cangenerate

Page 36: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

several warning dialogs for certain older clothing assets. (Fixed in1.2.1)

Page 37: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.1

NewFeatures

Per-Actor scaling. Each actor can have an individual scale andsimulatesproperly.Asynchronous cooking.When several actors with different per-actorscale are created, cooking will be delayed if another actor alreadystartedcooking.Whilewaiting,actorswillnotbesimulated.Manualsubstepping:APhysXscenethatwillrunmultiplesubstepsisnowhandledproperlybyclothing.Interpolatedsimulationmesheswillbegeneratedforeachindividualsubsteptoremovesimulationartifactscausedbysubstepping.Caution:Thisfeaturecausesproblemsifusedtogether with 2.8.x physX particles. When enabled, APEX callssimulate/fetchResultsonthecorrespondingphysXsceneseveraltimes.PhysXparticleshavebuffersthatneedtobereadfromtheapplicationaftereachfetchResults(deletedparticleIDs),whichisnotpossibleinthiscase.UseallowApexWorkBetweenSubsteps toenable/disable thefeature.Teleportwithoutreset:ClothingActorscannowbeteleportedwithoutall the vertices being reset to the animated positions. Thiswill onlyleadtogoodresultsifonlytheposeoftheactorandnotthestateoftheanimationischanged.Frozen state: Clothing can be frozen in a given state andwill ceasesimulation.Itcanthenbewokenagaininthesamestate.Thiscontraststhe regular way where re-enabled clothing starts from the animatedstateinstead.VelocityCallback:A user callback that allows to read andwrite thevelocityvaluesofeverysimulatedvertex.Canbeusedtoplaysounddependingoncertainchanges invelocityor to implement i.e.awindeffect.Support for morph targets (also known as blendshapes): At actorcreationasetofvertexdisplacementscanbeusedtomodifythemesh.

Page 38: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

PlatformTags:EachgraphicalLODcanhavealistofstringsattached.When converting the .apx/.apb files to a given platform, LODs thatdon’t match a certain pattern can be removed based on this. ThisallowsforreducingassetsizebyremovingLODsthatareunsuitedforaparticularplatform.Correct Simulation Normals: Vertices that are on the border of thesimulated and non-simulated part of the physical mesh can havewronglycalculatednormals.Thissettingwilltrytocorrectforthat.AdaptiveTargetFrequency:Reduces thehighfrequencyjitteringthathappensduetoslightlyvaryingtimesteps.Pressure:Closedclothmeshescanbefilledwithpressure.VertexVelocityClamp:Addsamaximumvelocityinall6majoraxisandclampsallvelocitiestothose.

Improvements

SwitchingofgraphicalLoDshasbeenimprovedinrespecttocopyingpositionandvelocityfromtheoldtothenewsimulationmesh.

Removed

Legacy serialization is gone. Any old .aca file cannot be loadedanymore. They need to be converted to .apx/.apb using the 1.0ParamToolinstead.Some API marked as deprecated has been deleted such asNxClothingActor::setFlags().RemovedseparateNxClothingMaterialLibrary(.acmlfiles)asanassettype.MaterialsarenowintegratedintotheClothingAssetfiledirectly.Parallelphysicsmeshskinningandparallelmesh-meshskinning.Theframedelaythatwasintroducedbythisfeaturemadeituselesstomostapplications.

Page 39: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXClothing1.0Beta

NewFeatures

NewMesh-Meshskinningalgorithmthatisfasterandproducesmorereliableresults.Max Distance can be scaled per clothing actor on top of all thephysicallodfeatures.

Improvements

Usingper-actorTaskstoallowmorefinegrainedparallelization.NxClothingActor visibility can be toggled to save unnecessarycomputationsincasewheretheactorisnotvisible.

Removed

Replaced NxClothingActorDesc and NxClothingPreviewDesc withparameterizedobjects.ClothingMaterialLibraryhasbeendeprecated.The separate asset isgoneandhasbeenmergedwiththeclothingasset.Theclassesarestillin place to load the .acml files, which get merged into the clothingassetimmerdiatelyafterthe.acahasbeenloaded.Afterthatbothfilescanbereplacedbyasingleclothingasset.apx/.apb

KnownIssues

Clothing does not support running substeps. When doing so it willemitawarningandthenjustrunasgoodaspossible.Thiscanleadtoartifactswherevertexvelocitiescansometimesbehaveerratically.NxClothingAssetAuthoring::setExportScaleisnotworkinganymoreasitwas designed toworkwith the removed binary serialization.As areplacement, NxClothingAssetAuthoring::applyTransformation() can

Page 40: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

becalledbeforeserialization,itapplyatransformationand/orascaletotheasset,whichcanthenbeserializedwiththenewserialization.

nextprevious|APEX1.3ReleaseNotes»©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.

Page 41: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

nextprevious|APEX1.3ReleaseNotes»

Page 42: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticlesReleaseNotes

Page 43: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.4

NewFeatures

RefactoredrenderinterfaceforParticlesandTurbulenceFS

Page 44: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3.3

NewFeatures

Removed

Improvements

Fixes

Fixed issue where PhysX monitor could keep dynamic rigid bodiesawake.

KnownIssues

CUDA/D3D9interopisunsupported.Added experimental velocity sources to turbulence simulation, butthereareknownissues.It’snotrecommendedtousethisfeature.

Page 45: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3.2

NewFeatures

Weighted field sampler collision filtering was added (see migrationguide).AddedRateVsEmitterDurationcurvetoAPEXemitters.AddedminSamplingFPSparameter toAPEXemitterassets toreducediscontinuitiesoffastmovingemitters.AddedaposematrixsemantictoNxUserRenderInstanceBufferDesc.AddedtopSphericalForceandbottomSphericalForcetoVortexFS.Added scaling of APEX emitters and field samplers. SeesetCurrentScale/getCurrentScale methods for attractor, vortex,windFS, emitter, effect package, heat source, substance source, andturbulenceactors.Addedcollision filtering forheat sources and substance sources.SeefieldSamplerFilterDataNameparameter.AddedOrientScaleAlongScreenVelocityIOFXmodifier.

Removed

Removed ‘collisionFilterDataName’ from Turbulence, ParticleIOS,and BasicIOS, since it is redundant under PhysX 3.x. Now just use‘fieldSamplerFilterDataName’Removed ‘fieldBoundaryFilterDataName’ from various field samplerassetssinceitisnowconsidereddeprecated.Removed obsolete semanticFormats[] fromNxUserRenderInstanceBufferDesc.RemovedsupportforGPUaccelerationonpre-FermiGPUs.

Improvements

HeatSourceActor/SubstanceSourceActor NxParameterized parameter

Page 46: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

for initial position was renamed to ‘initialPose’ and its type waschangedtoMAT34.HeatSourceActor/SubstanceSourceActor NxParameterized parameterforinitialscalewasrenamedto‘initialScale’.

Fixes

Under PhysX 3.x all collision filtering related to both particles andfield samplers now uses the standard PxFilterData andSimulationFilterShadercallback.ResolvedseveralissueswhereitwaspossibletoexhaustGPUconstantmemoryundercertainheavyloads.APEXwillnowcontinuetoworkundertheseconditions,althoughperformancemaybeslightlyaffected.Fixed crash that could occur when using turbulence debugvisualization.FixedparticletimestatswhenusingCPUparticles.Fixed uninitialized render volume in EffectPackages. Could lead toparticlesnotgettingrendered.Fixed possible turbulence crash when using theupdatePerFramesRangefeature.Whenusingopaquemeshrendering,userRenderDataisnowcorrectlypassedtotheapplicationthroughtheNxUserRenderResourceDesc.Fixedbadreferencecountingofopaquemeshes.Fixed rare race condition that could cause some particles not to berendered.FixedsynchronizationissueswithPhysXwhenusingParticleIOS.FixederrorinparticlebenefitcalculationthatcouldinjectNANsintocode.FixedbadLODcalculationwithupdatePerFramesRangefeature.Fixedraceconditioninturbulence.Fixed improper rendermesh releasewhenusing IOFXmeshparticlerendering.Fixedissueswiththeturbulencedissipationtimefeature.

Page 47: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

KnownIssues

CUDA/D3D9interopisunsupported.Added experimental velocity sources to turbulence simulation, butthereareknownissues.It’snotrecommendedtousethisfeature.

Page 48: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3.1

NewFeatures

NewWindFSfieldsamplerforwindeffects.Add ‘fieldDragCoeff’ & ‘fieldWeight’ parameters to all assets inBasicFSTurbulencedissipationtime,allowstoremoveturbulencevorticesinapredeterminedtime.Butseeknownissues.Addedability to sampleaTurbulenceFS’svelocity fielddirectly toasurfacebuffer.The NxUserRenderSurfaceBuffer::writeBuffer parameters havechangedtosupportwritingtooffsetsinanyofthreedimensions.Objectscaleforemitteractors.(needdetails)MoreefficientuseofCUDAconstantmemoryinIOFX

Removed

Removed useless fuctions (addFilterData, removeFilterData,getFilterData)fromNxForceFieldActor.PxFilterDatacanbespecifiedinNxForceFieldActorDesc.

Fixes

FixedcrashwhenaturbulenceassethadmaxCollidingObjectssetto0.FixedBasicIOSandTurbulenceFSnothonoringallcollisionfilteringwith PhysX 3.x. Note: now that the collision filtering is correctlyhandled, the behavior could change if you were using non-defaultcollisionfiltering.Fixed an issue with VortexFS not working due to an uninitializedvariable.Fixed a bad interaction between a rotating capsule and a turbulencegrid.

Page 49: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Optimizedmultigrid/diffusioninTurbulenceMore robust handling of CUDA out of memory for TurbulenceFSactor.FixaParticleIOScrashwhenanemitterisdeleted.VariousEditorWidgetsfixes.FixforincorrectEffectPackagedurationcalculation.FixedincorrectcapsuleorientationwhencollidingwithBasicIOSandTurbulenceFS.APEXnowcorrectlytakesintoaccounttotalelapsedtime,whichfixestime-dependentbehaviorofemitters.FixforNULLpointeraccessinEffectPackageActor.Re-enabling a disabled effect in an EffectPackageActor usingsetEffectEnabled=truenowworkes.Fixedissueswithturbulencedebugvisualization.

KnownIssues

CUDA/D3D9interopisunsupported.When using the new turbulence dissipation time feature, some otherfield samplersmay appear to start late. Also cleaning timemay notwork.TheseissueswillbefixedinafuturereleaseofAPEX.

Page 50: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3

NewFeatures

Particle and field sampler modules including IOFX, Emitter,BasicIOS, ParticleIOS, and BasicFS have been merged into one“Particles”module.TurbulenceFSisstillaseparatemodule.APEXnow supportsEffect Packages, a collection of particle-relatedassets that can be instantiated together in an applications. APEXprovidestheParticleEffectToolforauthoring.APEX now requires Sprite and Instance Buffers implementations tospecify their layout (NxRenderSpriteLayoutElement andNxRenderInstanceLayoutElement) by using semantic/formatspecificationdefinedincorrespondingenumerations.Added 2 counters to APEX IOFX Stats -SimulatedSpriteParticlesCount,SimulatedMeshParticlesCountAddedNoiseandVortexFieldSamplersintheBasicFSmodule(nowinParticlesmodule).APEXEmitterActor now provides an optional user emitter positionvalidation callback(NxApexEmitterActor::setApexEmitterValidateCallback) used toallowtheapplicationtopreventparticlesfrombeingemittedininvalidlocations(forinstance,ontheothersideofawall).APEX Sphere and Sphere Shell Emitter now supports ‘hemisphere’property(allowsusingonlyspecifiedspherecapasemitter).APEX requiresminimalGPUCompute Capability 1.1 now (G92 orbetterGPU).Changed ‘min’ ‘max’ hints for APEX Particle IOSAsset to ‘uimin’and ‘uimax’ so they are treated as hints only for the user-interfacecode;butwillnot‘invalidate’assets.

Removed

Page 51: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Removed fluidVelocityMultiplier and fluidVelocityClamp parametersfromTurbulenceFSasset.Removedredundantparameter‘position’fromAPEXHeatSource

Fixes

APEXTurbulencemovinggridbehaviourisfixed.CUDA/D3D11 interop is now working. Note that CUDA/D3D9interopstillhasknownissuesandisnotsupportedorrecommended.

KnownIssues

CUDA/D3D9interopisunsupported.Mixing interop and non-interop IOFX rendering at the same time isunsupported.

Page 52: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.2.4

Fixes

FixedaraceconditionissueduetoimproperscenelockingwithPhysX3.2.xinturbulence.FixedGPUmemoryleakwithturbulence/convexcollision.FixedanLODissuewithParticleIOSthatcouldcauseacrash.

KnownIssues

(PhysX 3.2.4 only) Youmay see the nuisance error streamwarning“Adding particles before the first simulation step is not supported”whenusingParticleIOS.Thiswarningmaybeignored.

Page 53: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.2.3

NewFeatures

IOFXspriterenderingwasreworkedtoallowwritingspriterenderingdata more efficiently. See the newNxUserRenderResourceManager::getSpriteTextureData() andNxUserRenderSpriteBuffer::writeTexture() callbacks and the newNxUserRenderSpriteTextureDesc.Added NxApexEmitterActor::getSimParticlesCount() to get thenumberofsimulatedparticles.WorkswithBasicIOSandParticleIOS.AddedNxApexEmitterActor::getRateRange().AddedColorByVelocityIOFXmodifier.Added includeVerticalDirection rotation modifier to control whetherverticalspeedaffectsrotation.AddedgetPose()andsetPose()methodsforNxHeatSourceActor.

Page 54: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.2.2

NewFeatures

AddedTurbulenceHeatSourceassetsandactorsinsteadofthembeingonlypartoftheTurbulencemoduleC++APIAdded setEnabledAPI to JetFS andAttractorFS to enable/disable afieldsampleractoratruntimeBasicIOS: Added NxParameterized collisionWithConvexMesh andcollisionWithTriangleMesh to BasicOS to enable/disable differentshapecollisionAddedfluidViscositytoTurbulenceFS.

Fixes

Added 64bit collision filtering between the ParticleIOS (PhysX 3.xparticles) and APEX Field Samplers (in the fieldSamplerFilterDatamemberofParticleIosAssetParam)Changedgrid resolution type toanenum.Before itwasa float, so itwaspossibletosetinvalidvaluesthatwouldcauseerrors.

Improvements

Particle rendering is now done with a single render buffer for non-interopandadoublerenderbufferforD3D-CUDAinterop.Previouslyitwasalwaysdoublebufferedandpossiblytriplebufferedforinterop.Note that the placement of theNxApexScene::prepareRenderResourceContexts() changes from justbefore calling theUpdateRenderResourcesmethods to outsideof thesimulation(afterFetchResults).EditorWidgets: Flipped “LifeRemaining” axes to show “Life Time”instead,basedonuserfeedback.

Page 55: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.2.1

NewFeatures

Addednoisefeaturetoturbulencegridsimulation.Addeddragcoefficientparametertoturbulencegrids.Attractorfieldsamplerworksinsideofturbulencegrids.NewFieldVelocityWeightparameter,whichcontrolshowstronglythefieldvelocityaffectsparticles.Supportconvexmeshcollisionwithturbulencegrids.SupportconvexmeshcollisionwithbasicIOS.Cleareremitterdebugvisualizationhints.Newsemantics forparticle rendering:COLOR_FLOAT4andgeneric32-bitUSER_DATA.AllturbulencegridparametersnowexposedthroughNxParameterizedinterface.Temperature visualization now shows different colors fortemperatures.

Fixes

Fixed collision issues with turbulence grids which used to causeunrealisticrigidbodyinteraction.Turbulence actor LOD is now properly disabled when themodule’sLODisdisabled.Fixedcrashissueinturbulencesimulation.

Page 56: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.2

Removed

ParticlesareonlysupportedonWindows.maxObjectCountisnolongeranIOFXpropertyMostNxFluidIOSActormethodshavebeenremoved,thisclassisnotexposedatruntime.NxModuleIofx::createRenderableIterator() removed. IOFXActorsarenowonlyreachableviaNxApexRenderVolumes.NxModuleIofx::getIofxTypeName() removed. UseNX_IOFX_AUTHORING_TYPE_NAMEfromNxIofxAsset.h

NewFeatures

NxApexRenderVolume - this new class adds the ability to partitionparticle world space in many practical ways. See the IOFXprogrammersguidefordetails.

Improvements

Render resource optimizations. Only one writeBuffer() call is madeperfluidsimulation(IOSactor)perframe,nomatterhowmanyIOFXassetsorvolumesinuse.Deferred IOFX actor creation keeps render resource churn andrenderablecountstoreasonablelevels.IOFXCUDA andCPU performance should be roughly linear to thenumberofparticlesinsimulation.ThenumberofIOFXassetsshouldhavealimitedeffect.More robust CUDA interop with writeBuffer() fallbacks for frameswheremappedbuffersarenotavailable.Interopcanberestricted todoublebuffering ifcertainguaranteesaremetbythegamerenderingthread.

Page 57: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Improvedlevelofdetailparticleculling.

nextprevious|APEX1.3ReleaseNotes»©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.

Page 58: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

previousAPEX1.3ReleaseNotes»

Page 59: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestructionReleaseNotes

Page 60: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.3.4

NewFeatures

DestructibleActor::acquirePhysXActorBuffer uses a new flag inDestructiblePhysXActorQueryFlags. ‘AllowActorsNotInScenes’(default cleared)will return actors that havenotyet been added to aPhysXscene.DestructiblePhysXActorQueryFlags::All has changed toDestructiblePhysXActorQueryFlags::AllStates, sinceother (non-state)valuesarenowintheenum.

Removed

Optimizations

Fixes

MiscellaneousAPIchanges

DestructibleActor::acquirePhysXActorBuffer has a new functionsignature. The ‘eliminateRedundantActors’ bool is removed, and theflag ‘AllowRedundancy’ added toDestructiblePhysXActorQueryFlags. These have opposite meanings,andtheirdefaultvaluesareaccordinglyopposite.

KnownIssues

Page 61: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.3.3

NewFeatures

Destructible assets authored with imported multiple-mesh fbx filesnow clip their collision hulls to prevent initial penetration whenchunksarecreated.New NxPhysX3DescTemplate interface to replace the undefinedPhysX3DescTemplate used in public functionsNxApexActorSource::setPhysX3Template and ::getPhysX3Template.To use, create an instance usingNxApexActorSource::createPhysX3DescTemplate(), and useNxPhysX3DescTemplate::release()whendone.

Removed

Deprecated functions createTwoWayRb, addTwoWayRb, andreleaseTwoWayRbhavebeenremoved.

Optimizations

Fixes

Fixedabugwheredestructibles fracturedwhen touchingkinematics,evenifimpactdamagewasdisabled.Fixed a bug which may have led to errors when disabling detailedoverlaptestswithperformDetailedOverlapTestForExtendedStructures.

MiscellaneousAPIchanges

KnownIssues

Page 62: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Known issue with improper reference counting when usingsetSkinnedOverrideMaterial, which could lead to APEX trying toreleasearesourcethathasn’tbeenrequested.UsesetResourceonthematerialtomanuallyincrementitsreferencecountasaworkaround.Destructible scatter meshes may create render resources outside ofupdateRenderResources.Ifyouusescattermeshesyourcallbackmustbethreadsafe.Potential threading issue when using instanced rendering withdestructibles.Adestructiblecouldberenderedtwiceasaresult.

Page 63: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.3.2

NewFeatures

NxDestructibleParameters now has two new fields:legacyChunkBoundsTestSetting andlegacyDamageRadiusSpreadSetting.Thesecontrolwhetherornot thelegacysettingsareusedper-actor,withper-assetdefaultssinceit isapart of NxDestructibleParameters. These correspond to theNxModuleDestructible functions setUseLegacyChunkBoundsTestingand setUseLegacyDamageRadiusSpread. The per-actor values mayoverridethemodulevalues.Iftheper-actorvaluesarenegative(theirdefaultsare-1),thenthemodulevaluesareused.Ifaper-actorvalueis0,thenthecorrespondingsettingis“false”(legacysettingisnotused).Otherwise,thelegacysettingisused.NxUserChunkReport has a new virtual callback functiononStateChangeNotify that needs to be added to any userimplementations.Itgetscalledwhenchunkvisibilitychangesoccur,ifthe user has enabled it viaNxModuleDestructible::scheduleChunkStateEventCallback.Destructible authoring API has new functionality that allows it toimport full destruction hierarchies. One does this by passing in anarray of chunk parent indices toNxFractureTools::buildExplicitHierarchicalMesh orNxDestructibleAssetAuthoring::setRootMesh. PhysXLab uses thiswhen importing a multi-mesh FBX file. If the chunk hierarchy willreflecttheparent/childrelationshipgivenbytheFBXscenegraph.NxUserChunkReport has a new virtual callback functionreleaseOnNoChunksVisible. When the last chunk of anNxDestructibleActor disappears, this callback is called. If the userreturns true, APEX will release the destructible actor. If the userchooses to release the actor themselves, they must wait until afterfetchResults()completes.

Page 64: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Voronoi fracture distributes its N sites across all pieces of a multi-mesh.AddednewFractureVoronoitypetoRTfracturing.AddedmaxDepentrationVelocitytobehaviorgroups.Fracture event callback runs before PhysX simulate step, so theapplicationhasachancetomodifyPhysXstatebeforesimulation.Enabledalphachannelforscattermeshes.Addeduser-defineddeletionboundingboxes fordestructible chunks.See NxApexScene::addBoundingBox and thedeleteChunksLeavingUserDefinedBB anddeleteChunksEnteringUserDefinedBB parameters of destructibleactors.Added customizable velocityIterationCount parameter to destructibleactors.Better conversion of legacy damage spread parameters to the newbehavior. SeeNxDestructibleParameters::legacyChunkBoundsTestSetting andNxDestructibleParameters::legacyDamageRadiusSpreadSetting.User-definedsupportgraphs:

NxDestructibleAssetCookingDesc::supportGraphEdgesNxDestructibleAssetCookingDesc::supportGraphEdgeCountNxDestructibleAssetAuthoring::cacheChunkOverlapsUpToDepthNxDestructibleAssetAuthoring::clearChunkOverlapsNxDestructibleAssetAuthoring::addChunkOverlapsNxDestructibleAssetAuthoring::removeChunkOverlapsNxDestructibleAssetAuthoring::getCachedOverlapCountAtDepthNxDestructibleAssetAuthoring::getCachedOverlapsAtDepth.

Removed

SupportforGPUrigidbodieshasbeenremoved.Functions createTwoWayRb, addTwoWayRb, and releaseTwoWayRbhavebeendeprecated.Removed ‘enabled’ parameter from

Page 65: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

NxDestructibleAssetAuthoring::setChunkOverlapsCacheDepth(boolenabled,physx::PxI32depth= -1), it isnowa functionparameterofcookChunks

Optimizations

By default, NxDestructibleActor::applyDamage() will only raycastagainststaticchunks.Tomatchthebehaviorofpreviousreleases,passNxDestructibleActorRaycastFlags::AllChunks toNxModuleDestructible::setDamageApplicationRaycastFlags(). Youcanalsohaveitraycastagainstnochunks.Multipleoptimizationstodestructibleactorcreation.FasterapplyDamage.Disabled internal benefit calculations when not using the sort bybenefitfeature.Improveddamageeventreportperformance.Improvedsupportgraphrebuild/updateperformance.Store only a single cooking scale in the destructiblemodule cacheddata,andusePhysX3.x’sscalingfeatureinstead.Reducessizeofdataneededforanapplicationwhenusingdestructiblesatmultiplescales.Note that using a scale of (1,1,1) may still give better PhysXperformance.Improvedrenderupdateprocessingwhichwaspreviouslyrunningonsomeactorsthatweresleeping.Added ability to disable detailed overlap testing for creation ofextended structures. SeeperformDetailedOverlapTestForExtendedStructures destructible actorparameter.

Fixes

No more render resource allocation in fetchResults when instancedchunksareused.Chunks with shapes that had their simulation flags reset

Page 66: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

(eSIMULATION_SHAPE)couldget their inertia tensors re-calulatedincorrectly,leadingtobizarrephysicalbehavior.Render resource creation for scatter meshes is now happening inupdateRenderResources of the DestructibleRenderable, not at Assetcreationanymore.Fixed case in extended structureswhere some shapes on broken offislandsdidnotgetthecorrectshapetemplate(includinguserData).Fixed crash inNxDestructibleAsset::releaseAndReturnNxParameterizedInterfacewhenitiscalledonanassetwithexistingactors.Fixedbug thatcaused the lastchunks’graphics to remainwhen theyweredestroyedduetoadebrissetting.Fixedbehaviorwhen“keepVisibleBonesPacked”isfalse.FixedNxDestructibleActorJointnotworkingcorrectlywhenjointedtoaPxActor.When using RT fracture, the renderable bounds now take the RT-fracturechunksintoaccount.Fixedvarioussmallissueswithdestructiblegraphicsupdates.Correctlysetapplieddamageuserdataindamageeventreports.FixedapossiblecrashwhenadestructibleassetnameisNULL.Addedscenelockstoprotectpotentiallyunsafeasynchronoussweeps.Fixed possible nuisance assertions on destructible actor release andwhencreatingkinematicnon-staticdestructibles.Fixeddamageeventassertion.APEX was intercepting onTrigger callbacks from PhysX and notpassingthemalongtotheapplication.Applyimpactforcestonewlycreatedactorsinthescene.FixedamemoryleakonPS4.FixedimproperlyinflatedconvexeswhenskinWidthis0,causingbadcollisiongeometry.Fixedissuewheredestructibleboundskeptgrowing.Fixedothermiscellaneouscrashissues.

MiscellaneousAPIchanges

Page 67: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

MovedrebuildCollisionGeometryfromNxDestructibleAssetAuthoringtoNxDestructibleAsset.Renamed “getInstancedChunkCount” to more accurate name“getInstancedChunkMeshCount”APIcleanup:

ExplicitHierarchicalMesh.h renamed toNxExplicitHierarchicalMesh.hFractureTools.hrenamedtoNxFractureToolsStructs.hAddedNxFractureTools.h to expose helper functions that so farwereonlyaccessiblethroughNxDestructibleAssetAuthoringAccess NxFractureTools throughNxModuleDestructible::getFractureTools()Renamedclassesandstructs inNxExplicitHierarchicalMeshandNxFractureToolsStructs.htohaveanNxprefix

IDisplacementMapVolume->NxDisplacementMapVolumeIExplicitHierarchicalMesh->NxExplicitHierarchicalMeshIEmbedding->NxEmbeddingIConvexHull->NxConvexHullMeshProcessingParameters ->NxMeshProcessingParametersNoiseParameters->NxNoiseParametersSliceParameters->NxSliceParametersFractureSliceDesc->NxFractureSliceDescCutoutParameters->NxCutoutParametersFractureCutoutDesc->NxFractureCutoutDescFractureVoronoiDesc->NxFractureVoronoiDesc

Removed “m” prefix of public members ofNxMeshProcessingParameters

mIslandGeneration->islandGenerationmRemoveTJunctions->removeTJunctionsmMicrogridSize->microgridSizemVerbosity->verbosity

KnownIssues

Page 68: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Known issue with improper reference counting when usingsetSkinnedOverrideMaterial, which could lead to APEX trying toreleasearesourcethathasn’tbeenrequested.UsesetResourceonthematerialtomanuallyincrementitsreferencecountasaworkaround.Destructible scatter meshes may create render resources outside ofupdateRenderResources.Ifyouusescattermeshesyourcallbackmustbethreadsafe.Potential threading issue when using instanced rendering withdestructibles.Adestructiblecouldberenderedtwiceasaresult.

Page 69: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.3.1

NewFeatures

Fracturingnowhandlesopenmeshes.NoAPIchange.Performance improvement in fetchResults: Only update poses ofawakeactors.Added doNotCreateRenderable parameter to destructible actors.OptimizationiftheAPEXrenderingAPIisbeingbypassed.AddedaccesstoscattermeshesfromNxDestructibleAsset.NxRenderMeshActor::setMaxInstanceCount:Changethemaxinstancecountinthecasethattheinstancebufferwaschanged.Improvement to acquirePhysXActorBuffer: Before, if“eliminateRedundantActors” was true, this function could returnmultiplecopiesofaPhysXactorperNxDestructibleActor.In1.3.1,itwill only return one PhysX actor per NxDestructibleActor, at most.Also,thisqueryhasbeenmademoreefficient.

Fixes

Fixed crash when two or more structures are joined atDestructibleActorcreation.Fixforassertionindestructiblestresssolversample.Fixeddestructiblemodulecacheddatainreleasebuilds.Properly take into account the bias field on weights in destructiblebenefitcalculation.Fixedabadpointerdereferencecrash.Fixedreal-timefracturingthread-safetyissues.Fixedreal-timefracturingoverrideofthePxSimulationEventCallback.FixedapplyTransformationtoalsotransformscattermeshes.FixedNxDestructibleActorJointnotworkingcorrectlywhenjointedtotheworld(oneactorNULL).FixedpotentialcrashwhenPhysX3.xshapecreationfails.

Page 70: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Fixedbaddestructibleactordeletion/creationaccounting,whichcouldpotentiallyhaveledtobadreferencecountsondestructibles.Fixedcrash:APEXcouldaccessdeletedactorsifactorcreationrateorfractureBufferProcessRatesareexceeded.FixedanunsafedestructiblescenereleasewhenusingGRB.Fixedincorrectrenderingwhenadestructibleactorisremovedfromastructure.Fixedan issuewhere thenumberofdynamicchunks, reported in theDynamicDestructibleChunkIslandCountstat,couldexceedthelimitsetbycallingsetMaxDynamicChunkIslandCount.In some cases when using instanced mesh rendering, creating adestructible actor could lead to a releaseRenderResources callback.Thatnolongerhappens.FractureToolnowhandlesmulti-fbximportFractureTool-xoptionnowworkscorrectly

KnownIssues

Known issue with improper reference counting when usingsetSkinnedOverrideMaterial, which could lead to APEX trying toreleasearesourcethathasn’tbeenrequested.UsesetResourceonthematerialtomanuallyincrementitsreferencecountasaworkaround.Destructible scatter meshes may create render resources outside ofupdateRenderResources.Ifyouusescattermeshesyourcallbackmustbethreadsafe.Potential threading issue when using instanced rendering withdestructibles.Adestructiblecouldberenderedtwiceasaresult.

Page 71: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.3

NewFeatures

BehaviorgroupsSome common parameters, such as damage threshold, damagespread, density, etc., are now contained in “Behavior Groups.”Everychunkreferencesabehaviorgroupbyindex,allowingtheusertocustomizebehaviorsfordifferentchunks.

Render proxies for destructibles. The rendering of destructibles ismanagedbyanewobjectthatisindependentofthedestructibleactor.Bydefaultyouwillnotseeachange,butyoumaydetachthisobjectfromthedestructible,meaningthattherenderdatawillnotgetdeletedwhenthedestructibleisdeleted.Youmaydeletetherenderablewhenyou’redonewithit.Thisisusefulformulti-threadedrendererswhichmay have the render data queued up even after the destructible isdeletedinthemainthread.Newdamagedetection(canberevertedtolegacybehavior):

Exact chunk collision volumes used for hit testing (point andradius damage). This gives better consistency when applyingdamagetodestructiblesatdifferentLODs.

NewdamagespreaddamageToRadiusisnolongerusedforpointandradiusdamage.Instead,behaviorgroupscontainaDamageSpreadFunctionstruct,which contains a minimumRadius, radiusMultiplier, andfalloffExponent.Itworksasfollows.Whendamageisapplied,itcomeswith a radius.That radius is zero for a point damage. Inanycase,wemultiplythatdamageradiusbyradiusMultiplier,andthen add minimumRadius. This value becomes what we call“maximumRadius.” Then, when applying the damage, everychunkuptominumumRadiustakesthefulldamage,andchunkspast the maximumRadius take zero damage. How the damagefalls off between the minimumRadius and maximumRadius is

Page 72: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

determinedbyfalloffExponent.Basically,alinearfunctionwhichgoes from1.0down to0.0betweenmin tomax is raised to thepowerfalloffExponent,andtheresultatagivenchunk’sradiusismultipliedbythedamage,togettheapplieddamage.damageToRadius is still used for impact damage, but it is nolonger scaledby the size of thedestructible.To recover the oldbehavior, multiply the damageToRadius by the approximateradiusofthedestructible

DamagevertexcoloringThe behavior groups now contain aDamageSpreadFunction fordamage coloring, as well as a damageColorChange parameter(Vec4). If damageColorChange != (0,0,0,0), a per-actor colorchanneliscreatedforthedestructible.Theinitial(asset-supplied)color channel is used to initialize it, or all zeros if none exists.Then, using a similar radial behavior to that used for damagespread (above), the color channel is modified by thedamageColorChange vector. This allows for some nice effectsusing multiple-texture shaders. One difference in the radialfunction: the falloff is calculated between 0 and max radius,insteadofminradiusandmaxradius.

Ability to specify collision volume properties per chunk depth inPhysXLabDamagedepthlimit:Youcanspecifyhowmanyhierarchydepthsdeepfracturingmayoccur,relativetothechunkthattakesthedamage.MorerobustfracturinginPhysXLab.BSPsarestoredandfracturedata normalized scale, with the output mesh scaled back to theappropriate world coordinates. The result is that many inexplicableerrors (BSPs which looked perfect were generating holes and extratriangles)arenowgone.Better chunk deletion probability behavior. Debris chunks may bedeleted with a user-supplied probability. Now the probabilitydistribution is scaled by the damage taken by each chunk, andnormalized.Theresultisthatmorechunksdisappearnearthedamagepoint.

Page 73: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Limitedreal-timefracturing.Chunkswithnochildchunkscanbereal-timefracturednow.Thismeansthatafracturepatternisappliedtothechunk at a position specified at runtime. This may be appliedrecursively.In1.3,onlyaglassfracturepatternisavailable.Aphysical stress solver is availablewhenusingPhysX3.3. Stressesare updated as a destructible structure is fractured, and when theyexceedauser-specifiedlimit,fracturingwilloccuratthehigheststresspointsautomatically.Scattermeshes

Abilitytoauthorinstancedmeshes,randomlyscatteredaboutthesurfaceoffracturedchunks,rotatedandscaledwithrespecttothesurface normal within a range specified by the user. AuthoringwithpreviewavailableinPhysXLab.

GraphicalnoiseonchunkfaceswithVoronoifracturing.Fasterqueries(rayCastandobbSweep)forstaticchunks,ifstatic-onlyqueryflagsareselected.Exposedseveralfunctionstogetper-chunkstate.

KnownIssues

Known issue with improper reference counting when usingsetSkinnedOverrideMaterial, which could lead to APEX trying toreleasearesourcethathasn’tbeenrequested.UsesetResourceonthematerialtomanuallyincrementitsreferencecountasaworkaround.

Page 74: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.2.4

Fixes

Fixed contacts not getting detected between PhysX bodies anddestructibleswhenusingGRB.

Page 75: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.2.3

NewFeatures

Added actor synchronization filtering by damage event depth andfractureeventdepth.Added NxDestructibleActor::setDeleteFracturedChunks() to tell adestructible actor to delete its fractured chunks insteadof simulatingthem.Added NxUserDestructibleSyncHandler::onPreProcessReadBegin()and NxUserDestructibleSyncHandler::onPreProcessReadDone()callbacks.EditedNxUserDestructibleSyncHandler::onReadBegin()callback.Removed NxUserDestructibleSyncHandler::onSwizzleDone()callback.AddedNxDestructibleActorSyncStatestruct.EditedNxDestructibleActor::setSyncParams()method.EditedNxDestructibleActor::setHitChunkTrackingParams()method.Added new NxDestructibleAssetStats: maxHullVertexCount,maxHullFaceCount,chunkWithMaxEdgeCount.NxDestructibleAsset::createDestructibleActor() renamed toNxDestructibleAsset::createDestructibleActorFromDeserializedState().NxDestructibleActor::getPartTM() renamed toNxDestructibleActor::getChunkTM().IExplicitHierarchicalMesh::IConvexHull::reduceHull functionremovesverticesfromaconvexhulluntilthegivenlimitsarereached(aftercooking).Addedboth thedestructibleactorpointer and thechunk index to theNxApexPhysX3Interface::setContactReportFlags() callback whenPhysX3.xshapesarecreated.

Page 76: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.2.2

NewFeatures

Optiontoincludeuseofstresssolverindestructibles.Thestresssolverattemptstodetectandbreakoffchunksdeemedtobeoverly-strained.Introduced a new parameter struct “StrutureSettings” in thedestructibleactor.Parameters thatmakeup“StructureSettings”affectallactors’settingsstructure-wide.

Newparameters“useStressSolver”,“stressSolverTimeDelay”and“stressSolverMassThreshold”introducedforthestresssolver.

AuthoringImprovements

Option to removeallT-junctions froma fracturedmesh.Thisallowspost-processing such as deformation to be applied (for example in aDCCtool).Abilitytocontrol theinteriormaterialsusedwhenfracturingselectedchunks.Abilitytoaddnoisetotheperimeterfacesofcutoutchunks.

BugFixes

ApexHelloWorldsampledestructionsceneonPS3crashwasfixed

Page 77: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.2.1

NewFeatures

EnabledGRBsupportwithPhysX3.2.1.Supportmultipleinteriormaterials.Added hard sleeping option, which turns chunk islands kinematicwhentheysleep.Theymaybeturneddynamicagainifenoughdamageisapplied.New sleepVelocityFrameDecayConstant parameter replacessleepVelocitySmoothingFactor.

Removed

Removedsurfacetracefunctionality(wasusedforolddustsystem).

AuthoringImprovements

Edgefacenoiseincutout.

KnownIssues

Known crash in ApexHelloWorld sample destruction scene on PS3withheavydestructionload.

Page 78: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.2

NewFeatures

FractureToolFractureToolisanewcommand-lineutilityforfracturingand exportingmeshes. It provides a subset of the fracturing featuresexposed by PhysXLab, and serves as a convenient way of batchprocessingmeshesandtestingnewfeatures.NxDestructibleActor

Serialization support for actor state provided via the actor’sNxParameterizedinterfaceDeserialization support for actor state provided viaNxParameterizedconstructorargument

AddedsetGlobalPose/getGlobalPose toNxDestructibleActor (sets theposeofstaticchunksonly).Added impactDamageDefaultDepth to NxDestructibleParameters.Chunksup to thisdepthwill take impactdamage,unlessanoverrideflagisset(seebelow).TAKE_IMPACT_DAMAGE flag has been changed toOVERRIDE_IMPACT_DAMAGE/OVERRIDE_IMPACT_DAMAGE_VALUE.At the given depth, the OVERRIDE_IMPACT_DAMAGE flag tellsAPEX to use OVERRIDE_IMPACT_DAMAGE_VALUE (true orfalse) instead of the behavior it would get fromimpactDamageDefaultDepth(seeabove).Newdustandcrumblecallbacks,usingNxUserChunkParticleReport.Visibility event buffer for NxDestructibleActors usingacquireChunkEventBuffer/releaseChunkEventBuffer.Option for second bone buffer for frame-delayed chunk transforms,usingkeepPreviousFrameBoneBuffer.

Improvements

LODperformanceimprovements.

Page 79: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Betterinstancingofcutoutchunks,allowsforUVoffsetinstancingsothattexturemapsdon’tneedtotilewiththechunkinstancetiling.Thisrequires a renderer which uses the newNxRenderInstanceSemantic::UV_OFFSET semantic for theApexRenderMeshinstancebuffer.

AuthoringImprovements

Voronoi fracturing mode usingNxDestructibleAssetAuthoring::createVoronoiSitesInsideMesh and::createVoronoiSplitMesh.Voronoi cell visualization utility usingNxDestructibleAssetAuthoring::visualizeVoronoiCells.Severalperformanceoptimizations.Ability to fracture a single chunk usingNxDestructibleAssetAuthoring::hierarchicallySplitChunk.Ability to re-calculate a collision hull for a chunk using differentsettings,oracustom-madehull,andtrimthehullsagainstneighborstoeliminate initial overlap:NxDestructibleAssetAuthoring::rebuildCollisionGeometry andNxDestructibleAssetAuthoring::trimCollisionGeometry.AbilitytocontrolinteriorUVmappingdirectionandoffsetinsliceandcutoutmode.SeeFractureTools::FractureMaterialDesc.Utility to deliver a rendermeshwhich displays a typical noisy slicesurface for the current settings, usingNxDestructibleAssetAuthoring::buildSliceMesh.

Removed

Deprecated damageToPercentDeformation anddeformationPercentLimitinNxDestructibleParameters.

KnownIssues

Page 80: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Known crash in ApexHelloWorld sample destruction scene on PS3withheavydestructionload.

BugFixes

Better fracture behavior (fewer errors such as missing or extrapolygons).

Misc.

chunkCount()/depthCount() renamed togetChunkCount()/getDepthCount(),forconsistencywiththerestoftheAPI.DestructibeactorsthatcontainGRBsdonotsenddebugvisualizationdatatoPhysXVisualDebugger.

Page 81: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.1

NewFeatures

GPURigidBodies TheNxModuleDestructibe has settings to enableGPU Rigid Bodies for destruction. If your hardware supports thisfeature,largenumbersofchunks(inthe1000’s)canbesimulatedinafractionofthetimetakenbyaCPU.GRBRigidBodysupportrequiresNVIDIAdriver270.81orlater,PhysX2.8.4RC6orlaterandaCUDAcapableGPU.Chunk instancing (When authored to instance) correponding chunksbetweendifferentdestructibleactorswillberenderedusinganinstancebuffer. This is advantageous if there are many destructible actorswhichreferencethesameasset.Chunk tiling (When authored to tile)matching chunks created fromcutout fracturingwill be instancedwithin the same actor, aswell asother destructible actors which reference the same asset. This candrasticallyreducethememorysizeoftheasset.NxDestructibleActor:

LOD setting sets the maximum chunk depth which can befractured,implementingforcePhysicalLODinterfacegetChunkLinearVelocity and getChunkAngularVelocity API intheactorPer-actormaterialsintheactordescriptorCanspecifyaseparaterendermeshforstaticchunkswhichgetsdrawn in a single draw call, using therenderStaticChunksSeparatelyfieldintheactordescriptorcansetaseparatesetofstaticmaterialsusedbythestaticmeshifrenderStaticChunksSeparatelyissetminimumFractureDepthaddedtodestructibleparameters,tolimitthesizeofthepiecesthatcanbebrokenfree

Page 82: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

NxDestructibleActor:

Implements applyTransformation interface to geometricallytransformanasset

FractureeventcallbacknowconsolidateschunkinformationtoreducethenumberoffractureeventsreportedNxActor (chunk island)FIFOcannowbe sortedby “benefit” (takesintoaccountscreensizeandageofthechunk),sothatless-beneficialchunksareremovedfirst.NxShapecountlimitcanbesetinadditiontoNxActorcount

Improvements

ChunkcreationcanbeamortizedovermanyframesFractureprocessingcanbeamortizedovermanyframesConformstonewLODsystemRemoved the per-chunk thread locks, for better performance andresourceusageSimpleDestructionhasmultiplesamplescenes, loadedusingthekeys1-7

BugFixes

Damage reports are no longer issuedwhen a destructible is set freeusingsetDynamic()Severalcrashbugsfixed

AuthoringImprovements

Abilitytohavemultiplecollisionhullsperchunk.Cancancelthefractureoperation“Trimfacehulls”optionincutoutfracturingAbility to use multiple UV channels and color channels from FBX

Page 83: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

meshescookChunks does not use the internal ExplicitHierarchicalMesh anylonger,onlyinformationpassedinfromthedescriptor

Removed

KnownIssues

Sensitivityof instancing. Instancedcutout fracturing isverysensitivetothescaleofthecutoutmap.Itmusttileperfectlyinordertoinstanceall chunks across a mesh. Similiarly, if there is backface noise incutout fracturing, the grid sizemust be amultiple of the number offracture map tiles. If not, the chunk meshes won’t be exactlyduplicatedfromtiletotile,sotheywillnotinstance.UVinstancingnotsupported.Thereforethetexturemapsontheassetmusttilewiththefracturemapifinstancingisused.Othterwise therewillbeagraphicalpopwhenfracturingfirstoccursonacutoutface.Chunkislandseparationbug.Whenachunkdoesnotphysicallytouchany of its neighbors, it forms a chunk support island. WhensupportDepth is set to that chunk’sdepth, and fracturingoccurs, thatchunkwillalwaysbreakfreefromtherestofthedestructible,andtherestofthedestructiblebreaksfreeaswell.Thisisverycommonwhenthere is noise in the slicing surface, and so chunk collision hulltrimmingisperformedinordertopreventhulloverlaps.

Page 84: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXDestruction1.0Beta

NewFeatures

Abilityforobjectstopassthroughdestructibleswhendamageistaken.ThisusesthenewmaterialStrengthparameter.Chunkneighbor padding value is exposed, allowing the user to tunehow near chunk collision volumes need to be for chunks to beconsideredneighborsforsupportcalculations.Tiling feature for SimpleDestruction (-tile command line argument),allows destructibles to be tiled in the scene. This allows you to seehowtheyformextendedstructures.

Improvements

Destructible structures can now contain up to 4 billion chunks(increasedfrom64kchunks).Dynamic chunk islands can contain chunks from more than onedestructible, so there is no artificial fracturing at destructibleboundaries.Morerobustimpactdamage.BetterbehaviorwhenLODbudgetlimitisreached.New flags for NxDestructibleActor::rayCast andDestuctibleActor::obbSweep, which allow you to override theACCURATE_RAYCASTSsettingintheasset.

AuthoringImprovements

BetterchunkmeshislandgenerationImprovedcutoutfracturing.Morerobust,nomoretrianglesinsidenon-convexandbetternormal/tangentgenerationonedgesofchunks.Thresholdanglefornormalsmoothingoncutoutfracturing.Betterspacingcalculationofgridusedfornoisysurfacefracturing.

Page 85: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

Better fractured mesh cleaning. Can reduce fractured mesh sizesignificantly(ontheorderof50%insomecases).Optionforperiodicbackfacenoise,sothattiledchippabledestructibleshavenodiscontinuitiesbetweenthem.Optiontochooseifacoremeshisexportedwithadestructibleornot.Option to “transfer” texture map from core mesh to neighboringchunksornot.Slicingparametersmaybesetateachdepthinthefracturehierarchy.Multiple-part meshes may be fractured. These will become the firststageoffracturing.Coremeshesmayalsobemadefrommultiple-partmeshes.

Removed

Replaced NxDestructibleActorDesc and NxDestructiblePreviewDescwithparameterizedobjects.

KnownIssues

Cutout-fractured tiles (closely packed collision bounds) jitter whenfractured.Errors in destructible structure calculations - when chunk neighborsinitiallyformanisland,thewholedestructiblemaybedislodgedwhenanypartofthestructureitisingetsdamaged.Chunk mesh island generation can sometimes produce spurioustriangles.Open meshes can produce spurious triangles when fractured. SmallopeningsareusuallyOK.DestructionAPIisnotfullybuffered.PhysXLab can easily runs out of memory on a 32-bit OS, withcomplexfracturing.Support structures don’t perform stress calculations, leading toconfigurations“hangingbyathread”WhentestingcollisionofchunkswiththestaticgeometryinthePhysX

Page 86: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

scene (for support determination), only the AABB of the chunk isused.

previousAPEX1.3ReleaseNotes»©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.

Page 87: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

nextAPEX1.3ReleaseNotes»

Page 88: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

NVIDIA(R)APEX(TM)SDKReleaseNotes(APEXSDKhasbeendeprecated)Note:APEXSDKhasbeendeprecated

Contents:

APEX1.4.1-ReleaseNotes(APEXhasbeendeprecated)InstallingAPEXNewin1.4Newin1.3.3Newin1.3.2Newin1.3.1Newin1.3Newin1.2.4Newin1.2.3Newin1.2.2Newin1.2.1Newin1.2Newin1.1Newin1.0

APEXClothingReleaseNotesAPEXClothing1.3.3APEXClothing1.3.2APEXClothing1.3.1APEXClothing1.3APEXClothing1.2.4APEXClothing1.2.3APEXClothing1.2.2APEXClothing1.2.1APEXClothing1.2APEXClothing1.1APEXClothing1.0Beta

APEXParticlesReleaseNotesAPEXParticles1.4APEXParticles1.3.3

Page 89: APEX 1.3 Release Notes - documentation.help · Visual Studio 2010, 2012, 2013 or 2015. 2. Microsoft DirectX SDK June 2010 or later (to build the Windows APEX samples) 1. The DirectX

APEXParticles1.3.2APEXParticles1.3.1APEXParticles1.3APEXParticles1.2.4APEXParticles1.2.3APEXParticles1.2.2APEXParticles1.2.1APEXParticles1.2

APEXDestructionReleaseNotesAPEXDestruction1.3.4APEXDestruction1.3.3APEXDestruction1.3.2APEXDestruction1.3.1APEXDestruction1.3APEXDestruction1.2.4APEXDestruction1.2.3APEXDestruction1.2.2APEXDestruction1.2.1APEXDestruction1.2APEXDestruction1.1APEXDestruction1.0Beta

nextAPEX1.3ReleaseNotes»©Copyright2012-2017,NVIDIACorporation,AllRightsReserved.CreatedusingSphinx1.0.2.