params.h
Go to the documentation of this file.
00001 //
00002 // Redistribution and use in source and binary forms, with or without
00003 // modification, are permitted provided that the following conditions
00004 // are met:
00005 //  * Redistributions of source code must retain the above copyright
00006 //    notice, this list of conditions and the following disclaimer.
00007 //  * Redistributions in binary form must reproduce the above copyright
00008 //    notice, this list of conditions and the following disclaimer in the
00009 //    documentation and/or other materials provided with the distribution.
00010 //  * Neither the name of NVIDIA CORPORATION nor the names of its
00011 //    contributors may be used to endorse or promote products derived
00012 //    from this software without specific prior written permission.
00013 //
00014 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
00015 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00016 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
00017 // PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
00018 // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
00019 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00020 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00021 // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00022 // OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00023 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
00024 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00025 //
00026 // Copyright (c) 2018 NVIDIA Corporation. All rights reserved.
00027 
00028 
00029 #ifndef PARAMETERIZED_H
00030 #define PARAMETERIZED_H
00031 
00032 namespace physx
00033 {
00034 class physx::PxVec3;
00035 class physx::PxQuat;
00036 class physx::PxMat33Legacy;
00037 class physx::PxMat34Legacy;
00038 class physx::PxBounds3;
00039 };
00040 
00041 class       physx::PxI64;
00042 class           physx::PxI32;
00043 class       physx::PxI16;
00044 class           physx::PxI8;
00045 
00046 class   PxU64;
00047 class       physx::PxU32;
00048 class       PxU16;
00049 class       PxU8;
00050 
00051 class               physx::PxF32;
00052 class               physx::PxF64;
00053 
00062 enum ColorChannel
00063 {
00064     red,
00065     green,
00066     blue,
00067     alpha,
00068 };
00069 
00070 
00074 enum DensityAdvection
00075 {
00076     ADVECTION_LINEAR,
00077     ADVECTION_MACCORMACK,
00078 };
00079 
00080 
00084 enum EmitterType
00085 {
00086     rate,
00087     densityOnce,
00088     densityBrush,
00089     fill,
00090 };
00091 
00092 
00096 enum FieldFormat
00097 {
00098     FLOAT,
00099     HALF,
00100     UCHAR,
00101     FLOAT4,
00102     HALF4,
00103     UCHAR4,
00104 };
00105 
00106 
00110 enum FieldType
00111 {
00112     FORCE,
00113     VELOCITY_DRAG,
00114     VELOCITY_DIRECT,
00115 };
00116 
00117 
00121 enum FillMode
00122 {
00123     SOLID,
00124     WIREFRAME,
00125 };
00126 
00127 
00131 enum ImpactAxis
00132 {
00133     incident,
00134     normal,
00135     reflection,
00136 };
00137 
00138 
00142 enum Max
00143 {
00144     EGR_12,
00145     EGR_16,
00146     EGR_24,
00147     EGR_32,
00148     EGR_48,
00149     EGR_64,
00150     EGR_96,
00151     EGR_128,
00152 };
00153 
00154 
00158 enum Min
00159 {
00160     EGR_12,
00161     EGR_16,
00162     EGR_24,
00163     EGR_32,
00164     EGR_48,
00165     EGR_64,
00166     EGR_96,
00167     EGR_128,
00168 };
00169 
00170 
00174 enum NoiseType
00175 {
00176     SIMPLEX,
00177     CURL,
00178 };
00179 
00180 
00184 enum PlaybackMode
00185 {
00186     LOOP,
00187     PLAY_ONCE,
00188     PING_PONG,
00189 };
00190 
00191 
00195 enum RenderMethod
00196 {
00197     RAYCASTING,
00198     SLICE_BASED,
00199 };
00200 
00201 
00205 enum RenderMode
00206 {
00207     VOLUME,
00208     VOLUME_COLORMAP,
00209     VOLUME_SHADOWED,
00210     VOXELS,
00211     ISOSURFACE,
00212 };
00213 
00214 
00218 enum RenderTechnique
00219 {
00220     SPRITE_ONE,
00221     SPRITE_ONE,
00222     SPRITE_ALPHA,
00223     SPRITE_SOLID,
00224     SPRITE_TEXTURE,
00225     SPRITE_WIREFRAME,
00226 };
00227 
00228 
00232 enum Resolution
00233 {
00234     GDG_8,
00235     GDG_16,
00236     GDG_32,
00237     GDG_64,
00238     GDG_128,
00239     GDG_256,
00240 };
00241 
00242 
00246 enum ResolutionScale
00247 {
00248     NO_SCALE,
00249     HALF_SCALE,
00250     QUARTER_SCALE,
00251 };
00252 
00253 
00257 enum RollType
00258 {
00259     SPHERICAL,
00260     CUBIC,
00261     FLAT_X,
00262     FLAT_Y,
00263     FLAT_Z,
00264     LONG_X,
00265     LONG_Y,
00266     LONG_Z,
00267 };
00268 
00269 
00273 enum RuntimeFractureType
00274 {
00275     VORONOI,
00276     GLASS,
00277 };
00278 
00279 
00283 enum ScaleAxis
00284 {
00285     xAxis,
00286     yAxis,
00287     zAxis,
00288 };
00289 
00290 
00294 enum Shape
00295 {
00296     sphere,
00297     capsule,
00298     cylinder,
00299     cone,
00300     box,
00301     none,
00302 };
00303 
00304 
00308 enum SimulationBackend
00309 {
00310     Default,
00311     ForceNative,
00312     ForceEmbedded,
00313 };
00314 
00315 
00319 enum SolverMode
00320 {
00321     SOLVER_JACOBI,
00322     SOLVER_MULTIGRID,
00323 };
00324 
00325 
00329 enum SortType
00330 {
00331     default,
00332 };
00333 
00334 
00338 enum Type
00339 {
00340     uniform,
00341     normal,
00342 };
00343 
00344 
00348 enum VelocityAdvection
00349 {
00350     ADVECTION_LINEAR,
00351     ADVECTION_MACCORMACK,
00352 };
00353 
00371 struct ApexEmitterActorParameters
00372 {
00376     Mat34               initialPose;
00380     F32                 initialScale;
00384     Mat34               attachRelativePose;
00391     Bool                emitAssetParticles;
00398     String              overlapTestGroupMaskName;
00405     String              overlapTestGroupsMask128Name;
00412     F32                 emitterDuration;
00413 };
00414 
00415 
00487 struct ApexEmitterAssetParameters
00488 {
00492     F32                 densityRange.min;
00496     F32                 densityRange.max;
00500     F32                 rateRange.min;
00504     F32                 rateRange.max;
00508     F32                 lifetimeRange.min;
00512     F32                 lifetimeRange.max;
00516     Vec3                velocityRange.min;
00520     Vec3                velocityRange.max;
00524     F32                 temperatureRange.min;
00528     F32                 temperatureRange.max;
00535     U32                 maxSamples;
00539     U32                 lodParamDesc.version;
00543     F32                 lodParamDesc.maxDistance;
00547     F32                 lodParamDesc.distanceWeight;
00551     F32                 lodParamDesc.speedWeight;
00555     F32                 lodParamDesc.lifeWeight;
00559     F32                 lodParamDesc.separationWeight;
00563     F32                 lodParamDesc.bias;
00567     Ref                 iofxAssetName;
00571     Ref                 iosAssetName;
00572 union GeometryType {
00576     EmitterGeomBoxParams    geometryType;
00580     EmitterGeomSphereParams geometryType;
00584     EmitterGeomSphereShellParams    geometryType;
00588     EmitterGeomCylinderParams   geometryType;
00592     EmitterGeomExplicitParams   geometryType;
00593 };
00594 GeometryType    geometryType;
00601     F32                 emitterDuration;
00608     U32                 minSamplingFPS;
00612     F32                 rateVsTimeCurvePoints[].x;
00616     F32                 rateVsTimeCurvePoints[].y;
00617 };
00618 
00619 
00634 struct AttractorFSActorParams
00635 {
00642     Mat34               initialPose;
00646     F32                 initialScale;
00650     String              fieldBoundaryFilterDataName;
00654     String              fieldSamplerFilterDataName;
00655 };
00656 
00657 
00676 struct AttractorFSAssetParams
00677 {
00681     F32                 boundaryFadePercentage;
00685     F32                 radius;
00689     F32                 constFieldStrength;
00696     F32                 variableFieldStrength;
00700     F32                 fieldDragCoeff;
00704     F32                 fieldWeight;
00708     String              fieldBoundaryFilterDataName;
00712     String              fieldSamplerFilterDataName;
00713 };
00714 
00715 
00730 struct AttractorFSPreviewParams
00731 {
00735     Mat44               globalPose;
00739     Bool                drawShape;
00743     Bool                drawAssetInfo;
00747     U64                 userData;
00748 };
00749 
00750 
00770 struct AttractorFieldSamplerData
00771 {
00775     String              Name;
00779     AttractorFSAssetParams  AttractorFieldSampler;
00780 };
00781 
00782 
00818 struct AttractorFieldSamplerEffect
00819 {
00823     String              EffectProperties.UserString;
00827     Bool                EffectProperties.Enable;
00831     F32                 EffectProperties.Position.TranslateX;
00835     F32                 EffectProperties.Position.TranslateY;
00839     F32                 EffectProperties.Position.TranslateZ;
00843     F32                 EffectProperties.Orientation.RotateX;
00847     F32                 EffectProperties.Orientation.RotateY;
00851     F32                 EffectProperties.Orientation.RotateZ;
00855     F32                 EffectProperties.InitialDelayTime;
00859     F32                 EffectProperties.Duration;
00863     U32                 EffectProperties.RepeatCount;
00867     F32                 EffectProperties.RepeatDelay;
00871     F32                 EffectProperties.RandomizeRepeatTime;
00875     PlaybackMode        EffectProperties.Path.PlaybackMode;
00879     F32                 EffectProperties.Path.PathDuration;
00883     U32                 EffectProperties.Path.LoopIndex;
00887     Transform           EffectProperties.Path.ControlPoints[];
00891     F32                 EffectProperties.Path.Scale[].x;
00895     F32                 EffectProperties.Path.Scale[].y;
00899     F32                 EffectProperties.Path.Speed[].x;
00903     F32                 EffectProperties.Path.Speed[].y;
00907     Ref                 AttractorFieldSampler;
00908 };
00909 
00910 
00943 struct BasicFSDebugRenderParams
00944 {
00948     Bool                VISUALIZE_JET_FS_ACTOR;
00952     Bool                VISUALIZE_JET_FS_ACTOR_NAME;
00956     Bool                VISUALIZE_JET_FS_SHAPE;
00960     Bool                VISUALIZE_JET_FS_FIELD;
00964     Bool                VISUALIZE_JET_FS_POSE;
00968     F32                 JET_FS_FIELD_SCALE;
00972     Bool                VISUALIZE_ATTRACTOR_FS_ACTOR;
00976     Bool                VISUALIZE_ATTRACTOR_FS_ACTOR_NAME;
00980     Bool                VISUALIZE_ATTRACTOR_FS_SHAPE;
00984     Bool                VISUALIZE_ATTRACTOR_FS_FIELD;
00988     Bool                VISUALIZE_ATTRACTOR_FS_POSE;
00992     Bool                VISUALIZE_VORTEX_FS_ACTOR;
00996     Bool                VISUALIZE_VORTEX_FS_ACTOR_NAME;
01000     Bool                VISUALIZE_VORTEX_FS_SHAPE;
01004     Bool                VISUALIZE_VORTEX_FS_FIELD;
01008     Bool                VISUALIZE_VORTEX_FS_POSE;
01012     Bool                VISUALIZE_NOISE_FS_ACTOR;
01016     Bool                VISUALIZE_NOISE_FS_ACTOR_NAME;
01020     Bool                VISUALIZE_NOISE_FS_SHAPE;
01024     Bool                VISUALIZE_NOISE_FS_POSE;
01028     Bool                VISUALIZE_WIND_FS_ACTOR;
01032     Bool                VISUALIZE_WIND_FS_ACTOR_NAME;
01033 };
01034 
01035 
01047 struct BasicFSModuleParameters
01048 {
01052     U32                 unused;
01053 };
01054 
01055 
01091 struct BasicIOSAssetParam
01092 {
01099     F32                 restDensity;
01106     F32                 particleRadius;
01110     U32                 maxParticleCount;
01117     F32                 maxInjectedParticleCount;
01124     U32                 maxCollidingObjects;
01128     F32                 sceneGravityScale;
01132     Vec3                externalAcceleration;
01136     F32                 particleMass.center;
01143     F32                 particleMass.spread;
01150     Type                particleMass.type;
01154     String              collisionFilterDataName;
01158     String              fieldSamplerFilterDataName;
01162     Bool                staticCollision;
01166     F32                 restitutionForStaticShapes;
01170     Bool                dynamicCollision;
01174     F32                 restitutionForDynamicShapes;
01178     F32                 collisionDistanceMultiplier;
01182     F32                 collisionThreshold;
01186     Bool                collisionWithConvex;
01190     Bool                collisionWithTriangleMesh;
01197     Bool                GridDensity.Enabled;
01204     Resolution          GridDensity.Resolution;
01211     F32                 GridDensity.GridSize;
01218     U32                 GridDensity.MaxCellCount;
01222     Bool                enableTemperatureBuffer;
01223 };
01224 
01225 
01239 struct BasicIosDebugRenderParams
01240 {
01244     Bool                VISUALIZE_BASIC_IOS_ACTOR;
01248     Bool                VISUALIZE_BASIC_IOS_COLLIDE_SHAPES;
01252     Bool                VISUALIZE_BASIC_IOS_GRID_DENSITY;
01253 };
01254 
01255 
01267 struct BasicIosModuleParameters
01268 {
01272     U32                 unused;
01273 };
01274 
01275 
01288 struct BufferF32x1
01289 {
01293     F32                 data[];
01294 };
01295 
01296 
01310 struct BufferF32x2
01311 {
01315     F32                 data[].x;
01319     F32                 data[].y;
01320 };
01321 
01322 
01335 struct BufferF32x3
01336 {
01340     Vec3                data[];
01341 };
01342 
01343 
01359 struct BufferF32x4
01360 {
01364     F32                 data[].x;
01368     F32                 data[].y;
01372     F32                 data[].z;
01376     F32                 data[].w;
01377 };
01378 
01379 
01392 struct BufferU16x1
01393 {
01397     U16                 data[];
01398 };
01399 
01400 
01414 struct BufferU16x2
01415 {
01419     U16                 data[].x;
01423     U16                 data[].y;
01424 };
01425 
01426 
01441 struct BufferU16x3
01442 {
01446     U16                 data[].x;
01450     U16                 data[].y;
01454     U16                 data[].z;
01455 };
01456 
01457 
01473 struct BufferU16x4
01474 {
01478     U16                 data[].x;
01482     U16                 data[].y;
01486     U16                 data[].z;
01490     U16                 data[].w;
01491 };
01492 
01493 
01506 struct BufferU32x1
01507 {
01511     U32                 data[];
01512 };
01513 
01514 
01528 struct BufferU32x2
01529 {
01533     U32                 data[].x;
01537     U32                 data[].y;
01538 };
01539 
01540 
01555 struct BufferU32x3
01556 {
01560     U32                 data[].x;
01564     U32                 data[].y;
01568     U32                 data[].z;
01569 };
01570 
01571 
01587 struct BufferU32x4
01588 {
01592     U32                 data[].x;
01596     U32                 data[].y;
01600     U32                 data[].z;
01604     U32                 data[].w;
01605 };
01606 
01607 
01620 struct BufferU8x1
01621 {
01625     U8                  data[];
01626 };
01627 
01628 
01642 struct BufferU8x2
01643 {
01647     U8                  data[].x;
01651     U8                  data[].y;
01652 };
01653 
01654 
01669 struct BufferU8x3
01670 {
01674     U8                  data[].x;
01678     U8                  data[].y;
01682     U8                  data[].z;
01683 };
01684 
01685 
01701 struct BufferU8x4
01702 {
01706     U8                  data[].x;
01710     U8                  data[].y;
01714     U8                  data[].z;
01718     U8                  data[].w;
01719 };
01720 
01721 
01736 struct CachedOverlaps
01737 {
01744     Bool                isCached;
01748     I32                 overlaps[].i0;
01752     I32                 overlaps[].i1;
01753 };
01754 
01755 
01856 struct ClothingActorParam
01857 {
01861     Mat44               globalPose;
01865     Bool                useHardwareCloth;
01872     Bool                flags.ParallelCpuSkinning;
01879     Bool                flags.RecomputeNormals;
01886     Bool                flags.RecomputeTangents;
01890     Bool                flags.Visualize;
01897     Bool                flags.CorrectSimulationNormals;
01901     Bool                flags.ComputeRenderData;
01905     Bool                flags.ComputePhysicsMeshNormals;
01912     Bool                fallbackSkinning;
01919     Bool                slowStart;
01926     Bool                useInternalBoneOrder;
01933     Bool                updateStateWithGlobalMatrices;
01940     U32                 uvChannelForTangentUpdate;
01947     F32                 maxDistanceBlendTime;
01951     U32                 clothingMaterialIndex;
01955     F32                 lodWeights.maxDistance;
01959     F32                 lodWeights.distanceWeight;
01963     F32                 lodWeights.bias;
01967     F32                 lodWeights.benefitsBias;
01971     Vec3                windParams.Velocity;
01978     F32                 windParams.Adaption;
01982     F32                 maxDistanceScale.Scale;
01986     Bool                maxDistanceScale.Multipliable;
01990     U64                 userData;
01997     Mat44               boneMatrices[];
02004     F32                 clothDescTemplate.collisionResponseCoefficient;
02008     U16                 clothDescTemplate.collisionGroup;
02012     U32                 clothDescTemplate.groupsMask.bits0;
02016     U32                 clothDescTemplate.groupsMask.bits1;
02020     U32                 clothDescTemplate.groupsMask.bits2;
02024     U32                 clothDescTemplate.groupsMask.bits3;
02031     Bounds3             clothDescTemplate.validBounds;
02038     U64                 clothDescTemplate.compartment;
02042     U64                 clothDescTemplate.userData;
02046     Bool                shapeDescTemplate.flags.NX_SF_VISUALIZATION;
02050     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_COLLISION;
02054     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RAYCASTING;
02058     Bool                shapeDescTemplate.flags.NX_SF_DYNAMIC_DYNAMIC_CCD;
02065     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_SCENE_QUERIES;
02072     U16                 shapeDescTemplate.collisionGroup;
02076     U32                 shapeDescTemplate.groupsMask.bits0;
02080     U32                 shapeDescTemplate.groupsMask.bits1;
02084     U32                 shapeDescTemplate.groupsMask.bits2;
02088     U32                 shapeDescTemplate.groupsMask.bits3;
02092     U16                 shapeDescTemplate.materialIndex;
02096     U64                 shapeDescTemplate.userData;
02100     U64                 shapeDescTemplate.name;
02104     U64                 actorDescTemplate.userData;
02108     U64                 actorDescTemplate.name;
02112     F32                 actorScale;
02116     ClothingCookedParam runtimeCooked;
02120     Vec3                morphDisplacements[];
02124     Vec3                morphPhysicalMeshNewPositions[];
02128     Vec3                morphGraphicalMeshNewPositions[];
02132     Bool                allowAdaptiveTargetFrequency;
02136     Bool                useVelocityClamping;
02140     Bounds3             vertexVelocityClamp;
02144     F32                 pressure;
02148     Bool                multiplyGlobalPoseIntoBones;
02152     String              overrideMaterialNames[];
02156     SimulationBackend   simulationBackend;
02160     Bool                freezeByLOD;
02167     Bool                localSpaceSim;
02174     I32                 teleportMode;
02175 };
02176 
02177 
02521 struct ClothingAssetParameters
02522 {
02526     ClothingPhysicalMeshParameters  physicalMeshes[];
02530     ClothingGraphicalLodParameters  graphicalLods[];
02537     U32                 simulation.hierarchicalLevels;
02544     F32                 simulation.thickness;
02551     F32                 simulation.virtualParticleDensity;
02555     Vec3                simulation.gravityDirection;
02562     F32                 simulation.sleepLinearVelocity;
02569     Bool                simulation.disableCCD;
02576     Bool                simulation.untangling;
02583     Bool                simulation.twowayInteraction;
02587     F32                 simulation.restLengthScale;
02594     I32                 bones[].internalIndex;
02598     I32                 bones[].externalIndex;
02602     U32                 bones[].numMeshReferenced;
02606     U32                 bones[].numRigidBodiesReferenced;
02610     I32                 bones[].parentIndex;
02614     Mat34               bones[].bindPose;
02618     String              bones[].name;
02625     U32                 bonesReferenced;
02632     U32                 bonesReferencedByMesh;
02636     U32                 rootBoneIndex;
02640     I32                 boneActors[].boneIndex;
02644     U32                 boneActors[].convexVerticesStart;
02648     U32                 boneActors[].convexVerticesCount;
02652     F32                 boneActors[].capsuleRadius;
02656     F32                 boneActors[].capsuleHeight;
02660     Mat34               boneActors[].localPose;
02667     Vec3                boneVertices[];
02671     I32                 boneSpheres[].boneIndex;
02675     F32                 boneSpheres[].radius;
02679     Vec3                boneSpheres[].localPos;
02686     U16                 boneSphereConnections[];
02690     I32                 bonePlanes[].boneIndex;
02694     Vec3                bonePlanes[].n;
02698     F32                 bonePlanes[].d;
02702     U32                 collisionConvexes[];
02706     F32                 cookedData[].scale;
02707 union CookedData {
02711     ClothingCookedParam cookedData;
02715     ClothingCookedPhysX3Param   cookedData;
02716 };
02717 CookedData  cookedData;
02724     Bounds3             boundingBox;
02728     ClothingMaterialLibraryParameters   materialLibrary;
02732     U32                 materialIndex;
02739     U32                 interCollisionChannels;
02743     String              toolString;
02744 };
02745 
02746 
02778 struct ClothingCookedParam
02779 {
02783     F32                 actorScale;
02790     U8                  convexCookedData[];
02794     U32                 cookedPhysicalSubmeshes[].physicalMeshId;
02798     U32                 cookedPhysicalSubmeshes[].submeshId;
02802     U32                 cookedPhysicalSubmeshes[].cookedDataOffset;
02806     U32                 cookedPhysicalSubmeshes[].cookedDataLength;
02810     U32                 cookedPhysicalSubmeshes[].deformableInvParticleWeightsOffset;
02814     U32                 cookedPhysicalSubmeshes[].virtualParticleIndicesOffset;
02818     U32                 cookedPhysicalSubmeshes[].virtualParticleIndicesLength;
02822     U8                  deformableCookedData[];
02829     U32                 cookedDataVersion;
02833     F32                 deformableInvParticleWeights[];
02837     U32                 virtualParticleIndices[];
02841     Vec3                virtualParticleWeights[];
02842 };
02843 
02844 
02891 struct ClothingCookedPhysX3Param
02892 {
02896     U32                 physicalMeshId;
02900     U32                 physicalSubMeshId;
02904     U32                 numVertices;
02908     F32                 deformableRestLengths[];
02912     U32                 deformableIndices[];
02916     U32                 selfCollisionIndices[];
02920     U32                 selfCollisionNormalIndices[];
02924     U32                 selfCollisionNormalSetSizes[];
02928     U32                 deformableSets[].fiberEnd;
02932     U32                 deformableSets[].longestFiber;
02936     U32                 deformableSets[].shortestFiber;
02940     U32                 deformableSets[].numEdges;
02944     F32                 deformableSets[].avgEdgeLength;
02948     U32                 deformableSets[].avgFiberLength;
02952     U32                 deformablePhaseDescs[].phaseType;
02956     U32                 deformablePhaseDescs[].setIndex;
02960     U32                 deformablePhaseDescs[].restValueOffset;
02964     U32                 tetherAnchors[];
02968     F32                 tetherLengths[];
02972     F32                 deformableInvVertexWeights[];
02976     U32                 virtualParticleIndices[];
02980     F32                 virtualParticleWeights[];
02984     U32                 cookedDataVersion;
02988     ClothingCookedPhysX3Param   nextCookedData;
02989 };
02990 
02991 
03043 struct ClothingDebugRenderParams
03044 {
03048     Bool                Actors;
03052     F32                 SkinnedPositions;
03056     Bool                Backstop;
03060     F32                 BackstopPrecise;
03064     Bool                MaxDistance;
03068     Bool                MaxDistanceInwards;
03072     Bool                SkinMapAll;
03076     Bool                SkinMapBad;
03080     Bool                SkinMapActual;
03084     Bool                SkinMapInvalidBary;
03088     F32                 PhysicsMeshWire;
03092     F32                 PhysicsMeshSolid;
03096     F32                 PhysicsMeshNormals;
03100     Bool                Skeleton;
03104     F32                 BoneFrames;
03108     F32                 BoneNames;
03112     F32                 Velocities;
03116     F32                 Wind;
03120     Bool                GraphicalVertexBones;
03124     Bool                PhysicalVertexBones;
03128     Bool                CollisionShapes;
03132     Bool                CollisionShapesWire;
03136     Bool                LengthFibers;
03140     Bool                CrossSectionFibers;
03144     Bool                BendingFibers;
03148     Bool                ShearingFibers;
03152     Bool                ZerostretchFibers;
03156     Bool                TethersActive;
03160     Bool                TethersInactive;
03164     Bool                VirtualCollision;
03168     Bool                FiberRange;
03172     Bool                ShowInLocalSpace;
03176     Bool                GlobalPose;
03180     Bool                RecomputeSubmeshes;
03184     Bool                RecomputeVertices;
03188     Bool                PhysicsMeshIndices;
03192     Bool                MassScale;
03196     Bool                SelfCollision;
03200     Bool                SelfCollisionWire;
03207     F32                 SelfCollisionAttenuation;
03214     Bool                SolverMode;
03215 };
03216 
03217 
03345 struct ClothingGraphicalLodParameters
03346 {
03353     String              platforms[];
03360     U32                 lod;
03367     U32                 physicalMeshId;
03371     RenderMeshAssetParameters   renderMeshAsset;
03378     U32                 immediateClothMap[];
03382     Vec3                skinClothMapB[].vtxTetraBary;
03386     U32                 skinClothMapB[].vertexIndexPlusOffset;
03390     Vec3                skinClothMapB[].nrmTetraBary;
03394     U32                 skinClothMapB[].faceIndex0;
03398     U32                 skinClothMapB[].tetraIndex;
03405     U32                 skinClothMapB[].submeshIndex;
03409     Vec3                skinClothMap[].vertexBary;
03413     U32                 skinClothMap[].vertexIndex0;
03417     Vec3                skinClothMap[].normalBary;
03421     U32                 skinClothMap[].vertexIndex1;
03425     Vec3                skinClothMap[].tangentBary;
03429     U32                 skinClothMap[].vertexIndex2;
03433     U32                 skinClothMap[].vertexIndexPlusOffset;
03440     F32                 skinClothMapThickness;
03447     F32                 skinClothMapOffset;
03451     Vec3                tetraMap[].vertexBary;
03455     U32                 tetraMap[].tetraIndex0;
03459     Vec3                tetraMap[].normalBary;
03463     U32                 tetraMap[]._dummyForAlignment;
03467     U32                 renderMeshAssetSorting;
03471     U32                 physicsSubmeshPartitioning[].graphicalSubmesh;
03475     U32                 physicsSubmeshPartitioning[].physicalSubmesh;
03479     U32                 physicsSubmeshPartitioning[].numSimulatedVertices;
03483     U32                 physicsSubmeshPartitioning[].numSimulatedVerticesAdditional;
03487     U32                 physicsSubmeshPartitioning[].numSimulatedIndices;
03488 };
03489 
03490 
03538 struct ClothingMaterialLibraryParameters
03539 {
03543     String              materials[].materialName;
03547     F32                 materials[].verticalStretchingStiffness;
03551     F32                 materials[].horizontalStretchingStiffness;
03555     F32                 materials[].bendingStiffness;
03559     F32                 materials[].shearingStiffness;
03563     F32                 materials[].tetherStiffness;
03567     F32                 materials[].tetherLimit;
03574     Bool                materials[].orthoBending;
03581     F32                 materials[].verticalStiffnessScaling.compressionRange;
03588     F32                 materials[].verticalStiffnessScaling.stretchRange;
03592     F32                 materials[].verticalStiffnessScaling.scale;
03599     F32                 materials[].horizontalStiffnessScaling.compressionRange;
03606     F32                 materials[].horizontalStiffnessScaling.stretchRange;
03610     F32                 materials[].horizontalStiffnessScaling.scale;
03617     F32                 materials[].bendingStiffnessScaling.compressionRange;
03624     F32                 materials[].bendingStiffnessScaling.stretchRange;
03628     F32                 materials[].bendingStiffnessScaling.scale;
03635     F32                 materials[].shearingStiffnessScaling.compressionRange;
03642     F32                 materials[].shearingStiffnessScaling.stretchRange;
03646     F32                 materials[].shearingStiffnessScaling.scale;
03650     F32                 materials[].damping;
03654     F32                 materials[].stiffnessFrequency;
03661     F32                 materials[].drag;
03668     Bool                materials[].comDamping;
03675     F32                 materials[].friction;
03679     F32                 materials[].massScale;
03686     U32                 materials[].solverIterations;
03693     F32                 materials[].solverFrequency;
03700     F32                 materials[].gravityScale;
03707     F32                 materials[].inertiaScale;
03714     F32                 materials[].hardStretchLimitation;
03721     F32                 materials[].maxDistanceBias;
03725     U32                 materials[].hierarchicalSolverIterations;
03732     F32                 materials[].selfcollisionThickness;
03739     F32                 materials[].selfcollisionSquashScale;
03746     F32                 materials[].selfcollisionStiffness;
03747 };
03748 
03749 
03771 struct ClothingModuleParameters
03772 {
03779     U32                 maxNumCompartments;
03786     U32                 maxUnusedPhysXResources;
03793     Bool                allowAsyncCooking;
03800     Bool                asyncFetchResults;
03804     U32                 avgSimFrequencyWindow;
03811     Bool                allowApexWorkBetweenSubsteps;
03818     F32                 interCollisionDistance;
03822     F32                 interCollisionStiffness;
03826     U32                 interCollisionIterations;
03833     Bool                sparseSelfCollision;
03837     U32                 maxTimeRenderProxyInPool;
03838 };
03839 
03840 
03924 struct ClothingPhysicalMeshParameters
03925 {
03929     U32                 physicalMesh.numVertices;
03933     U32                 physicalMesh.numIndices;
03937     U32                 physicalMesh.numBonesPerVertex;
03941     Vec3                physicalMesh.vertices[];
03948     Vec3                physicalMesh.normals[];
03955     Vec3                physicalMesh.skinningNormals[];
03959     F32                 physicalMesh.constrainCoefficients[].maxDistance;
03963     F32                 physicalMesh.constrainCoefficients[].collisionSphereRadius;
03967     F32                 physicalMesh.constrainCoefficients[].collisionSphereDistance;
03974     U16                 physicalMesh.boneIndices[];
03981     F32                 physicalMesh.boneWeights[];
03988     U8                  physicalMesh.optimizationData[];
03992     Bool                physicalMesh.hasNegativeBackstop;
03996     Bool                physicalMesh.isClosed;
04000     U32                 physicalMesh.indices[];
04007     F32                 physicalMesh.maximumMaxDistance;
04011     U32                 physicalMesh.physicalMeshSorting;
04015     F32                 physicalMesh.shortestEdgeLength;
04019     F32                 physicalMesh.averageEdgeLength;
04023     Bool                physicalMesh.isTetrahedralMesh;
04027     Bool                physicalMesh.flipNormals;
04034     U32                 submeshes[].numIndices;
04041     U32                 submeshes[].numVertices;
04045     U32                 submeshes[].numMaxDistance0Vertices;
04049     U32                 physicalLods[].costWithoutIterations;
04053     U32                 physicalLods[].submeshId;
04057     F32                 physicalLods[].solverIterationScale;
04061     F32                 physicalLods[].maxDistanceReduction;
04065     Vec3                transitionUpB[].vtxTetraBary;
04069     U32                 transitionUpB[].vertexIndexPlusOffset;
04073     Vec3                transitionUpB[].nrmTetraBary;
04077     U32                 transitionUpB[].faceIndex0;
04081     U32                 transitionUpB[].tetraIndex;
04088     U32                 transitionUpB[].submeshIndex;
04092     Vec3                transitionUp[].vertexBary;
04096     U32                 transitionUp[].vertexIndex0;
04100     Vec3                transitionUp[].normalBary;
04104     U32                 transitionUp[].vertexIndex1;
04108     Vec3                transitionUp[].tangentBary;
04112     U32                 transitionUp[].vertexIndex2;
04116     U32                 transitionUp[].vertexIndexPlusOffset;
04120     F32                 transitionUpThickness;
04124     F32                 transitionUpOffset;
04128     Vec3                transitionDownB[].vtxTetraBary;
04132     U32                 transitionDownB[].vertexIndexPlusOffset;
04136     Vec3                transitionDownB[].nrmTetraBary;
04140     U32                 transitionDownB[].faceIndex0;
04144     U32                 transitionDownB[].tetraIndex;
04151     U32                 transitionDownB[].submeshIndex;
04155     Vec3                transitionDown[].vertexBary;
04159     U32                 transitionDown[].vertexIndex0;
04163     Vec3                transitionDown[].normalBary;
04167     U32                 transitionDown[].vertexIndex1;
04171     Vec3                transitionDown[].tangentBary;
04175     U32                 transitionDown[].vertexIndex2;
04179     U32                 transitionDown[].vertexIndexPlusOffset;
04183     F32                 transitionDownThickness;
04187     F32                 transitionDownOffset;
04191     U32                 referenceCount;
04192 };
04193 
04194 
04212 struct ClothingPreviewParam
04213 {
04217     Mat44               globalPose;
04224     Bool                fallbackSkinning;
04231     Bool                useInternalBoneOrder;
04238     Bool                updateStateWithGlobalMatrices;
04242     U64                 userData;
04249     Mat44               boneMatrices[];
04250 };
04251 
04252 
04266 struct ColorVsDensityCompositeModifierParams
04267 {
04271     F32                 controlPoints[].density;
04275     Vec4                controlPoints[].color;
04276 };
04277 
04278 
04293 struct ColorVsDensityModifierParams
04294 {
04298     ColorChannel        colorChannel;
04302     F32                 controlPoints[].x;
04306     F32                 controlPoints[].y;
04307 };
04308 
04309 
04323 struct ColorVsLifeCompositeModifierParams
04324 {
04328     F32                 controlPoints[].lifeRemaining;
04332     Vec4                controlPoints[].color;
04333 };
04334 
04335 
04350 struct ColorVsLifeModifierParams
04351 {
04355     ColorChannel        colorChannel;
04359     F32                 controlPoints[].x;
04363     F32                 controlPoints[].y;
04364 };
04365 
04366 
04380 struct ColorVsTemperatureCompositeModifierParams
04381 {
04385     F32                 controlPoints[].temperature;
04389     Vec4                controlPoints[].color;
04390 };
04391 
04392 
04407 struct ColorVsTemperatureModifierParams
04408 {
04412     ColorChannel        colorChannel;
04416     F32                 controlPoints[].x;
04420     F32                 controlPoints[].y;
04421 };
04422 
04423 
04439 struct ColorVsVelocityCompositeModifierParams
04440 {
04444     F32                 velocity0;
04448     F32                 velocity1;
04452     F32                 controlPoints[].velocity;
04456     Vec4                controlPoints[].color;
04457 };
04458 
04459 
04476 struct ColorVsVelocityModifierParams
04477 {
04481     ColorChannel        colorChannel;
04485     F32                 velocity0;
04489     F32                 velocity1;
04493     F32                 controlPoints[].x;
04497     F32                 controlPoints[].y;
04498 };
04499 
04500 
04526 struct ConvexHullParameters
04527 {
04534     Vec3                vertices[];
04541     Vec3                uniquePlanes[].normal;
04548     F32                 uniquePlanes[].d;
04555     F32                 widths[];
04562     U32                 edges[];
04569     U32                 adjacentFaces[];
04576     Bounds3             bounds;
04583     F32                 volume;
04590     U32                 uniqueEdgeDirectionCount;
04597     U32                 planeCount;
04598 };
04599 
04600 
04647 struct DebugColorParams
04648 {
04652     U32                 Default;
04656     U32                 PoseArrows;
04660     U32                 MeshStatic;
04664     U32                 MeshDynamic;
04668     U32                 Shape;
04672     U32                 Text0;
04676     U32                 Text1;
04680     U32                 ForceArrowsLow;
04684     U32                 ForceArrowsNorm;
04688     U32                 ForceArrowsHigh;
04692     U32                 Color0;
04696     U32                 Color1;
04700     U32                 Color2;
04704     U32                 Color3;
04708     U32                 Color4;
04712     U32                 Color5;
04716     U32                 Red;
04720     U32                 Green;
04724     U32                 Blue;
04728     U32                 DarkRed;
04732     U32                 DarkGreen;
04736     U32                 DarkBlue;
04740     U32                 LightRed;
04744     U32                 LightGreen;
04748     U32                 LightBlue;
04752     U32                 Purple;
04756     U32                 DarkPurple;
04760     U32                 Yellow;
04764     U32                 Orange;
04768     U32                 Gold;
04772     U32                 Emerald;
04776     U32                 White;
04780     U32                 Black;
04784     U32                 Gray;
04788     U32                 LightGray;
04792     U32                 DarkGray;
04793 };
04794 
04795 
04942 struct DebugRenderParams
04943 {
04947     Bool                Enable;
04951     F32                 Scale;
04955     F32                 LodBenefits;
04959     F32                 RelativeLodBenefitsScreenPos;
04963     F32                 RelativeLodBenefitsThickness;
04967     F32                 LodDistanceScale;
04971     F32                 RenderNormals;
04975     F32                 RenderTangents;
04979     F32                 RenderBitangents;
04983     Bool                Bounds;
04984 union ModuleName {
04988     BasicFSDebugRenderParams    moduleName[];
04992     BasicIosDebugRenderParams   moduleName[];
04996     ParticleIosDebugRenderParams    moduleName[];
05000     ClothingDebugRenderParams   moduleName[];
05004     DestructibleDebugRenderParams   moduleName[];
05008     EmitterDebugRenderParams    moduleName[];
05012     ForceFieldDebugRenderParams moduleName[];
05016     IofxDebugRenderParams   moduleName[];
05020     TurbulenceFSDebugRenderParams   moduleName[];
05024     ParticlesDebugRenderParams  moduleName[];
05025 };
05026 ModuleName  moduleName[];
05027 };
05028 
05029 
05052 struct DestructibleActorChunks
05053 {
05060     U8                  data[].state;
05067     U8                  data[].flags;
05074     U32                 data[].islandID;
05081     F32                 data[].damage;
05088     Vec4                data[].localSphere;
05095     Vec3                data[].localOffset;
05102     I32                 data[].visibleAncestorIndex;
05109     U32                 data[].shapesCount;
05116     Transform           data[].globalPose;
05123     Vec3                data[].linearVelocity;
05130     Vec3                data[].angularVelocity;
05131 };
05132 
05133 
05402 struct DestructibleActorParam
05403 {
05410     String              crumbleEmitterName;
05417     F32                 crumbleParticleSpacing;
05424     String              dustEmitterName;
05431     F32                 dustParticleSpacing;
05438     Mat34               globalPose;
05445     Vec3                scale;
05452     Bool                dynamic;
05459     U32                 supportDepth;
05466     Bool                formExtendedStructures;
05473     Bool                performDetailedOverlapTestForExtendedStructures;
05480     Bool                keepPreviousFrameBoneBuffer;
05487     Bool                doNotCreateRenderable;
05494     Bool                useAssetDefinedSupport;
05501     Bool                useWorldSupport;
05508     Bool                renderStaticChunksSeparately;
05515     Bool                keepVisibleBonesPacked;
05522     Bool                createChunkEvents;
05529     String              overrideSkinnedMaterialNames[];
05536     String              overrideStaticMaterialNames[];
05543     F32                 sleepVelocityFrameDecayConstant;
05550     Bool                useHardSleeping;
05557     F32                 destructibleParameters.damageCap;
05564     F32                 destructibleParameters.forceToDamage;
05571     F32                 destructibleParameters.impactVelocityThreshold;
05578     U32                 destructibleParameters.minimumFractureDepth;
05585     I32                 destructibleParameters.impactDamageDefaultDepth;
05592     I32                 destructibleParameters.debrisDepth;
05599     U32                 destructibleParameters.essentialDepth;
05606     F32                 destructibleParameters.debrisLifetimeMin;
05613     F32                 destructibleParameters.debrisLifetimeMax;
05620     F32                 destructibleParameters.debrisMaxSeparationMin;
05627     F32                 destructibleParameters.debrisMaxSeparationMax;
05634     F32                 destructibleParameters.debrisDestructionProbability;
05641     Bounds3             destructibleParameters.validBounds;
05648     F32                 destructibleParameters.maxChunkSpeed;
05655     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
05662     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
05669     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
05676     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
05683     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
05690     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
05697     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
05704     F32                 destructibleParameters.fractureImpulseScale;
05711     U16                 destructibleParameters.damageDepthLimit;
05718     U16                 destructibleParameters.dynamicChunkDominanceGroup;
05725     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
05732     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
05739     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
05746     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
05753     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
05757     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
05764     Bool                destructibleParameters.runtimeFracture.sheetFracture;
05771     U32                 destructibleParameters.runtimeFracture.depthLimit;
05778     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
05785     F32                 destructibleParameters.runtimeFracture.minConvexSize;
05792     F32                 destructibleParameters.runtimeFracture.impulseScale;
05799     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
05806     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
05813     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
05820     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
05827     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
05834     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
05841     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
05848     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
05855     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
05862     Bool                destructibleParameters.runtimeFracture.attachment.posX;
05869     Bool                destructibleParameters.runtimeFracture.attachment.negX;
05876     Bool                destructibleParameters.runtimeFracture.attachment.posY;
05883     Bool                destructibleParameters.runtimeFracture.attachment.negY;
05890     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
05897     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
05904     F32                 destructibleParameters.supportStrength;
05911     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
05918     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
05925     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE;
05932     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE_VALUE;
05939     Bool                depthParameters[].IGNORE_POSE_UPDATES;
05946     Bool                depthParameters[].IGNORE_RAYCAST_CALLBACKS;
05953     Bool                depthParameters[].IGNORE_CONTACT_CALLBACKS;
05960     Bool                depthParameters[].USER_FLAG_0;
05967     Bool                depthParameters[].USER_FLAG_1;
05974     Bool                depthParameters[].USER_FLAG_2;
05981     Bool                depthParameters[].USER_FLAG_3;
05988     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_ENTER;
05995     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_LEAVE;
06002     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_STAY;
06009     Bool                shapeDescTemplate.flags.NX_SF_VISUALIZATION;
06016     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_COLLISION;
06023     Bool                shapeDescTemplate.flags.NX_SF_FEATURE_INDICES;
06030     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RAYCASTING;
06037     Bool                shapeDescTemplate.flags.NX_SF_POINT_CONTACT_FORCE;
06044     Bool                shapeDescTemplate.flags.NX_SF_FLUID_DRAIN;
06051     Bool                shapeDescTemplate.flags.NX_SF_FLUID_DISABLE_COLLISION;
06058     Bool                shapeDescTemplate.flags.NX_SF_FLUID_TWOWAY;
06065     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RESPONSE;
06072     Bool                shapeDescTemplate.flags.NX_SF_DYNAMIC_DYNAMIC_CCD;
06079     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_SCENE_QUERIES;
06086     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_DRAIN;
06093     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_DISABLE_COLLISION;
06100     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_TWOWAY;
06107     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_DRAIN;
06114     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_DISABLE_COLLISION;
06121     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_TWOWAY;
06128     U16                 shapeDescTemplate.collisionGroup;
06135     Bool                shapeDescTemplate.groupsMask.useGroupsMask;
06142     U32                 shapeDescTemplate.groupsMask.bits0;
06149     U32                 shapeDescTemplate.groupsMask.bits1;
06156     U32                 shapeDescTemplate.groupsMask.bits2;
06163     U32                 shapeDescTemplate.groupsMask.bits3;
06170     U16                 shapeDescTemplate.materialIndex;
06177     F32                 shapeDescTemplate.density;
06184     F32                 shapeDescTemplate.skinWidth;
06191     U64                 shapeDescTemplate.userData;
06198     U64                 shapeDescTemplate.name;
06205     Bool                actorDescTemplate.flags.NX_AF_DISABLE_COLLISION;
06212     Bool                actorDescTemplate.flags.NX_AF_DISABLE_RESPONSE;
06219     Bool                actorDescTemplate.flags.NX_AF_LOCK_COM;
06226     Bool                actorDescTemplate.flags.NX_AF_FLUID_DISABLE_COLLISION;
06233     Bool                actorDescTemplate.flags.NX_AF_CONTACT_MODIFICATION;
06240     Bool                actorDescTemplate.flags.NX_AF_FORCE_CONE_FRICTION;
06247     Bool                actorDescTemplate.flags.NX_AF_USER_ACTOR_PAIR_FILTERING;
06254     F32                 actorDescTemplate.density;
06261     U16                 actorDescTemplate.actorCollisionGroup;
06268     U16                 actorDescTemplate.dominanceGroup;
06275     Bool                actorDescTemplate.contactReportFlags.NX_IGNORE_PAIR;
06282     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_START_TOUCH;
06289     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_END_TOUCH;
06296     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_TOUCH;
06303     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_IMPACT;
06310     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_ROLL;
06317     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_SLIDE;
06324     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_FORCES;
06331     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
06338     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
06345     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
06352     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_CONTACT_MODIFICATION;
06359     U16                 actorDescTemplate.forceFieldMaterial;
06366     U64                 actorDescTemplate.userData;
06373     U64                 actorDescTemplate.name;
06380     U64                 actorDescTemplate.compartment;
06387     Bool                bodyDescTemplate.flags.NX_BF_DISABLE_GRAVITY;
06394     Bool                bodyDescTemplate.flags.NX_BF_FILTER_SLEEP_VEL;
06401     Bool                bodyDescTemplate.flags.NX_BF_ENERGY_SLEEP_TEST;
06408     Bool                bodyDescTemplate.flags.NX_BF_VISUALIZATION;
06415     F32                 bodyDescTemplate.wakeUpCounter;
06422     F32                 bodyDescTemplate.linearDamping;
06429     F32                 bodyDescTemplate.angularDamping;
06436     F32                 bodyDescTemplate.maxAngularVelocity;
06443     F32                 bodyDescTemplate.CCDMotionThreshold;
06450     F32                 bodyDescTemplate.sleepLinearVelocity;
06457     F32                 bodyDescTemplate.sleepAngularVelocity;
06464     U32                 bodyDescTemplate.solverIterationCount;
06471     F32                 bodyDescTemplate.sleepEnergyThreshold;
06478     F32                 bodyDescTemplate.sleepDamping;
06485     F32                 bodyDescTemplate.contactReportThreshold;
06489     Bool                p3ShapeDescTemplate.flags.eSIMULATION_SHAPE;
06493     Bool                p3ShapeDescTemplate.flags.eSCENE_QUERY_SHAPE;
06500     Bool                p3ShapeDescTemplate.flags.eTRIGGER_SHAPE;
06504     Bool                p3ShapeDescTemplate.flags.eVISUALIZATION;
06508     Bool                p3ShapeDescTemplate.flags.ePARTICLE_DRAIN;
06512     Bool                p3ShapeDescTemplate.flags.eDEFORMABLE_DRAIN;
06516     U32                 p3ShapeDescTemplate.simulationFilterData.word0;
06520     U32                 p3ShapeDescTemplate.simulationFilterData.word1;
06524     U32                 p3ShapeDescTemplate.simulationFilterData.word2;
06528     U32                 p3ShapeDescTemplate.simulationFilterData.word3;
06532     U32                 p3ShapeDescTemplate.queryFilterData.word0;
06536     U32                 p3ShapeDescTemplate.queryFilterData.word1;
06540     U32                 p3ShapeDescTemplate.queryFilterData.word2;
06544     U32                 p3ShapeDescTemplate.queryFilterData.word3;
06551     U64                 p3ShapeDescTemplate.material;
06558     F32                 p3ShapeDescTemplate.contactOffset;
06565     F32                 p3ShapeDescTemplate.restOffset;
06572     U64                 p3ShapeDescTemplate.userData;
06579     U64                 p3ShapeDescTemplate.name;
06586     Bool                p3ActorDescTemplate.flags.eVISUALIZATION;
06593     Bool                p3ActorDescTemplate.flags.eDISABLE_GRAVITY;
06600     Bool                p3ActorDescTemplate.flags.eSEND_SLEEP_NOTIFIES;
06607     U8                  p3ActorDescTemplate.dominanceGroup;
06614     U8                  p3ActorDescTemplate.ownerClient;
06621     U32                 p3ActorDescTemplate.clientBehaviorBits;
06628     Bool                p3ActorDescTemplate.contactReportFlags.eRESOLVE_CONTACTS;
06635     Bool                p3ActorDescTemplate.contactReportFlags.eMODIFY_CONTACTS;
06642     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_FOUND;
06649     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_PERSISTS;
06656     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_LOST;
06663     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_FOUND;
06670     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_PERSISTS;
06677     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_LOST;
06684     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_POINTS;
06691     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FORCES;
06698     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FORCE_PER_POINT;
06705     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
06712     Bool                p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR;
06716     Bool                p3ActorDescTemplate.contactReportFlags.eCONTACT_DEFAULT;
06720     Bool                p3ActorDescTemplate.contactReportFlags.eTRIGGER_DEFAULT;
06727     U64                 p3ActorDescTemplate.userData;
06734     U64                 p3ActorDescTemplate.name;
06741     F32                 p3BodyDescTemplate.density;
06748     Bool                p3BodyDescTemplate.flags.eKINEMATIC;
06755     Bool                p3BodyDescTemplate.flags.eENABLE_CCD;
06762     F32                 p3BodyDescTemplate.sleepThreshold;
06769     F32                 p3BodyDescTemplate.wakeUpCounter;
06776     F32                 p3BodyDescTemplate.linearDamping;
06783     F32                 p3BodyDescTemplate.angularDamping;
06790     F32                 p3BodyDescTemplate.maxAngularVelocity;
06797     U32                 p3BodyDescTemplate.solverIterationCount;
06804     U32                 p3BodyDescTemplate.velocityIterationCount;
06811     F32                 p3BodyDescTemplate.contactReportThreshold;
06818     F32                 p3BodyDescTemplate.sleepLinearVelocity;
06825     Bool                structureSettings.useStressSolver;
06832     F32                 structureSettings.stressSolverTimeDelay;
06839     F32                 structureSettings.stressSolverMassThreshold;
06846     String              defaultBehaviorGroup.name;
06853     F32                 defaultBehaviorGroup.damageThreshold;
06860     F32                 defaultBehaviorGroup.damageToRadius;
06867     F32                 defaultBehaviorGroup.damageSpread.minimumRadius;
06874     F32                 defaultBehaviorGroup.damageSpread.radiusMultiplier;
06881     F32                 defaultBehaviorGroup.damageSpread.falloffExponent;
06888     F32                 defaultBehaviorGroup.damageColorSpread.minimumRadius;
06895     F32                 defaultBehaviorGroup.damageColorSpread.radiusMultiplier;
06902     F32                 defaultBehaviorGroup.damageColorSpread.falloffExponent;
06909     Vec4                defaultBehaviorGroup.damageColorChange;
06916     F32                 defaultBehaviorGroup.materialStrength;
06923     F32                 defaultBehaviorGroup.density;
06930     F32                 defaultBehaviorGroup.fadeOut;
06937     F32                 defaultBehaviorGroup.maxDepenetrationVelocity;
06944     Bool                defaultBehaviorGroup.groupsMask.useGroupsMask;
06951     U32                 defaultBehaviorGroup.groupsMask.bits0;
06958     U32                 defaultBehaviorGroup.groupsMask.bits1;
06965     U32                 defaultBehaviorGroup.groupsMask.bits2;
06972     U32                 defaultBehaviorGroup.groupsMask.bits3;
06979     U64                 defaultBehaviorGroup.userData;
06986     String              behaviorGroups[].name;
06993     F32                 behaviorGroups[].damageThreshold;
07000     F32                 behaviorGroups[].damageToRadius;
07007     F32                 behaviorGroups[].damageSpread.minimumRadius;
07014     F32                 behaviorGroups[].damageSpread.radiusMultiplier;
07021     F32                 behaviorGroups[].damageSpread.falloffExponent;
07028     F32                 behaviorGroups[].damageColorSpread.minimumRadius;
07035     F32                 behaviorGroups[].damageColorSpread.radiusMultiplier;
07042     F32                 behaviorGroups[].damageColorSpread.falloffExponent;
07049     Vec4                behaviorGroups[].damageColorChange;
07056     F32                 behaviorGroups[].materialStrength;
07063     F32                 behaviorGroups[].density;
07070     F32                 behaviorGroups[].fadeOut;
07077     F32                 behaviorGroups[].maxDepenetrationVelocity;
07084     Bool                behaviorGroups[].groupsMask.useGroupsMask;
07091     U32                 behaviorGroups[].groupsMask.bits0;
07098     U32                 behaviorGroups[].groupsMask.bits1;
07105     U32                 behaviorGroups[].groupsMask.bits2;
07112     U32                 behaviorGroups[].groupsMask.bits3;
07119     U64                 behaviorGroups[].userData;
07126     Bool                deleteChunksLeavingUserDefinedBB;
07133     Bool                deleteChunksEnteringUserDefinedBB;
07134 };
07135 
07136 
07480 struct DestructibleActorState
07481 {
07488     Bool                enableCrumbleEmitter;
07495     Bool                enableDustEmitter;
07499     F32                 internalLODWeights.maxDistance;
07503     F32                 internalLODWeights.distanceWeight;
07507     F32                 internalLODWeights.maxAge;
07511     F32                 internalLODWeights.ageWeight;
07515     F32                 internalLODWeights.bias;
07522     U32                 lod;
07529     Bool                forceLod;
07536     F32                 destructibleParameters.damageCap;
07543     F32                 destructibleParameters.forceToDamage;
07550     F32                 destructibleParameters.impactVelocityThreshold;
07557     U32                 destructibleParameters.minimumFractureDepth;
07564     I32                 destructibleParameters.impactDamageDefaultDepth;
07571     I32                 destructibleParameters.debrisDepth;
07578     U32                 destructibleParameters.essentialDepth;
07585     F32                 destructibleParameters.debrisLifetimeMin;
07592     F32                 destructibleParameters.debrisLifetimeMax;
07599     F32                 destructibleParameters.debrisMaxSeparationMin;
07606     F32                 destructibleParameters.debrisMaxSeparationMax;
07613     F32                 destructibleParameters.debrisDestructionProbability;
07620     Bounds3             destructibleParameters.validBounds;
07627     F32                 destructibleParameters.maxChunkSpeed;
07634     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
07641     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
07648     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
07655     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
07662     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
07669     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
07676     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
07683     F32                 destructibleParameters.fractureImpulseScale;
07690     U16                 destructibleParameters.damageDepthLimit;
07697     U16                 destructibleParameters.dynamicChunkDominanceGroup;
07704     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
07711     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
07718     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
07725     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
07732     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
07736     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
07743     Bool                destructibleParameters.runtimeFracture.sheetFracture;
07750     U32                 destructibleParameters.runtimeFracture.depthLimit;
07757     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
07764     F32                 destructibleParameters.runtimeFracture.minConvexSize;
07771     F32                 destructibleParameters.runtimeFracture.impulseScale;
07778     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
07785     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
07792     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
07799     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
07806     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
07813     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
07820     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
07827     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
07834     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
07841     Bool                destructibleParameters.runtimeFracture.attachment.posX;
07848     Bool                destructibleParameters.runtimeFracture.attachment.negX;
07855     Bool                destructibleParameters.runtimeFracture.attachment.posY;
07862     Bool                destructibleParameters.runtimeFracture.attachment.negY;
07869     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
07876     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
07883     F32                 destructibleParameters.supportStrength;
07890     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
07897     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
07904     U64                 userData;
07908     DestructibleActorParam  actorParameters;
07912     DestructibleActorChunks actorChunks;
07913 };
07914 
07915 
07935 struct DestructibleAssetCollisionDataSet
07936 {
07943     String              assetName;
07950     U32                 cookingPlatform;
07957     U32                 cookingVersionNum;
07964     Vec3                scales[];
07968     MeshCookedCollisionStreamsAtScale   meshCookedCollisionStreamsAtScale[];
07969 };
07970 
07971 
08312 struct DestructibleAssetParameters
08313 {
08320     String              comments;
08327     U32                 depthCount;
08334     U32                 originalDepthCount;
08341     Bounds3             bounds;
08348     String              defaultBehaviorGroup.name;
08355     F32                 defaultBehaviorGroup.damageThreshold;
08362     F32                 defaultBehaviorGroup.damageToRadius;
08369     F32                 defaultBehaviorGroup.damageSpread.minimumRadius;
08376     F32                 defaultBehaviorGroup.damageSpread.radiusMultiplier;
08383     F32                 defaultBehaviorGroup.damageSpread.falloffExponent;
08390     F32                 defaultBehaviorGroup.damageColorSpread.minimumRadius;
08397     F32                 defaultBehaviorGroup.damageColorSpread.radiusMultiplier;
08404     F32                 defaultBehaviorGroup.damageColorSpread.falloffExponent;
08411     Vec4                defaultBehaviorGroup.damageColorChange;
08418     F32                 defaultBehaviorGroup.materialStrength;
08425     F32                 defaultBehaviorGroup.density;
08432     F32                 defaultBehaviorGroup.fadeOut;
08439     F32                 defaultBehaviorGroup.maxDepenetrationVelocity;
08446     U64                 defaultBehaviorGroup.userData;
08453     String              behaviorGroups[].name;
08460     F32                 behaviorGroups[].damageThreshold;
08467     F32                 behaviorGroups[].damageToRadius;
08474     F32                 behaviorGroups[].damageSpread.minimumRadius;
08481     F32                 behaviorGroups[].damageSpread.radiusMultiplier;
08488     F32                 behaviorGroups[].damageSpread.falloffExponent;
08495     F32                 behaviorGroups[].damageColorSpread.minimumRadius;
08502     F32                 behaviorGroups[].damageColorSpread.radiusMultiplier;
08509     F32                 behaviorGroups[].damageColorSpread.falloffExponent;
08516     Vec4                behaviorGroups[].damageColorChange;
08523     F32                 behaviorGroups[].materialStrength;
08530     F32                 behaviorGroups[].density;
08537     F32                 behaviorGroups[].fadeOut;
08544     F32                 behaviorGroups[].maxDepenetrationVelocity;
08551     U64                 behaviorGroups[].userData;
08558     I8                  RTFractureBehaviorGroup;
08565     U16                 chunks[].depth;
08572     U16                 chunks[].parentIndex;
08579     U16                 chunks[].firstChildIndex;
08586     U16                 chunks[].numChildren;
08593     U16                 chunks[].meshPartIndex;
08600     U16                 chunks[].flags;
08607     Vec3                chunks[].surfaceNormal;
08614     I8                  chunks[].behaviorGroupIndex;
08621     U16                 chunks[].firstScatterMesh;
08628     U16                 chunks[].scatterMeshCount;
08632     ConvexHullParameters    chunkConvexHulls[];
08639     U32                 chunkConvexHullStartIndices[];
08646     F32                 destructibleParameters.damageCap;
08653     F32                 destructibleParameters.forceToDamage;
08660     F32                 destructibleParameters.impactVelocityThreshold;
08667     U32                 destructibleParameters.minimumFractureDepth;
08674     I32                 destructibleParameters.impactDamageDefaultDepth;
08681     I32                 destructibleParameters.debrisDepth;
08688     U32                 destructibleParameters.essentialDepth;
08695     F32                 destructibleParameters.debrisLifetimeMin;
08702     F32                 destructibleParameters.debrisLifetimeMax;
08709     F32                 destructibleParameters.debrisMaxSeparationMin;
08716     F32                 destructibleParameters.debrisMaxSeparationMax;
08723     F32                 destructibleParameters.debrisDestructionProbability;
08730     Bounds3             destructibleParameters.validBounds;
08737     F32                 destructibleParameters.maxChunkSpeed;
08744     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
08751     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
08758     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
08765     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
08772     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
08779     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
08786     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
08793     F32                 destructibleParameters.fractureImpulseScale;
08800     U16                 destructibleParameters.damageDepthLimit;
08807     U16                 destructibleParameters.dynamicChunkDominanceGroup;
08814     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
08821     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
08828     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
08835     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
08842     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
08846     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
08853     Bool                destructibleParameters.runtimeFracture.sheetFracture;
08860     U32                 destructibleParameters.runtimeFracture.depthLimit;
08867     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
08874     F32                 destructibleParameters.runtimeFracture.minConvexSize;
08881     F32                 destructibleParameters.runtimeFracture.impulseScale;
08888     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
08895     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
08902     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
08909     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
08916     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
08923     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
08930     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
08937     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
08944     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
08951     Bool                destructibleParameters.runtimeFracture.attachment.posX;
08958     Bool                destructibleParameters.runtimeFracture.attachment.negX;
08965     Bool                destructibleParameters.runtimeFracture.attachment.posY;
08972     Bool                destructibleParameters.runtimeFracture.attachment.negY;
08979     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
08986     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
08993     F32                 destructibleParameters.supportStrength;
09000     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
09007     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
09014     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE;
09021     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE_VALUE;
09028     Bool                depthParameters[].IGNORE_POSE_UPDATES;
09035     Bool                depthParameters[].IGNORE_RAYCAST_CALLBACKS;
09042     Bool                depthParameters[].IGNORE_CONTACT_CALLBACKS;
09049     Bool                depthParameters[].USER_FLAG_0;
09056     Bool                depthParameters[].USER_FLAG_1;
09063     Bool                depthParameters[].USER_FLAG_2;
09070     Bool                depthParameters[].USER_FLAG_3;
09077     String              crumbleEmitterName;
09084     String              dustEmitterName;
09088     DestructibleAssetCollisionDataSet   collisionData;
09092     RenderMeshAssetParameters   renderMeshAsset;
09099     U32                 initialDestructibleActorAllowanceForInstancing;
09106     U16                 chunkInstanceInfo[].partIndex;
09113     Vec3                chunkInstanceInfo[].chunkPositionOffset;
09120     Vec2                chunkInstanceInfo[].chunkUVOffset;
09127     String              staticMaterialNames[];
09134     F32                 neighborPadding;
09138     CachedOverlaps      overlapsAtDepth[];
09145     U32                 firstChunkAtDepth[];
09152     U32                 supportDepth;
09159     Bool                formExtendedStructures;
09166     Bool                useAssetDefinedSupport;
09173     Bool                useWorldSupport;
09180     Mat44               actorTransforms[];
09184     RenderMeshAssetParameters   scatterMeshAssets[];
09191     U8                  scatterMeshIndices[];
09198     Mat33               scatterMeshTransforms[].matrix;
09205     Vec3                scatterMeshTransforms[].vector;
09206 };
09207 
09208 
09228 struct DestructibleDebugRenderParams
09229 {
09233     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR;
09237     F32                 VISUALIZE_DESTRUCTIBLE_BOUNDS;
09241     F32                 VISUALIZE_DESTRUCTIBLE_SUPPORT;
09245     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR_POSE;
09249     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_POSE;
09253     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR_NAME;
09257     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_NAME;
09261     Bool                VISUALIZE_DESTRUCTIBLE_FRAGMENT_POSE;
09265     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_FRAGMENT_POSE;
09266 };
09267 
09268 
09287 struct DestructibleModuleParameters
09288 {
09292     U32                 maxDynamicChunkIslandCount;
09296     Bool                sortFIFOByBenefit;
09300     F32                 validBoundsPadding;
09307     F32                 maxChunkSeparationLOD;
09311     U32                 maxActorCreatesPerFrame;
09318     U32                 maxChunkDepthOffset;
09325     F32                 massScale;
09332     F32                 scaledMassExponent;
09333 };
09334 
09335 
09355 struct DestructiblePreviewParam
09356 {
09363     Mat44               globalPose;
09370     U32                 chunkDepth;
09377     F32                 explodeAmount;
09384     Bool                renderUnexplodedChunksStatically;
09391     String              overrideSkinnedMaterialNames[];
09398     String              overrideStaticMaterialNames[];
09402     U64                 userData;
09403 };
09404 
09405 
09419 struct EffectPackageActorParams
09420 {
09424     Transform           InitialPose;
09428     F32                 objectScale;
09432     Bool                Enabled;
09433 };
09434 
09435 
09798 struct EffectPackageAssetParams
09799 {
09803     Bool                LODSettings.UniqueRenderVolume;
09807     F32                 LODSettings.FadeDistanceBegin;
09811     F32                 LODSettings.FadeDistanceEnd;
09815     Bool                LODSettings.RandomizeEmitterRate;
09819     F32                 LODSettings.FadeOutRate;
09823     Bool                LODSettings.CullByDistance;
09827     Bool                LODSettings.CullOffScreen;
09831     F32                 LODSettings.OffScreenCullTime;
09835     F32                 LODSettings.NonVisibleDeleteTime;
09839     F32                 LODSettings.ScreenCullSize;
09843     F32                 LODSettings.ScreenCullDistance;
09847     Bool                LODSettings.FadeEmitterRate;
09851     Bool                LODSettings.FadeAttractorFieldStrength;
09855     Bool                LODSettings.FadeJetFieldStrength;
09859     Bool                LODSettings.FadeTurbulenceVelocity;
09863     Bool                LODSettings.FadeTurbulenceNoise;
09867     Bool                LODSettings.FadeTurbulenceExternalVelocity;
09871     Bool                LODSettings.FadeTurbulenceVelocityWeight;
09875     Bool                LODSettings.FadeHeatSourceTemperature;
09879     Bool                LODSettings.FadeForceFieldStrength;
09883     Bool                LODSettings.FadeForceFieldScale;
09887     PlaybackMode        Path.PlaybackMode;
09891     F32                 Path.PathDuration;
09895     U32                 Path.LoopIndex;
09899     Transform           Path.ControlPoints[];
09903     F32                 Path.Scale[].x;
09907     F32                 Path.Scale[].y;
09911     F32                 Path.Speed[].x;
09915     F32                 Path.Speed[].y;
09916 union Effects {
09920     EmitterEffect       Effects[];
09924     HeatSourceEffect    Effects[];
09928     JetFieldSamplerEffect   Effects[];
09932     AttractorFieldSamplerEffect Effects[];
09936     TurbulenceFieldSamplerEffect    Effects[];
09940     ForceFieldEffect    Effects[];
09944     NoiseFieldSamplerEffect Effects[];
09948     VortexFieldSamplerEffect    Effects[];
09952     SubstanceSourceEffect   Effects[];
09956     WindFieldSamplerEffect  Effects[];
09960     RigidBodyEffect     Effects[];
09964     VelocitySourceEffect    Effects[];
09965 };
09966 Effects Effects[];
09967 };
09968 
09969 
10333 struct EffectPackageData
10334 {
10338     String              Name;
10342     EffectPackageAssetParams    EffectPackage;
10343 };
10344 
10345 
10710 struct EffectPackageDatabaseParams
10711 {
10715     EffectPackageData   EffectPackages[];
10716 };
10717 
10718 
10788 struct EffectPackageEmitterDatabaseParams
10789 {
10793     EmitterData         Emitters[];
10794 };
10795 
10796 
10988 struct EffectPackageFieldSamplerDatabaseParams
10989 {
10990 union FieldSamplers {
10994     AttractorFieldSamplerData   FieldSamplers[];
10998     ForceFieldData      FieldSamplers[];
11002     HeatSourceData      FieldSamplers[];
11006     JetFieldSamplerData FieldSamplers[];
11010     TurbulenceFieldSamplerData  FieldSamplers[];
11014     VortexFieldSamplerData  FieldSamplers[];
11018     NoiseFieldSamplerData   FieldSamplers[];
11022     SubstanceSourceData FieldSamplers[];
11026     WindFieldSamplerData    FieldSamplers[];
11030     VelocitySourceData  FieldSamplers[];
11031 };
11032 FieldSamplers   FieldSamplers[];
11033 };
11034 
11035 
11099 struct EffectPackageGraphicsMaterialsParams
11100 {
11101 union GraphicsMaterials {
11105     GraphicsMaterialData    GraphicsMaterials[];
11109     VolumeRenderMaterialData    GraphicsMaterials[];
11110 };
11111 GraphicsMaterials   GraphicsMaterials[];
11112 };
11113 
11114 
11274 struct EffectPackageIOFXDatabaseParams
11275 {
11279     GraphicsEffectData  GraphicsEffects[];
11280 };
11281 
11282 
11352 struct EffectPackageIOSDatabaseParams
11353 {
11357     ParticleSimulationData  ParticleSimulations[];
11358 };
11359 
11360 
11373 struct EmitterAssetPreviewParameters
11374 {
11378     Mat34               pose;
11382     F32                 scale;
11383 };
11384 
11385 
11454 struct EmitterData
11455 {
11459     String              Name;
11463     ApexEmitterAssetParameters  Emitter;
11464 };
11465 
11466 
11493 struct EmitterDebugRenderParams
11494 {
11498     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR;
11502     Bool                apexEmitterParameters.VISUALIZE_TOTAL_INJECTED_AABB;
11506     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR_POSE;
11510     F32                 apexEmitterParameters.THRESHOLD_DISTANCE_APEX_EMITTER_ACTOR_POSE;
11514     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR_NAME;
11518     F32                 apexEmitterParameters.THRESHOLD_DISTANCE_APEX_EMITTER_ACTOR_NAME;
11522     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR;
11526     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_SPHERE;
11530     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_GRID;
11534     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_RAYCAST;
11538     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR_POSE;
11542     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR_NAME;
11546     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_ACTOR;
11550     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_RAYCAST;
11554     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_ACTOR_NAME;
11558     F32                 impactEmitterParameters.THRESHOLD_DISTANCE_IMPACT_EMITTER_ACTOR_NAME;
11559 };
11560 
11561 
11607 struct EmitterEffect
11608 {
11612     String              EffectProperties.UserString;
11616     Bool                EffectProperties.Enable;
11620     F32                 EffectProperties.Position.TranslateX;
11624     F32                 EffectProperties.Position.TranslateY;
11628     F32                 EffectProperties.Position.TranslateZ;
11632     F32                 EffectProperties.Orientation.RotateX;
11636     F32                 EffectProperties.Orientation.RotateY;
11640     F32                 EffectProperties.Orientation.RotateZ;
11644     F32                 EffectProperties.InitialDelayTime;
11648     F32                 EffectProperties.Duration;
11652     U32                 EffectProperties.RepeatCount;
11656     F32                 EffectProperties.RepeatDelay;
11660     F32                 EffectProperties.RandomizeRepeatTime;
11664     PlaybackMode        EffectProperties.Path.PlaybackMode;
11668     F32                 EffectProperties.Path.PathDuration;
11672     U32                 EffectProperties.Path.LoopIndex;
11676     Transform           EffectProperties.Path.ControlPoints[];
11680     F32                 EffectProperties.Path.Scale[].x;
11684     F32                 EffectProperties.Path.Scale[].y;
11688     F32                 EffectProperties.Path.Speed[].x;
11692     F32                 EffectProperties.Path.Speed[].y;
11696     Bool                EmitterVelocityChanges.AdjustLifetime.AdjustEnabled;
11700     F32                 EmitterVelocityChanges.AdjustLifetime.VelocityLow;
11704     F32                 EmitterVelocityChanges.AdjustLifetime.VelocityHigh;
11708     F32                 EmitterVelocityChanges.AdjustLifetime.LowValue;
11712     F32                 EmitterVelocityChanges.AdjustLifetime.HighValue;
11716     Bool                EmitterVelocityChanges.AdjustEmitterRate.AdjustEnabled;
11720     F32                 EmitterVelocityChanges.AdjustEmitterRate.VelocityLow;
11724     F32                 EmitterVelocityChanges.AdjustEmitterRate.VelocityHigh;
11728     F32                 EmitterVelocityChanges.AdjustEmitterRate.LowValue;
11732     F32                 EmitterVelocityChanges.AdjustEmitterRate.HighValue;
11736     Ref                 Emitter;
11737 };
11738 
11739 
11752 struct EmitterGeomBoxParams
11753 {
11760     EmitterType         emitterType;
11764     Vec3                extents;
11765 };
11766 
11767 
11781 struct EmitterGeomCylinderParams
11782 {
11789     EmitterType         emitterType;
11793     F32                 radius;
11797     F32                 height;
11798 };
11799 
11800 
11831 struct EmitterGeomExplicitParams
11832 {
11836     F32                 distance;
11840     Vec3                points.positions[].position;
11844     Bool                points.positions[].doDetectOverlaps;
11848     Vec3                points.velocities[];
11852     Vec3                spheres.positions[].center;
11856     F32                 spheres.positions[].radius;
11860     Bool                spheres.positions[].doDetectOverlaps;
11864     Vec3                spheres.velocities[];
11868     Vec3                ellipsoids.positions[].center;
11872     F32                 ellipsoids.positions[].radius;
11876     Vec3                ellipsoids.positions[].normal;
11880     F32                 ellipsoids.positions[].polarRadius;
11884     Bool                ellipsoids.positions[].doDetectOverlaps;
11888     Vec3                ellipsoids.velocities[];
11889 };
11890 
11891 
11905 struct EmitterGeomSphereParams
11906 {
11913     EmitterType         emitterType;
11917     F32                 radius;
11921     F32                 hemisphere;
11922 };
11923 
11924 
11939 struct EmitterGeomSphereShellParams
11940 {
11947     EmitterType         emitterType;
11951     F32                 radius;
11955     F32                 shellThickness;
11959     F32                 hemisphere;
11960 };
11961 
11962 
11974 struct EmitterModuleParameters
11975 {
11979     U32                 unused;
11980 };
11981 
11982 
11994 struct FieldSamplerModuleParameters
11995 {
11999     U32                 unused;
12000 };
12001 
12002 
12016 struct FieldSamplerPhysXMonitorParams
12017 {
12021     U32                 maxRBCount;
12025     U32                 maxPSCount;
12029     U32                 maxParticleCount;
12030 };
12031 
12045 struct FluidParticleSystemParams
12046 {
12053     F32                 restParticleDistance;
12060     F32                 stiffness;
12067     F32                 viscosity;
12068 };
12069 
12070 
12085 struct ForceFieldActorParams
12086 {
12090     Mat44               initialPose;
12094     F32                 scale;
12098     String              fieldBoundaryFilterDataName;
12102     String              fieldSamplerFilterDataName;
12103 };
12104 
12105 
12143 struct ForceFieldAssetParams
12144 {
12145 union ForceFieldKernelType {
12149     GenericForceFieldKernelParams   forceFieldKernelType;
12153     RadialForceFieldKernelParams    forceFieldKernelType;
12154 };
12155 ForceFieldKernelType    forceFieldKernelType;
12159     F32                 defScale;
12163     F32                 strength;
12167     F32                 lifetime;
12171     Shape               includeShapeParameters.shape;
12175     Mat44               includeShapeParameters.forceFieldToShape;
12179     Vec3                includeShapeParameters.dimensions;
12183     String              fieldBoundaryFilterDataName;
12187     String              fieldSamplerFilterDataName;
12188 };
12189 
12190 
12206 struct ForceFieldAssetPreviewParams
12207 {
12211     Mat44               pose;
12215     F32                 iconScale;
12219     Bool                drawIcon;
12223     Bool                drawBoundaries;
12227     Bool                drawBold;
12228 };
12229 
12230 
12269 struct ForceFieldData
12270 {
12274     String              Name;
12278     ForceFieldAssetParams   ForceField;
12279 };
12280 
12281 
12293 struct ForceFieldDebugRenderParams
12294 {
12298     Bool                VISUALIZE_FORCEFIELD_ACTOR;
12299 };
12300 
12301 
12337 struct ForceFieldEffect
12338 {
12342     String              EffectProperties.UserString;
12346     Bool                EffectProperties.Enable;
12350     F32                 EffectProperties.Position.TranslateX;
12354     F32                 EffectProperties.Position.TranslateY;
12358     F32                 EffectProperties.Position.TranslateZ;
12362     F32                 EffectProperties.Orientation.RotateX;
12366     F32                 EffectProperties.Orientation.RotateY;
12370     F32                 EffectProperties.Orientation.RotateZ;
12374     F32                 EffectProperties.InitialDelayTime;
12378     F32                 EffectProperties.Duration;
12382     U32                 EffectProperties.RepeatCount;
12386     F32                 EffectProperties.RepeatDelay;
12390     F32                 EffectProperties.RandomizeRepeatTime;
12394     PlaybackMode        EffectProperties.Path.PlaybackMode;
12398     F32                 EffectProperties.Path.PathDuration;
12402     U32                 EffectProperties.Path.LoopIndex;
12406     Transform           EffectProperties.Path.ControlPoints[];
12410     F32                 EffectProperties.Path.Scale[].x;
12414     F32                 EffectProperties.Path.Scale[].y;
12418     F32                 EffectProperties.Path.Speed[].x;
12422     F32                 EffectProperties.Path.Speed[].y;
12426     Ref                 ForceField;
12427 };
12428 
12429 
12444 struct ForceFieldFalloffParams
12445 {
12449     Type                type;
12453     F32                 multiplier;
12457     F32                 start;
12461     F32                 end;
12462 };
12463 
12464 
12476 struct ForceFieldModuleParams
12477 {
12481     U32                 unused;
12482 };
12483 
12484 
12499 struct ForceFieldNoiseParams
12500 {
12504     F32                 strength;
12508     F32                 spaceScale;
12512     F32                 timeScale;
12516     U32                 octaves;
12517 };
12518 
12519 
12540 struct GenericForceFieldKernelParams
12541 {
12545     Type                coordinateSystemParameters.type;
12549     F32                 coordinateSystemParameters.torusRadius;
12553     Vec3                constant;
12557     Mat33               positionMultiplier;
12561     Vec3                positionTarget;
12565     Mat33               velocityMultiplier;
12569     Vec3                velocityTarget;
12573     Vec3                noise;
12577     Vec3                falloffLinear;
12581     Vec3                falloffQuadratic;
12582 };
12583 
12584 
12743 struct GraphicsEffectData
12744 {
12748     String              Name;
12752     IofxAssetParameters IOFX;
12753 };
12754 
12755 
12784 struct GraphicsMaterialData
12785 {
12789     String              Name;
12793     String              ApplicationMaterialName;
12797     String              UserProperties;
12801     RenderTechnique     RenderTechnique;
12805     String              DiffuseTexture;
12809     U32                 CellColumn;
12813     U32                 CellRow;
12817     U32                 CellCount;
12821     Bool                CrossBlend;
12825     F32                 ColorMultiplier;
12829     Bool                UsePSM;
12833     Resolution          Resolution;
12837     U32                 FullResPercent;
12841     U32                 HalfResPercent;
12845     F32                 PSM_ShadowBias;
12849     Bool                PSM_Frustum.ShowFrustum;
12853     F32                 PSM_Frustum.FrustumDepth;
12857     F32                 PSM_Frustum.FrustumSize;
12858 };
12859 
12860 
12881 struct GroundEmitterActorParameters
12882 {
12886     F32                 densityRange.min;
12890     F32                 densityRange.max;
12897     F32                 radius;
12904     Vec3                upDirection;
12911     F32                 raycastHeight;
12918     F32                 spawnHeight;
12925     U32                 maxRaycastsPerFrame;
12932     String              raycastCollisionGroupMaskName;
12939     Vec3                attachRelativePosition;
12946     Mat34               globalPose;
12947 };
12948 
12949 
12984 struct GroundEmitterAssetParameters
12985 {
12989     F32                 densityRange.min;
12993     F32                 densityRange.max;
12997     Vec3                velocityRange.min;
13001     Vec3                velocityRange.max;
13005     F32                 lifetimeRange.min;
13009     F32                 lifetimeRange.max;
13016     F32                 radius;
13023     F32                 raycastHeight;
13030     F32                 spawnHeight;
13037     U32                 maxRaycastsPerFrame;
13044     String              raycastCollisionGroupMaskName;
13048     Ref                 materialFactoryMapList[].iofxAssetName;
13052     Ref                 materialFactoryMapList[].iosAssetName;
13056     String              materialFactoryMapList[].physMatName;
13060     F32                 materialFactoryMapList[].weight;
13064     F32                 materialFactoryMapList[].maxSlopeAngle;
13068     U32                 materialFactoryMapList[].lodParamDesc.version;
13072     F32                 materialFactoryMapList[].lodParamDesc.maxDistance;
13076     F32                 materialFactoryMapList[].lodParamDesc.distanceWeight;
13080     F32                 materialFactoryMapList[].lodParamDesc.speedWeight;
13084     F32                 materialFactoryMapList[].lodParamDesc.lifeWeight;
13088     F32                 materialFactoryMapList[].lodParamDesc.separationWeight;
13092     F32                 materialFactoryMapList[].lodParamDesc.bias;
13093 };
13094 
13095 
13113 struct HeatSourceActorParams
13114 {
13118     Mat34               initialPose;
13122     F32                 initialScale;
13126     F32                 averageTemperature;
13130     F32                 stdTemperature;
13131 union GeometryType {
13135     HeatSourceGeomBoxParams geometryType;
13139     HeatSourceGeomSphereParams  geometryType;
13140 };
13141 GeometryType    geometryType;
13145     String              fieldSamplerFilterDataName;
13146 };
13147 
13148 
13164 struct HeatSourceAssetParams
13165 {
13169     F32                 averageTemperature;
13173     F32                 stdTemperature;
13174 union GeometryType {
13178     HeatSourceGeomBoxParams geometryType;
13182     HeatSourceGeomSphereParams  geometryType;
13183 };
13184 GeometryType    geometryType;
13188     String              fieldSamplerFilterDataName;
13189 };
13190 
13191 
13208 struct HeatSourceData
13209 {
13213     String              Name;
13217     HeatSourceAssetParams   HeatSource;
13218 };
13219 
13220 
13256 struct HeatSourceEffect
13257 {
13261     String              EffectProperties.UserString;
13265     Bool                EffectProperties.Enable;
13269     F32                 EffectProperties.Position.TranslateX;
13273     F32                 EffectProperties.Position.TranslateY;
13277     F32                 EffectProperties.Position.TranslateZ;
13281     F32                 EffectProperties.Orientation.RotateX;
13285     F32                 EffectProperties.Orientation.RotateY;
13289     F32                 EffectProperties.Orientation.RotateZ;
13293     F32                 EffectProperties.InitialDelayTime;
13297     F32                 EffectProperties.Duration;
13301     U32                 EffectProperties.RepeatCount;
13305     F32                 EffectProperties.RepeatDelay;
13309     F32                 EffectProperties.RandomizeRepeatTime;
13313     PlaybackMode        EffectProperties.Path.PlaybackMode;
13317     F32                 EffectProperties.Path.PathDuration;
13321     U32                 EffectProperties.Path.LoopIndex;
13325     Transform           EffectProperties.Path.ControlPoints[];
13329     F32                 EffectProperties.Path.Scale[].x;
13333     F32                 EffectProperties.Path.Scale[].y;
13337     F32                 EffectProperties.Path.Speed[].x;
13341     F32                 EffectProperties.Path.Speed[].y;
13345     Ref                 HeatSource;
13346 };
13347 
13348 
13360 struct HeatSourceGeomBoxParams
13361 {
13365     Vec3                extents;
13366 };
13367 
13368 
13380 struct HeatSourceGeomSphereParams
13381 {
13385     F32                 radius;
13386 };
13387 
13388 
13401 struct HeatSourcePreviewParams
13402 {
13406     Mat34               pose;
13410     F32                 scale;
13411 };
13412 
13413 
13424 struct ImpactEmitterActorParameters
13425 {
13426 };
13427 
13428 
13463 struct ImpactEmitterAssetParameters
13464 {
13465 union EventSetList {
13469     ImpactObjectEvent   eventSetList[];
13473     ImpactExplosionEvent    eventSetList[];
13474 };
13475 EventSetList    eventSetList[];
13476 };
13477 
13478 
13493 struct ImpactExplosionEvent
13494 {
13498     String              eventSetName;
13502     Ref                 explosionAssetName;
13506     F32                 delay;
13510     F32                 duration;
13511 };
13512 
13513 
13543 struct ImpactObjectEvent
13544 {
13548     String              eventSetName;
13552     Ref                 iofxAssetName;
13556     Ref                 iosAssetName;
13560     F32                 angleRange.min;
13564     F32                 angleRange.max;
13568     F32                 speedRange.min;
13572     F32                 speedRange.max;
13576     F32                 lifeRange.min;
13580     F32                 lifeRange.max;
13584     F32                 delay;
13588     U32                 particleSpawnCount;
13592     ImpactAxis          impactAxis;
13596     U32                 lodParamDesc.version;
13600     F32                 lodParamDesc.maxDistance;
13604     F32                 lodParamDesc.distanceWeight;
13608     F32                 lodParamDesc.speedWeight;
13612     F32                 lodParamDesc.lifeWeight;
13616     F32                 lodParamDesc.separationWeight;
13620     F32                 lodParamDesc.bias;
13621 };
13622 
13623 
13635 struct InitialColorModifierParams
13636 {
13640     Vec4                color;
13641 };
13642 
13643 
13801 struct IofxAssetParameters
13802 {
13803 union IofxType {
13807     MeshIofxParameters  iofxType;
13811     SpriteIofxParameters    iofxType;
13812 };
13813 IofxType    iofxType;
13817     Bool                renderOutput.useUserSemantic;
13821     Bool                renderOutput.useFloat4Color;
13822 };
13823 
13824 
13838 struct IofxDebugRenderParams
13839 {
13843     Bool                VISUALIZE_IOFX_ACTOR;
13847     Bool                VISUALIZE_IOFX_BOUNDING_BOX;
13851     Bool                VISUALIZE_IOFX_ACTOR_NAME;
13852 };
13853 
13854 
13866 struct IofxModuleParameters
13867 {
13871     U32                 unused;
13872 };
13873 
13874 
13889 struct JetFSActorParams
13890 {
13897     Mat34               initialPose;
13901     F32                 initialScale;
13905     String              fieldBoundaryFilterDataName;
13909     String              fieldSamplerFilterDataName;
13910 };
13911 
13912 
13948 struct JetFSAssetParams
13949 {
13956     F32                 defaultScale;
13960     F32                 boundaryFadePercentage;
13964     Vec3                fieldDirection;
13971     F32                 fieldDirectionDeviationAngle;
13978     F32                 fieldDirectionOscillationPeriod;
13982     F32                 fieldStrength;
13989     F32                 fieldStrengthDeviationPercentage;
13996     F32                 fieldStrengthOscillationPeriod;
14000     F32                 gridShapeRadius;
14004     F32                 gridShapeHeight;
14008     F32                 gridBoundaryFadePercentage;
14012     F32                 nearRadius;
14016     F32                 pivotRadius;
14020     F32                 farRadius;
14024     F32                 directionalStretch;
14028     F32                 averageStartDistance;
14032     F32                 averageEndDistance;
14036     F32                 noisePercentage;
14040     F32                 noiseSpaceScale;
14044     F32                 noiseTimeScale;
14048     U32                 noiseOctaves;
14052     F32                 fieldDragCoeff;
14056     F32                 fieldWeight;
14060     String              fieldBoundaryFilterDataName;
14064     String              fieldSamplerFilterDataName;
14065 };
14066 
14067 
14082 struct JetFSPreviewParams
14083 {
14087     Mat44               globalPose;
14091     Bool                drawShape;
14095     Bool                drawAssetInfo;
14099     U64                 userData;
14100 };
14101 
14102 
14139 struct JetFieldSamplerData
14140 {
14144     String              Name;
14148     JetFSAssetParams    JetFieldSampler;
14149 };
14150 
14151 
14187 struct JetFieldSamplerEffect
14188 {
14192     String              EffectProperties.UserString;
14196     Bool                EffectProperties.Enable;
14200     F32                 EffectProperties.Position.TranslateX;
14204     F32                 EffectProperties.Position.TranslateY;
14208     F32                 EffectProperties.Position.TranslateZ;
14212     F32                 EffectProperties.Orientation.RotateX;
14216     F32                 EffectProperties.Orientation.RotateY;
14220     F32                 EffectProperties.Orientation.RotateZ;
14224     F32                 EffectProperties.InitialDelayTime;
14228     F32                 EffectProperties.Duration;
14232     U32                 EffectProperties.RepeatCount;
14236     F32                 EffectProperties.RepeatDelay;
14240     F32                 EffectProperties.RandomizeRepeatTime;
14244     PlaybackMode        EffectProperties.Path.PlaybackMode;
14248     F32                 EffectProperties.Path.PathDuration;
14252     U32                 EffectProperties.Path.LoopIndex;
14256     Transform           EffectProperties.Path.ControlPoints[];
14260     F32                 EffectProperties.Path.Scale[].x;
14264     F32                 EffectProperties.Path.Scale[].y;
14268     F32                 EffectProperties.Path.Speed[].x;
14272     F32                 EffectProperties.Path.Speed[].y;
14276     Ref                 JetFieldSampler;
14277 };
14278 
14279 
14292 struct MeshCookedCollisionStream
14293 {
14300     U8                  bytes[];
14301 };
14302 
14303 
14317 struct MeshCookedCollisionStreamsAtScale
14318 {
14322     MeshCookedCollisionStream   meshCookedCollisionStreams[];
14323 };
14324 
14325 
14401 struct MeshIofxParameters
14402 {
14406     Ref                 renderMeshList[].meshAssetName;
14410     U32                 renderMeshList[].weight;
14411 union SpawnModifierList {
14415     RotationModifierParams  spawnModifierList[];
14419     SimpleScaleModifierParams   spawnModifierList[];
14423     RandomScaleModifierParams   spawnModifierList[];
14427     InitialColorModifierParams  spawnModifierList[];
14431     ScaleByMassModifierParams   spawnModifierList[];
14432 };
14433 SpawnModifierList   spawnModifierList[];
14434 union ContinuousModifierList {
14438     RotationModifierParams  continuousModifierList[];
14442     ScaleVsLife3DModifierParams continuousModifierList[];
14446     ScaleVsDensity3DModifierParams  continuousModifierList[];
14450     ScaleVsTemperature3DModifierParams  continuousModifierList[];
14454     ScaleVsCameraDistance3DModifierParams   continuousModifierList[];
14458     OrientAlongVelocityModifierParams   continuousModifierList[];
14462     ScaleAlongVelocityModifierParams    continuousModifierList[];
14466     ColorVsLifeCompositeModifierParams  continuousModifierList[];
14470     ColorVsDensityCompositeModifierParams   continuousModifierList[];
14474     ColorVsTemperatureCompositeModifierParams   continuousModifierList[];
14478     ScaleVsLifeModifierParams   continuousModifierList[];
14482     ScaleVsDensityModifierParams    continuousModifierList[];
14486     ScaleVsTemperatureModifierParams    continuousModifierList[];
14490     ScaleVsCameraDistanceModifierParams continuousModifierList[];
14494     ColorVsVelocityCompositeModifierParams  continuousModifierList[];
14495 };
14496 ContinuousModifierList  continuousModifierList[];
14497 };
14498 
14499 
14514 struct NoiseFSActorParams
14515 {
14522     Mat34               initialPose;
14526     F32                 initialScale;
14530     String              fieldBoundaryFilterDataName;
14534     String              fieldSamplerFilterDataName;
14535 };
14536 
14537 
14566 struct NoiseFSAssetParams
14567 {
14574     F32                 defaultScale;
14578     Vec3                boundarySize;
14582     F32                 boundaryFadePercentage;
14586     FieldType           fieldType;
14590     F32                 fieldDragCoeff;
14594     F32                 fieldWeight;
14598     NoiseType           noiseType;
14602     U32                 noiseSeed;
14606     F32                 noiseStrength;
14610     Vec3                noiseSpacePeriod;
14614     F32                 noiseTimePeriod;
14618     U32                 noiseOctaves;
14622     F32                 noiseStrengthOctaveMultiplier;
14626     Vec3                noiseSpacePeriodOctaveMultiplier;
14630     F32                 noiseTimePeriodOctaveMultiplier;
14634     String              fieldBoundaryFilterDataName;
14638     String              fieldSamplerFilterDataName;
14642     Bool                useLocalSpace;
14643 };
14644 
14645 
14660 struct NoiseFSPreviewParams
14661 {
14665     Mat44               globalPose;
14669     Bool                drawShape;
14673     Bool                drawAssetInfo;
14677     U64                 userData;
14678 };
14679 
14680 
14710 struct NoiseFieldSamplerData
14711 {
14715     String              Name;
14719     NoiseFSAssetParams  NoiseFieldSampler;
14720 };
14721 
14722 
14758 struct NoiseFieldSamplerEffect
14759 {
14763     String              EffectProperties.UserString;
14767     Bool                EffectProperties.Enable;
14771     F32                 EffectProperties.Position.TranslateX;
14775     F32                 EffectProperties.Position.TranslateY;
14779     F32                 EffectProperties.Position.TranslateZ;
14783     F32                 EffectProperties.Orientation.RotateX;
14787     F32                 EffectProperties.Orientation.RotateY;
14791     F32                 EffectProperties.Orientation.RotateZ;
14795     F32                 EffectProperties.InitialDelayTime;
14799     F32                 EffectProperties.Duration;
14803     U32                 EffectProperties.RepeatCount;
14807     F32                 EffectProperties.RepeatDelay;
14811     F32                 EffectProperties.RandomizeRepeatTime;
14815     PlaybackMode        EffectProperties.Path.PlaybackMode;
14819     F32                 EffectProperties.Path.PathDuration;
14823     U32                 EffectProperties.Path.LoopIndex;
14827     Transform           EffectProperties.Path.ControlPoints[];
14831     F32                 EffectProperties.Path.Scale[].x;
14835     F32                 EffectProperties.Path.Scale[].y;
14839     F32                 EffectProperties.Path.Speed[].x;
14843     F32                 EffectProperties.Path.Speed[].y;
14847     Ref                 NoiseFieldSampler;
14848 };
14849 
14850 
14862 struct OrientAlongVelocityModifierParams
14863 {
14867     Vec3                modelForward;
14868 };
14869 
14870 
14884 struct OrientScaleAlongScreenVelocityModifierParams
14885 {
14892     F32                 scalePerVelocity;
14899     F32                 scaleChangeLimit;
14906     F32                 scaleChangeDelay;
14907 };
14908 
14909 
14952 struct ParticleIosAssetParam
14953 {
14954 union ParticleType {
14958     SimpleParticleSystemParams  particleType;
14962     FluidParticleSystemParams   particleType;
14963 };
14964 ParticleType    particleType;
14968     U32                 maxParticleCount;
14975     F32                 particleRadius;
14982     F32                 maxInjectedParticleCount;
14989     F32                 maxMotionDistance;
14996     F32                 contactOffset;
15003     F32                 restOffset;
15010     F32                 gridSize;
15017     F32                 damping;
15024     Vec3                externalAcceleration;
15031     Vec3                projectionPlaneNormal;
15038     F32                 projectionPlaneDistance;
15045     F32                 particleMass;
15052     F32                 restitution;
15059     F32                 dynamicFriction;
15066     F32                 staticFriction;
15073     String              simulationFilterData;
15080     String              fieldSamplerFilterData;
15087     Bool                CollisionTwoway;
15094     Bool                CollisionWithDynamicActors;
15098     Bool                Enable;
15105     Bool                ProjectToPlane;
15112     Bool                PerParticleRestOffset;
15119     Bool                PerParticleCollisionCacheHint;
15123     Bool                DensityBuffer;
15127     Bool                enableTemperatureBuffer;
15128 };
15129 
15130 
15143 struct ParticleIosDebugRenderParams
15144 {
15148     Bool                VISUALIZE_PARTICLE_IOS_ACTOR;
15152     Bool                VISUALIZE_PARTICLE_IOS_GRID_DENSITY;
15153 };
15154 
15155 
15167 struct ParticleIosModuleParameters
15168 {
15172     U32                 unused;
15173 };
15174 
15175 
15244 struct ParticleSimulationData
15245 {
15249     String              Name;
15250 union IOS {
15254     BasicIOSAssetParam  IOS;
15258     ParticleIosAssetParam   IOS;
15259 };
15260 IOS IOS;
15261 };
15262 
15263 
15276 struct ParticlesDebugRenderParams
15277 {
15281     Bool                VISUALIZE_HEAT_SOURCE_ACTOR;
15285     Bool                VISUALIZE_EFFECT_PACKAGE_ACTOR;
15286 };
15287 
15288 
15300 struct ParticlesModuleParameters
15301 {
15305     U32                 unused;
15306 };
15307 
15308 
15328 struct RadialForceFieldKernelParams
15329 {
15333     ForceFieldFalloffParams falloffParameters;
15337     ForceFieldNoiseParams   noiseParameters;
15341     F32                 radius;
15342 };
15343 
15344 
15357 struct RandomRotationModifierParams
15358 {
15362     F32                 minRotation;
15366     F32                 maxRotation;
15367 };
15368 
15369 
15382 struct RandomScaleModifierParams
15383 {
15387     F32                 minScaleFactor;
15391     F32                 maxScaleFactor;
15392 };
15393 
15394 
15407 struct RandomSubtextureModifierParams
15408 {
15412     F32                 minSubtexture;
15416     F32                 maxSubtexture;
15417 };
15418 
15419 
15512 struct RenderMeshAssetParameters
15513 {
15517     SubmeshParameters   submeshes[];
15524     String              materialNames[];
15531     Bounds3             partBounds[];
15538     U32                 textureUVOrigin;
15545     U32                 boneCount;
15552     Bool                deleteStaticBuffersAfterUse;
15556     Bool                isReferenced;
15557 };
15558 
15559 
15604 struct RigidBodyEffect
15605 {
15609     String              EffectProperties.UserString;
15613     Bool                EffectProperties.Enable;
15617     F32                 EffectProperties.Position.TranslateX;
15621     F32                 EffectProperties.Position.TranslateY;
15625     F32                 EffectProperties.Position.TranslateZ;
15629     F32                 EffectProperties.Orientation.RotateX;
15633     F32                 EffectProperties.Orientation.RotateY;
15637     F32                 EffectProperties.Orientation.RotateZ;
15641     F32                 EffectProperties.InitialDelayTime;
15645     F32                 EffectProperties.Duration;
15649     U32                 EffectProperties.RepeatCount;
15653     F32                 EffectProperties.RepeatDelay;
15657     F32                 EffectProperties.RandomizeRepeatTime;
15661     PlaybackMode        EffectProperties.Path.PlaybackMode;
15665     F32                 EffectProperties.Path.PathDuration;
15669     U32                 EffectProperties.Path.LoopIndex;
15673     Transform           EffectProperties.Path.ControlPoints[];
15677     F32                 EffectProperties.Path.Scale[].x;
15681     F32                 EffectProperties.Path.Scale[].y;
15685     F32                 EffectProperties.Path.Speed[].x;
15689     F32                 EffectProperties.Path.Speed[].y;
15693     Type                Type;
15697     String              CollisionFilterDataName;
15701     Bool                Dynamic;
15705     Bool                Gravity;
15709     Vec3                Extents;
15713     F32                 Mass;
15717     Vec3                InitialLinearVelocity;
15721     Vec3                InitialAngularVelocity;
15725     F32                 LinearDamping;
15729     F32                 AngularDamping;
15730 };
15731 
15732 
15749 struct RotationModifierParams
15750 {
15754     RollType            rollType;
15758     F32                 maxRotationRatePerSec;
15762     F32                 maxSettleRatePerSec;
15766     F32                 inAirRotationMultiplier;
15770     F32                 collisionRotationMultiplier;
15774     Bool                includeVerticalDirection;
15775 };
15776 
15777 
15789 struct RotationRateModifierParams
15790 {
15794     F32                 rotationRate;
15795 };
15796 
15797 
15811 struct RotationRateVsLifeModifierParams
15812 {
15816     F32                 controlPoints[].x;
15820     F32                 controlPoints[].y;
15821 };
15822 
15823 
15835 struct ScaleAlongVelocityModifierParams
15836 {
15840     F32                 scaleFactor;
15841 };
15842 
15843 
15854 struct ScaleByMassModifierParams
15855 {
15856 };
15857 
15858 
15872 struct ScaleVsCameraDistance2DModifierParams
15873 {
15877     F32                 controlPoints[].cameraDistance;
15881     Vec2                controlPoints[].scale;
15882 };
15883 
15884 
15898 struct ScaleVsCameraDistance3DModifierParams
15899 {
15903     F32                 controlPoints[].cameraDistance;
15907     Vec3                controlPoints[].scale;
15908 };
15909 
15910 
15925 struct ScaleVsCameraDistanceModifierParams
15926 {
15930     ScaleAxis           scaleAxis;
15934     F32                 controlPoints[].x;
15938     F32                 controlPoints[].y;
15939 };
15940 
15941 
15955 struct ScaleVsDensity2DModifierParams
15956 {
15960     F32                 controlPoints[].density;
15964     Vec2                controlPoints[].scale;
15965 };
15966 
15967 
15981 struct ScaleVsDensity3DModifierParams
15982 {
15986     F32                 controlPoints[].density;
15990     Vec3                controlPoints[].scale;
15991 };
15992 
15993 
16008 struct ScaleVsDensityModifierParams
16009 {
16013     ScaleAxis           scaleAxis;
16017     F32                 controlPoints[].x;
16021     F32                 controlPoints[].y;
16022 };
16023 
16024 
16038 struct ScaleVsLife2DModifierParams
16039 {
16043     F32                 controlPoints[].lifeRemaining;
16047     Vec2                controlPoints[].scale;
16048 };
16049 
16050 
16064 struct ScaleVsLife3DModifierParams
16065 {
16069     F32                 controlPoints[].lifeRemaining;
16073     Vec3                controlPoints[].scale;
16074 };
16075 
16076 
16091 struct ScaleVsLifeModifierParams
16092 {
16096     ScaleAxis           scaleAxis;
16100     F32                 controlPoints[].x;
16104     F32                 controlPoints[].y;
16105 };
16106 
16107 
16121 struct ScaleVsTemperature2DModifierParams
16122 {
16126     F32                 controlPoints[].temperature;
16130     Vec2                controlPoints[].scale;
16131 };
16132 
16133 
16147 struct ScaleVsTemperature3DModifierParams
16148 {
16152     F32                 controlPoints[].temperature;
16156     Vec3                controlPoints[].scale;
16157 };
16158 
16159 
16174 struct ScaleVsTemperatureModifierParams
16175 {
16179     ScaleAxis           scaleAxis;
16183     F32                 controlPoints[].x;
16187     F32                 controlPoints[].y;
16188 };
16189 
16190 
16205 struct SimpleParticleSystemParams
16206 {
16213     Bool                GridDensity.Enabled;
16220     Resolution          GridDensity.Resolution;
16227     F32                 GridDensity.GridSize;
16234     U32                 GridDensity.MaxCellCount;
16235 };
16236 
16237 
16249 struct SimpleScaleModifierParams
16250 {
16254     Vec3                scaleFactor;
16255 };
16256 
16257 
16348 struct SpriteIofxParameters
16349 {
16353     Ref                 spriteMaterialName;
16354 union SpawnModifierList {
16358     SimpleScaleModifierParams   spawnModifierList[];
16362     RandomScaleModifierParams   spawnModifierList[];
16366     InitialColorModifierParams  spawnModifierList[];
16370     RandomSubtextureModifierParams  spawnModifierList[];
16374     RandomRotationModifierParams    spawnModifierList[];
16378     ColorVsLifeModifierParams   spawnModifierList[];
16382     ScaleByMassModifierParams   spawnModifierList[];
16383 };
16384 SpawnModifierList   spawnModifierList[];
16385 union ContinuousModifierList {
16389     ColorVsLifeCompositeModifierParams  continuousModifierList[];
16393     ColorVsDensityCompositeModifierParams   continuousModifierList[];
16397     ColorVsTemperatureCompositeModifierParams   continuousModifierList[];
16401     ScaleVsLife2DModifierParams continuousModifierList[];
16405     ScaleVsDensity2DModifierParams  continuousModifierList[];
16409     ScaleVsTemperature2DModifierParams  continuousModifierList[];
16413     ScaleVsCameraDistance2DModifierParams   continuousModifierList[];
16417     SubtextureVsLifeModifierParams  continuousModifierList[];
16421     ViewDirectionSortingModifierParams  continuousModifierList[];
16425     ColorVsLifeModifierParams   continuousModifierList[];
16429     ColorVsDensityModifierParams    continuousModifierList[];
16433     ColorVsTemperatureModifierParams    continuousModifierList[];
16437     ScaleVsLifeModifierParams   continuousModifierList[];
16441     ScaleVsDensityModifierParams    continuousModifierList[];
16445     ScaleVsTemperatureModifierParams    continuousModifierList[];
16449     ScaleVsCameraDistanceModifierParams continuousModifierList[];
16453     RotationRateModifierParams  continuousModifierList[];
16457     RotationRateVsLifeModifierParams    continuousModifierList[];
16461     OrientScaleAlongScreenVelocityModifierParams    continuousModifierList[];
16465     ColorVsVelocityCompositeModifierParams  continuousModifierList[];
16466 };
16467 ContinuousModifierList  continuousModifierList[];
16468 };
16469 
16470 
16554 struct SubmeshParameters
16555 {
16559     VertexBufferParameters  vertexBuffer;
16566     U32                 indexBuffer[];
16573     U32                 vertexPartition[];
16580     U32                 indexPartition[];
16587     U32                 smoothingGroups[];
16588 };
16589 
16590 
16608 struct SubstanceSourceActorParams
16609 {
16613     Mat34               initialPose;
16617     F32                 initialScale;
16621     F32                 averageDensity;
16625     F32                 stdDensity;
16626 union GeometryType {
16630     HeatSourceGeomBoxParams geometryType;
16634     HeatSourceGeomSphereParams  geometryType;
16635 };
16636 GeometryType    geometryType;
16640     String              fieldSamplerFilterDataName;
16641 };
16642 
16643 
16660 struct SubstanceSourceAssetParams
16661 {
16665     Vec3                position;
16669     F32                 averageDensity;
16673     F32                 stdDensity;
16674 union GeometryType {
16678     HeatSourceGeomBoxParams geometryType;
16682     HeatSourceGeomSphereParams  geometryType;
16683 };
16684 GeometryType    geometryType;
16688     String              fieldSamplerFilterDataName;
16689 };
16690 
16691 
16709 struct SubstanceSourceData
16710 {
16714     String              Name;
16718     SubstanceSourceAssetParams  SubstanceSource;
16719 };
16720 
16721 
16757 struct SubstanceSourceEffect
16758 {
16762     String              EffectProperties.UserString;
16766     Bool                EffectProperties.Enable;
16770     F32                 EffectProperties.Position.TranslateX;
16774     F32                 EffectProperties.Position.TranslateY;
16778     F32                 EffectProperties.Position.TranslateZ;
16782     F32                 EffectProperties.Orientation.RotateX;
16786     F32                 EffectProperties.Orientation.RotateY;
16790     F32                 EffectProperties.Orientation.RotateZ;
16794     F32                 EffectProperties.InitialDelayTime;
16798     F32                 EffectProperties.Duration;
16802     U32                 EffectProperties.RepeatCount;
16806     F32                 EffectProperties.RepeatDelay;
16810     F32                 EffectProperties.RandomizeRepeatTime;
16814     PlaybackMode        EffectProperties.Path.PlaybackMode;
16818     F32                 EffectProperties.Path.PathDuration;
16822     U32                 EffectProperties.Path.LoopIndex;
16826     Transform           EffectProperties.Path.ControlPoints[];
16830     F32                 EffectProperties.Path.Scale[].x;
16834     F32                 EffectProperties.Path.Scale[].y;
16838     F32                 EffectProperties.Path.Speed[].x;
16842     F32                 EffectProperties.Path.Speed[].y;
16846     Ref                 SubstanceSource;
16847 };
16848 
16849 
16863 struct SubtextureVsLifeModifierParams
16864 {
16868     F32                 controlPoints[].x;
16872     F32                 controlPoints[].y;
16873 };
16874 
16875 
16943 struct SurfaceBufferParameters
16944 {
16948     U32                 width;
16952     U32                 height;
16956     U32                 surfaceFormat;
16957 union Buffer {
16961     BufferU8x1          buffer;
16965     BufferU8x2          buffer;
16969     BufferU8x3          buffer;
16973     BufferU8x4          buffer;
16977     BufferU16x1         buffer;
16981     BufferU16x2         buffer;
16985     BufferU16x3         buffer;
16989     BufferU16x4         buffer;
16993     BufferU32x1         buffer;
16997     BufferU32x2         buffer;
17001     BufferU32x3         buffer;
17005     BufferU32x4         buffer;
17009     BufferF32x1         buffer;
17013     BufferF32x2         buffer;
17017     BufferF32x3         buffer;
17021     BufferF32x4         buffer;
17022 };
17023 Buffer  buffer;
17024 };
17025 
17026 
17042 struct SurfaceTraceParameters
17043 {
17050     U8                  submeshIndices[];
17057     U32                 vertexIndices[];
17064     Vec3                defaultNormal;
17065 };
17066 
17067 
17085 struct SurfaceTraceSetParameters
17086 {
17090     SurfaceTraceParameters  traces[];
17097     Vec3                positionOffset;
17098 };
17099 
17100 
17121 struct TurbulenceFSActorParams
17122 {
17126     Mat34               initialPose;
17130     F32                 initialScale;
17134     Vec3                gridSizeWorld;
17138     String              collisionFilterDataName;
17142     String              fieldBoundaryFilterDataName;
17146     String              fieldSamplerFilterDataName;
17150     Bool                isAutoSwitchingBC;
17154     F32                 outletPressureBC;
17158     F32                 dragCoeffForRigidBody;
17162     F32                 fluidViscosity;
17163 };
17164 
17165 
17228 struct TurbulenceFSAssetParams
17229 {
17233     Min                 gridXRange.min;
17237     Max                 gridXRange.max;
17241     Min                 gridYRange.min;
17245     Max                 gridYRange.max;
17249     Min                 gridZRange.min;
17253     Max                 gridZRange.max;
17257     Vec3                gridSizeWorld;
17261     F32                 updatesPerFrameRange.min;
17265     F32                 updatesPerFrameRange.max;
17269     F32                 angularVelocityMultiplier;
17273     F32                 angularVelocityClamp;
17277     F32                 linearVelocityMultiplier;
17281     F32                 linearVelocityClamp;
17285     F32                 velocityFieldFadeTime;
17289     F32                 velocityFieldFadeDelay;
17293     F32                 velocityFieldFadeIntensity;
17297     F32                 boundaryFadePercentage;
17301     F32                 boundarySizePercentage;
17305     String              collisionFilterDataName;
17309     String              fieldBoundaryFilterDataName;
17313     String              fieldSamplerFilterDataName;
17317     U32                 maxCollidingObjects;
17321     U32                 maxVelocitySources;
17325     U32                 maxHeatSources;
17329     U32                 maxSubstanceSources;
17333     F32                 dragCoeff;
17337     Vec3                externalVelocity;
17341     F32                 fieldVelocityMultiplier;
17345     F32                 fieldVelocityWeight;
17349     Bool                useHeat;
17353     F32                 heatParams.temperatureBasedForceMultiplier;
17357     F32                 heatParams.ambientTemperature;
17361     Vec3                heatParams.heatForceDirection;
17365     F32                 heatParams.thermalConductivity;
17369     Bool                useDensity;
17373     F32                 densityParams.diffusionCoef;
17377     F32                 densityParams.densityFieldFade;
17381     U32                 densityParams.densityGridMultiplier;
17385     Bool                isEnabledOptimizedLOD;
17389     F32                 customLOD;
17393     F32                 lodWeights.maxDistance;
17397     F32                 lodWeights.distanceWeight;
17401     F32                 lodWeights.bias;
17405     F32                 lodWeights.benefitBias;
17409     F32                 lodWeights.benefitWeight;
17413     F32                 noiseParams.noiseStrength;
17417     Vec3                noiseParams.noiseSpacePeriod;
17421     F32                 noiseParams.noiseTimePeriod;
17425     U32                 noiseParams.noiseOctaves;
17429     F32                 dragCoeffForRigidBody;
17433     F32                 fluidViscosity;
17437     Ref                 volumeRenderMaterialName;
17438 };
17439 
17440 
17477 struct TurbulenceFSDebugRenderParams
17478 {
17482     Bool                VISUALIZE_TURBULENCE_FS_ACTOR;
17486     Bool                VISUALIZE_HEAT_SOURCE_ACTOR;
17490     Bool                VISUALIZE_SUBSTANCE_SOURCE_ACTOR;
17494     Bool                VISUALIZE_VELOCITY_SOURCE_ACTOR;
17498     Bool                VISUALIZE_TURBULENCE_FS_VELOCITY;
17502     Bool                VISUALIZE_TURBULENCE_FS_BBOX;
17506     Bool                VISUALIZE_TURBULENCE_FS_ACTOR_NAME;
17510     Bool                VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD;
17514     F32                 TURBULENCE_FS_VELOCITY_FIELD_SCALE;
17518     U32                 TURBULENCE_FS_VELOCITY_FIELD_SPACING;
17522     Bool                VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD;
17526     Bool                VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD;
17530     Bool                VISUALIZE_TURBULENCE_FS_DENSITY_FIELD;
17534     F32                 TURBULENCE_FS_SCALAR_FIELD_SCALE;
17538     U32                 TURBULENCE_FS_SCALAR_FIELD_SPACING;
17542     Bool                VISUALIZE_TURBULENCE_FS_STREAMLINES;
17546     F32                 TURBULENCE_FS_STREAMLINES.tmax;
17550     F32                 TURBULENCE_FS_STREAMLINES.tstep;
17554     Vec3                TURBULENCE_FS_STREAMLINES.grid;
17558     Bool                VISUALIZE_TURBULENCE_FS_PLANE;
17562     Vec3                TURBULENCE_FS_PLANE.normal;
17566     F32                 TURBULENCE_FS_PLANE.offset;
17570     Bool                VISUALIZE_TURBULENCE_FS_GRID;
17574     Bool                VISUALIZE_TURBULENCE_FS_LOD;
17578     Bool                VISUALIZE_TURBULENCE_FS_POSE;
17582     F32                 TURBULENCE_FS_LOD;
17583 };
17584 
17585 
17597 struct TurbulenceFSModuleParameters
17598 {
17602     U32                 unused;
17603 };
17604 
17605 
17623 struct TurbulenceFSPreviewParams
17624 {
17628     Mat44               globalPose;
17632     F32                 iconScale;
17636     Bool                drawIcon;
17640     Bool                drawBox;
17644     Bool                drawGrid;
17648     Bool                drawAssetInfo;
17652     U64                 userData;
17653 };
17654 
17655 
17719 struct TurbulenceFieldSamplerData
17720 {
17724     String              Name;
17728     TurbulenceFSAssetParams TurbulenceFieldSampler;
17729 };
17730 
17731 
17767 struct TurbulenceFieldSamplerEffect
17768 {
17772     String              EffectProperties.UserString;
17776     Bool                EffectProperties.Enable;
17780     F32                 EffectProperties.Position.TranslateX;
17784     F32                 EffectProperties.Position.TranslateY;
17788     F32                 EffectProperties.Position.TranslateZ;
17792     F32                 EffectProperties.Orientation.RotateX;
17796     F32                 EffectProperties.Orientation.RotateY;
17800     F32                 EffectProperties.Orientation.RotateZ;
17804     F32                 EffectProperties.InitialDelayTime;
17808     F32                 EffectProperties.Duration;
17812     U32                 EffectProperties.RepeatCount;
17816     F32                 EffectProperties.RepeatDelay;
17820     F32                 EffectProperties.RandomizeRepeatTime;
17824     PlaybackMode        EffectProperties.Path.PlaybackMode;
17828     F32                 EffectProperties.Path.PathDuration;
17832     U32                 EffectProperties.Path.LoopIndex;
17836     Transform           EffectProperties.Path.ControlPoints[];
17840     F32                 EffectProperties.Path.Scale[].x;
17844     F32                 EffectProperties.Path.Scale[].y;
17848     F32                 EffectProperties.Path.Speed[].x;
17852     F32                 EffectProperties.Path.Speed[].y;
17856     Ref                 TurbulenceFieldSampler;
17857 };
17858 
17859 
17877 struct VelocitySourceActorParams
17878 {
17882     Mat34               initialPose;
17886     F32                 initialScale;
17890     F32                 averageVelocity;
17894     F32                 stdVelocity;
17895 union GeometryType {
17899     HeatSourceGeomBoxParams geometryType;
17903     HeatSourceGeomSphereParams  geometryType;
17904 };
17905 GeometryType    geometryType;
17909     String              fieldSamplerFilterDataName;
17910 };
17911 
17912 
17928 struct VelocitySourceAssetParams
17929 {
17933     F32                 averageVelocity;
17937     F32                 stdVelocity;
17938 union GeometryType {
17942     HeatSourceGeomBoxParams geometryType;
17946     HeatSourceGeomSphereParams  geometryType;
17947 };
17948 GeometryType    geometryType;
17952     String              fieldSamplerFilterDataName;
17953 };
17954 
17955 
17972 struct VelocitySourceData
17973 {
17977     String              Name;
17981     VelocitySourceAssetParams   VelocitySource;
17982 };
17983 
17984 
18020 struct VelocitySourceEffect
18021 {
18025     String              EffectProperties.UserString;
18029     Bool                EffectProperties.Enable;
18033     F32                 EffectProperties.Position.TranslateX;
18037     F32                 EffectProperties.Position.TranslateY;
18041     F32                 EffectProperties.Position.TranslateZ;
18045     F32                 EffectProperties.Orientation.RotateX;
18049     F32                 EffectProperties.Orientation.RotateY;
18053     F32                 EffectProperties.Orientation.RotateZ;
18057     F32                 EffectProperties.InitialDelayTime;
18061     F32                 EffectProperties.Duration;
18065     U32                 EffectProperties.RepeatCount;
18069     F32                 EffectProperties.RepeatDelay;
18073     F32                 EffectProperties.RandomizeRepeatTime;
18077     PlaybackMode        EffectProperties.Path.PlaybackMode;
18081     F32                 EffectProperties.Path.PathDuration;
18085     U32                 EffectProperties.Path.LoopIndex;
18089     Transform           EffectProperties.Path.ControlPoints[];
18093     F32                 EffectProperties.Path.Scale[].x;
18097     F32                 EffectProperties.Path.Scale[].y;
18101     F32                 EffectProperties.Path.Speed[].x;
18105     F32                 EffectProperties.Path.Speed[].y;
18109     Ref                 VelocitySource;
18110 };
18111 
18112 
18125 struct VelocitySourcePreviewParams
18126 {
18130     Mat34               pose;
18134     F32                 scale;
18135 };
18136 
18137 
18213 struct VertexBufferParameters
18214 {
18221     U32                 vertexCount;
18225     VertexFormatParameters  vertexFormat;
18226 union Buffers {
18230     BufferU8x1          buffers[];
18234     BufferU8x2          buffers[];
18238     BufferU8x3          buffers[];
18242     BufferU8x4          buffers[];
18246     BufferU16x1         buffers[];
18250     BufferU16x2         buffers[];
18254     BufferU16x3         buffers[];
18258     BufferU16x4         buffers[];
18262     BufferU32x1         buffers[];
18266     BufferU32x2         buffers[];
18270     BufferU32x3         buffers[];
18274     BufferU32x4         buffers[];
18278     BufferF32x1         buffers[];
18282     BufferF32x2         buffers[];
18286     BufferF32x3         buffers[];
18290     BufferF32x4         buffers[];
18291 };
18292 Buffers buffers[];
18293 };
18294 
18295 
18315 struct VertexFormatParameters
18316 {
18323     U32                 winding;
18330     Bool                hasSeparateBoneBuffer;
18337     String              bufferFormats[].name;
18344     I32                 bufferFormats[].semantic;
18351     U32                 bufferFormats[].id;
18358     U32                 bufferFormats[].format;
18365     U32                 bufferFormats[].access;
18372     Bool                bufferFormats[].serialize;
18373 };
18374 
18375 
18387 struct ViewDirectionSortingModifierParams
18388 {
18392     SortType            sortType;
18393 };
18394 
18395 
18440 struct VolumeRenderMaterialData
18441 {
18445     String              Name;
18449     String              ApplicationMaterialName;
18453     String              UserProperties;
18457     RenderMode          RenderMode;
18461     RenderMethod        RenderMethod;
18465     ResolutionScale     ResolutionScale;
18469     FillMode            FillMode;
18473     Bool                GenerateShadows;
18477     Bool                BlurShadows;
18481     Bool                GenerateMipmaps;
18485     Bool                EnableStencilOpt;
18489     F32                 StepScale;
18493     F32                 Density;
18497     F32                 EdgeFade;
18501     F32                 OpacityThreshold;
18505     F32                 RayJitter;
18509     F32                 IsoValue;
18513     F32                 IsoValueSign;
18517     U32                 ShadowSamples;
18521     F32                 ShadowDistance;
18525     F32                 ShadowDensity;
18529     F32                 ShadowJitter;
18533     F32                 ShadowAmount;
18537     Vec3                LightDir;
18541     Vec4                LightColor;
18545     F32                 BlockEmptyThreshold;
18549     Bool                ReadDepth;
18553     F32                 ColorMapScale;
18557     F32                 ColorMapOffset;
18561     F32                 ColorMap[].density;
18565     Vec4                ColorMap[].color;
18569     F32                 TextureRangeMin;
18573     F32                 TextureRangeMax;
18574 };
18575 
18576 
18591 struct VortexFSActorParams
18592 {
18599     Mat34               initialPose;
18603     F32                 initialScale;
18607     String              fieldBoundaryFilterDataName;
18611     String              fieldSamplerFilterDataName;
18612 };
18613 
18614 
18639 struct VortexFSAssetParams
18640 {
18644     F32                 boundaryFadePercentage;
18648     Vec3                axis;
18652     Bool                bottomSphericalForce;
18656     Bool                topSphericalForce;
18660     F32                 height;
18664     F32                 bottomRadius;
18668     F32                 topRadius;
18672     F32                 rotationalStrength;
18676     F32                 radialStrength;
18680     F32                 liftStrength;
18684     F32                 fieldDragCoeff;
18688     F32                 fieldWeight;
18692     String              fieldBoundaryFilterDataName;
18696     String              fieldSamplerFilterDataName;
18697 };
18698 
18699 
18714 struct VortexFSPreviewParams
18715 {
18719     Mat44               globalPose;
18723     Bool                drawShape;
18727     Bool                drawAssetInfo;
18731     U64                 userData;
18732 };
18733 
18734 
18760 struct VortexFieldSamplerData
18761 {
18765     String              Name;
18769     VortexFSAssetParams VortexFieldSampler;
18770 };
18771 
18772 
18808 struct VortexFieldSamplerEffect
18809 {
18813     String              EffectProperties.UserString;
18817     Bool                EffectProperties.Enable;
18821     F32                 EffectProperties.Position.TranslateX;
18825     F32                 EffectProperties.Position.TranslateY;
18829     F32                 EffectProperties.Position.TranslateZ;
18833     F32                 EffectProperties.Orientation.RotateX;
18837     F32                 EffectProperties.Orientation.RotateY;
18841     F32                 EffectProperties.Orientation.RotateZ;
18845     F32                 EffectProperties.InitialDelayTime;
18849     F32                 EffectProperties.Duration;
18853     U32                 EffectProperties.RepeatCount;
18857     F32                 EffectProperties.RepeatDelay;
18861     F32                 EffectProperties.RandomizeRepeatTime;
18865     PlaybackMode        EffectProperties.Path.PlaybackMode;
18869     F32                 EffectProperties.Path.PathDuration;
18873     U32                 EffectProperties.Path.LoopIndex;
18877     Transform           EffectProperties.Path.ControlPoints[];
18881     F32                 EffectProperties.Path.Scale[].x;
18885     F32                 EffectProperties.Path.Scale[].y;
18889     F32                 EffectProperties.Path.Speed[].x;
18893     F32                 EffectProperties.Path.Speed[].y;
18897     Ref                 VortexFieldSampler;
18898 };
18899 
18900 
18915 struct WindFSActorParams
18916 {
18923     Mat34               initialPose;
18927     F32                 initialScale;
18931     String              fieldBoundaryFilterDataName;
18935     String              fieldSamplerFilterDataName;
18936 };
18937 
18938 
18959 struct WindFSAssetParams
18960 {
18964     Vec3                fieldDirection;
18971     F32                 fieldDirectionDeviationAngle;
18978     F32                 fieldDirectionOscillationPeriod;
18982     F32                 fieldStrength;
18989     F32                 fieldStrengthDeviationPercentage;
18996     F32                 fieldStrengthOscillationPeriod;
19000     F32                 fieldDragCoeff;
19004     F32                 fieldWeight;
19008     String              fieldBoundaryFilterDataName;
19012     String              fieldSamplerFilterDataName;
19013 };
19014 
19015 
19029 struct WindFSPreviewParams
19030 {
19034     Mat44               globalPose;
19038     Bool                drawAssetInfo;
19042     U64                 userData;
19043 };
19044 
19045 
19067 struct WindFieldSamplerData
19068 {
19072     String              Name;
19076     WindFSAssetParams   WindFieldSampler;
19077 };
19078 
19079 
19115 struct WindFieldSamplerEffect
19116 {
19120     String              EffectProperties.UserString;
19124     Bool                EffectProperties.Enable;
19128     F32                 EffectProperties.Position.TranslateX;
19132     F32                 EffectProperties.Position.TranslateY;
19136     F32                 EffectProperties.Position.TranslateZ;
19140     F32                 EffectProperties.Orientation.RotateX;
19144     F32                 EffectProperties.Orientation.RotateY;
19148     F32                 EffectProperties.Orientation.RotateZ;
19152     F32                 EffectProperties.InitialDelayTime;
19156     F32                 EffectProperties.Duration;
19160     U32                 EffectProperties.RepeatCount;
19164     F32                 EffectProperties.RepeatDelay;
19168     F32                 EffectProperties.RandomizeRepeatTime;
19172     PlaybackMode        EffectProperties.Path.PlaybackMode;
19176     F32                 EffectProperties.Path.PathDuration;
19180     U32                 EffectProperties.Path.LoopIndex;
19184     Transform           EffectProperties.Path.ControlPoints[];
19188     F32                 EffectProperties.Path.Scale[].x;
19192     F32                 EffectProperties.Path.Scale[].y;
19196     F32                 EffectProperties.Path.Speed[].x;
19200     F32                 EffectProperties.Path.Speed[].y;
19204     Ref                 WindFieldSampler;
19205 };
19206 
19207 
19208 
19209 #endif

Generated on Sat Dec 1 2018 15:52:43

Copyright © 2012-2018 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.