params.h
Go to the documentation of this file.
00001 #ifndef PARAMETERIZED_H
00002 #define PARAMETERIZED_H
00003 
00004 namespace physx
00005 {
00006 class physx::PxVec3;
00007 class physx::PxQuat;
00008 class physx::PxMat33Legacy;
00009 class physx::PxMat34Legacy;
00010 class physx::PxBounds3;
00011 };
00012 
00013 class       physx::PxI64;
00014 class           physx::PxI32;
00015 class       physx::PxI16;
00016 class           physx::PxI8;
00017 
00018 class   PxU64;
00019 class       physx::PxU32;
00020 class       PxU16;
00021 class       PxU8;
00022 
00023 class               physx::PxF32;
00024 class               physx::PxF64;
00025 
00034 enum ColorChannel
00035 {
00036     red,
00037     green,
00038     blue,
00039     alpha,
00040 };
00041 
00042 
00046 enum DensityAdvection
00047 {
00048     ADVECTION_LINEAR,
00049     ADVECTION_MACCORMACK,
00050 };
00051 
00052 
00056 enum EmitterType
00057 {
00058     rate,
00059     densityOnce,
00060     densityBrush,
00061     fill,
00062 };
00063 
00064 
00068 enum FieldFormat
00069 {
00070     FLOAT,
00071     HALF,
00072     UCHAR,
00073     FLOAT4,
00074     HALF4,
00075     UCHAR4,
00076 };
00077 
00078 
00082 enum FieldType
00083 {
00084     FORCE,
00085     VELOCITY_DRAG,
00086     VELOCITY_DIRECT,
00087 };
00088 
00089 
00093 enum FillMode
00094 {
00095     SOLID,
00096     WIREFRAME,
00097 };
00098 
00099 
00103 enum ImpactAxis
00104 {
00105     incident,
00106     normal,
00107     reflection,
00108 };
00109 
00110 
00114 enum Max
00115 {
00116     EGR_12,
00117     EGR_16,
00118     EGR_24,
00119     EGR_32,
00120     EGR_48,
00121     EGR_64,
00122     EGR_96,
00123     EGR_128,
00124 };
00125 
00126 
00130 enum Min
00131 {
00132     EGR_12,
00133     EGR_16,
00134     EGR_24,
00135     EGR_32,
00136     EGR_48,
00137     EGR_64,
00138     EGR_96,
00139     EGR_128,
00140 };
00141 
00142 
00146 enum NoiseType
00147 {
00148     SIMPLEX,
00149     CURL,
00150 };
00151 
00152 
00156 enum PlaybackMode
00157 {
00158     LOOP,
00159     PLAY_ONCE,
00160     PING_PONG,
00161 };
00162 
00163 
00167 enum RenderMethod
00168 {
00169     RAYCASTING,
00170     SLICE_BASED,
00171 };
00172 
00173 
00177 enum RenderMode
00178 {
00179     VOLUME,
00180     VOLUME_COLORMAP,
00181     VOLUME_SHADOWED,
00182     VOXELS,
00183     ISOSURFACE,
00184 };
00185 
00186 
00190 enum RenderTechnique
00191 {
00192     SPRITE_ONE,
00193     SPRITE_ONE,
00194     SPRITE_ALPHA,
00195     SPRITE_SOLID,
00196     SPRITE_TEXTURE,
00197     SPRITE_WIREFRAME,
00198 };
00199 
00200 
00204 enum Resolution
00205 {
00206     GDG_8,
00207     GDG_16,
00208     GDG_32,
00209     GDG_64,
00210     GDG_128,
00211     GDG_256,
00212 };
00213 
00214 
00218 enum ResolutionScale
00219 {
00220     NO_SCALE,
00221     HALF_SCALE,
00222     QUARTER_SCALE,
00223 };
00224 
00225 
00229 enum RollType
00230 {
00231     SPHERICAL,
00232     CUBIC,
00233     FLAT_X,
00234     FLAT_Y,
00235     FLAT_Z,
00236     LONG_X,
00237     LONG_Y,
00238     LONG_Z,
00239 };
00240 
00241 
00245 enum RuntimeFractureType
00246 {
00247     VORONOI,
00248     GLASS,
00249 };
00250 
00251 
00255 enum ScaleAxis
00256 {
00257     xAxis,
00258     yAxis,
00259     zAxis,
00260 };
00261 
00262 
00266 enum Shape
00267 {
00268     sphere,
00269     capsule,
00270     cylinder,
00271     cone,
00272     box,
00273     none,
00274 };
00275 
00276 
00280 enum SimulationBackend
00281 {
00282     Default,
00283     ForceNative,
00284     ForceEmbedded,
00285 };
00286 
00287 
00291 enum SolverMode
00292 {
00293     SOLVER_JACOBI,
00294     SOLVER_MULTIGRID,
00295 };
00296 
00297 
00301 enum SortType
00302 {
00303     default,
00304 };
00305 
00306 
00310 enum Type
00311 {
00312     uniform,
00313     normal,
00314 };
00315 
00316 
00320 enum VelocityAdvection
00321 {
00322     ADVECTION_LINEAR,
00323     ADVECTION_MACCORMACK,
00324 };
00325 
00343 struct ApexEmitterActorParameters
00344 {
00348     Mat34               initialPose;
00352     F32                 initialScale;
00356     Mat34               attachRelativePose;
00363     Bool                emitAssetParticles;
00370     String              overlapTestGroupMaskName;
00377     String              overlapTestGroupsMask128Name;
00384     F32                 emitterDuration;
00385 };
00386 
00387 
00459 struct ApexEmitterAssetParameters
00460 {
00464     F32                 densityRange.min;
00468     F32                 densityRange.max;
00472     F32                 rateRange.min;
00476     F32                 rateRange.max;
00480     F32                 lifetimeRange.min;
00484     F32                 lifetimeRange.max;
00488     Vec3                velocityRange.min;
00492     Vec3                velocityRange.max;
00496     F32                 temperatureRange.min;
00500     F32                 temperatureRange.max;
00507     U32                 maxSamples;
00511     U32                 lodParamDesc.version;
00515     F32                 lodParamDesc.maxDistance;
00519     F32                 lodParamDesc.distanceWeight;
00523     F32                 lodParamDesc.speedWeight;
00527     F32                 lodParamDesc.lifeWeight;
00531     F32                 lodParamDesc.separationWeight;
00535     F32                 lodParamDesc.bias;
00539     Ref                 iofxAssetName;
00543     Ref                 iosAssetName;
00544 union GeometryType {
00548     EmitterGeomBoxParams    geometryType;
00552     EmitterGeomSphereParams geometryType;
00556     EmitterGeomSphereShellParams    geometryType;
00560     EmitterGeomCylinderParams   geometryType;
00564     EmitterGeomExplicitParams   geometryType;
00565 };
00566 GeometryType    geometryType;
00573     F32                 emitterDuration;
00580     U32                 minSamplingFPS;
00584     F32                 rateVsTimeCurvePoints[].x;
00588     F32                 rateVsTimeCurvePoints[].y;
00589 };
00590 
00591 
00606 struct AttractorFSActorParams
00607 {
00614     Mat34               initialPose;
00618     F32                 initialScale;
00622     String              fieldBoundaryFilterDataName;
00626     String              fieldSamplerFilterDataName;
00627 };
00628 
00629 
00648 struct AttractorFSAssetParams
00649 {
00653     F32                 boundaryFadePercentage;
00657     F32                 radius;
00661     F32                 constFieldStrength;
00668     F32                 variableFieldStrength;
00672     F32                 fieldDragCoeff;
00676     F32                 fieldWeight;
00680     String              fieldBoundaryFilterDataName;
00684     String              fieldSamplerFilterDataName;
00685 };
00686 
00687 
00702 struct AttractorFSPreviewParams
00703 {
00707     Mat44               globalPose;
00711     Bool                drawShape;
00715     Bool                drawAssetInfo;
00719     U64                 userData;
00720 };
00721 
00722 
00742 struct AttractorFieldSamplerData
00743 {
00747     String              Name;
00751     AttractorFSAssetParams  AttractorFieldSampler;
00752 };
00753 
00754 
00790 struct AttractorFieldSamplerEffect
00791 {
00795     String              EffectProperties.UserString;
00799     Bool                EffectProperties.Enable;
00803     F32                 EffectProperties.Position.TranslateX;
00807     F32                 EffectProperties.Position.TranslateY;
00811     F32                 EffectProperties.Position.TranslateZ;
00815     F32                 EffectProperties.Orientation.RotateX;
00819     F32                 EffectProperties.Orientation.RotateY;
00823     F32                 EffectProperties.Orientation.RotateZ;
00827     F32                 EffectProperties.InitialDelayTime;
00831     F32                 EffectProperties.Duration;
00835     U32                 EffectProperties.RepeatCount;
00839     F32                 EffectProperties.RepeatDelay;
00843     F32                 EffectProperties.RandomizeRepeatTime;
00847     PlaybackMode        EffectProperties.Path.PlaybackMode;
00851     F32                 EffectProperties.Path.PathDuration;
00855     U32                 EffectProperties.Path.LoopIndex;
00859     Transform           EffectProperties.Path.ControlPoints[];
00863     F32                 EffectProperties.Path.Scale[].x;
00867     F32                 EffectProperties.Path.Scale[].y;
00871     F32                 EffectProperties.Path.Speed[].x;
00875     F32                 EffectProperties.Path.Speed[].y;
00879     Ref                 AttractorFieldSampler;
00880 };
00881 
00882 
00915 struct BasicFSDebugRenderParams
00916 {
00920     Bool                VISUALIZE_JET_FS_ACTOR;
00924     Bool                VISUALIZE_JET_FS_ACTOR_NAME;
00928     Bool                VISUALIZE_JET_FS_SHAPE;
00932     Bool                VISUALIZE_JET_FS_FIELD;
00936     Bool                VISUALIZE_JET_FS_POSE;
00940     F32                 JET_FS_FIELD_SCALE;
00944     Bool                VISUALIZE_ATTRACTOR_FS_ACTOR;
00948     Bool                VISUALIZE_ATTRACTOR_FS_ACTOR_NAME;
00952     Bool                VISUALIZE_ATTRACTOR_FS_SHAPE;
00956     Bool                VISUALIZE_ATTRACTOR_FS_FIELD;
00960     Bool                VISUALIZE_ATTRACTOR_FS_POSE;
00964     Bool                VISUALIZE_VORTEX_FS_ACTOR;
00968     Bool                VISUALIZE_VORTEX_FS_ACTOR_NAME;
00972     Bool                VISUALIZE_VORTEX_FS_SHAPE;
00976     Bool                VISUALIZE_VORTEX_FS_FIELD;
00980     Bool                VISUALIZE_VORTEX_FS_POSE;
00984     Bool                VISUALIZE_NOISE_FS_ACTOR;
00988     Bool                VISUALIZE_NOISE_FS_ACTOR_NAME;
00992     Bool                VISUALIZE_NOISE_FS_SHAPE;
00996     Bool                VISUALIZE_NOISE_FS_POSE;
01000     Bool                VISUALIZE_WIND_FS_ACTOR;
01004     Bool                VISUALIZE_WIND_FS_ACTOR_NAME;
01005 };
01006 
01007 
01019 struct BasicFSModuleParameters
01020 {
01024     U32                 unused;
01025 };
01026 
01027 
01063 struct BasicIOSAssetParam
01064 {
01071     F32                 restDensity;
01078     F32                 particleRadius;
01082     U32                 maxParticleCount;
01089     F32                 maxInjectedParticleCount;
01096     U32                 maxCollidingObjects;
01100     F32                 sceneGravityScale;
01104     Vec3                externalAcceleration;
01108     F32                 particleMass.center;
01115     F32                 particleMass.spread;
01122     Type                particleMass.type;
01126     String              collisionFilterDataName;
01130     String              fieldSamplerFilterDataName;
01134     Bool                staticCollision;
01138     F32                 restitutionForStaticShapes;
01142     Bool                dynamicCollision;
01146     F32                 restitutionForDynamicShapes;
01150     F32                 collisionDistanceMultiplier;
01154     F32                 collisionThreshold;
01158     Bool                collisionWithConvex;
01162     Bool                collisionWithTriangleMesh;
01169     Bool                GridDensity.Enabled;
01176     Resolution          GridDensity.Resolution;
01183     F32                 GridDensity.GridSize;
01190     U32                 GridDensity.MaxCellCount;
01194     Bool                enableTemperatureBuffer;
01195 };
01196 
01197 
01211 struct BasicIosDebugRenderParams
01212 {
01216     Bool                VISUALIZE_BASIC_IOS_ACTOR;
01220     Bool                VISUALIZE_BASIC_IOS_COLLIDE_SHAPES;
01224     Bool                VISUALIZE_BASIC_IOS_GRID_DENSITY;
01225 };
01226 
01227 
01239 struct BasicIosModuleParameters
01240 {
01244     U32                 unused;
01245 };
01246 
01247 
01260 struct BufferF32x1
01261 {
01265     F32                 data[];
01266 };
01267 
01268 
01282 struct BufferF32x2
01283 {
01287     F32                 data[].x;
01291     F32                 data[].y;
01292 };
01293 
01294 
01307 struct BufferF32x3
01308 {
01312     Vec3                data[];
01313 };
01314 
01315 
01331 struct BufferF32x4
01332 {
01336     F32                 data[].x;
01340     F32                 data[].y;
01344     F32                 data[].z;
01348     F32                 data[].w;
01349 };
01350 
01351 
01364 struct BufferU16x1
01365 {
01369     U16                 data[];
01370 };
01371 
01372 
01386 struct BufferU16x2
01387 {
01391     U16                 data[].x;
01395     U16                 data[].y;
01396 };
01397 
01398 
01413 struct BufferU16x3
01414 {
01418     U16                 data[].x;
01422     U16                 data[].y;
01426     U16                 data[].z;
01427 };
01428 
01429 
01445 struct BufferU16x4
01446 {
01450     U16                 data[].x;
01454     U16                 data[].y;
01458     U16                 data[].z;
01462     U16                 data[].w;
01463 };
01464 
01465 
01478 struct BufferU32x1
01479 {
01483     U32                 data[];
01484 };
01485 
01486 
01500 struct BufferU32x2
01501 {
01505     U32                 data[].x;
01509     U32                 data[].y;
01510 };
01511 
01512 
01527 struct BufferU32x3
01528 {
01532     U32                 data[].x;
01536     U32                 data[].y;
01540     U32                 data[].z;
01541 };
01542 
01543 
01559 struct BufferU32x4
01560 {
01564     U32                 data[].x;
01568     U32                 data[].y;
01572     U32                 data[].z;
01576     U32                 data[].w;
01577 };
01578 
01579 
01592 struct BufferU8x1
01593 {
01597     U8                  data[];
01598 };
01599 
01600 
01614 struct BufferU8x2
01615 {
01619     U8                  data[].x;
01623     U8                  data[].y;
01624 };
01625 
01626 
01641 struct BufferU8x3
01642 {
01646     U8                  data[].x;
01650     U8                  data[].y;
01654     U8                  data[].z;
01655 };
01656 
01657 
01673 struct BufferU8x4
01674 {
01678     U8                  data[].x;
01682     U8                  data[].y;
01686     U8                  data[].z;
01690     U8                  data[].w;
01691 };
01692 
01693 
01708 struct CachedOverlaps
01709 {
01716     Bool                isCached;
01720     I32                 overlaps[].i0;
01724     I32                 overlaps[].i1;
01725 };
01726 
01727 
01828 struct ClothingActorParam
01829 {
01833     Mat44               globalPose;
01837     Bool                useHardwareCloth;
01844     Bool                flags.ParallelCpuSkinning;
01851     Bool                flags.RecomputeNormals;
01858     Bool                flags.RecomputeTangents;
01862     Bool                flags.Visualize;
01869     Bool                flags.CorrectSimulationNormals;
01873     Bool                flags.ComputeRenderData;
01877     Bool                flags.ComputePhysicsMeshNormals;
01884     Bool                fallbackSkinning;
01891     Bool                slowStart;
01898     Bool                useInternalBoneOrder;
01905     Bool                updateStateWithGlobalMatrices;
01912     U32                 uvChannelForTangentUpdate;
01919     F32                 maxDistanceBlendTime;
01923     U32                 clothingMaterialIndex;
01927     F32                 lodWeights.maxDistance;
01931     F32                 lodWeights.distanceWeight;
01935     F32                 lodWeights.bias;
01939     F32                 lodWeights.benefitsBias;
01943     Vec3                windParams.Velocity;
01950     F32                 windParams.Adaption;
01954     F32                 maxDistanceScale.Scale;
01958     Bool                maxDistanceScale.Multipliable;
01962     U64                 userData;
01969     Mat44               boneMatrices[];
01976     F32                 clothDescTemplate.collisionResponseCoefficient;
01980     U16                 clothDescTemplate.collisionGroup;
01984     U32                 clothDescTemplate.groupsMask.bits0;
01988     U32                 clothDescTemplate.groupsMask.bits1;
01992     U32                 clothDescTemplate.groupsMask.bits2;
01996     U32                 clothDescTemplate.groupsMask.bits3;
02003     Bounds3             clothDescTemplate.validBounds;
02010     U64                 clothDescTemplate.compartment;
02014     U64                 clothDescTemplate.userData;
02018     Bool                shapeDescTemplate.flags.NX_SF_VISUALIZATION;
02022     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_COLLISION;
02026     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RAYCASTING;
02030     Bool                shapeDescTemplate.flags.NX_SF_DYNAMIC_DYNAMIC_CCD;
02037     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_SCENE_QUERIES;
02044     U16                 shapeDescTemplate.collisionGroup;
02048     U32                 shapeDescTemplate.groupsMask.bits0;
02052     U32                 shapeDescTemplate.groupsMask.bits1;
02056     U32                 shapeDescTemplate.groupsMask.bits2;
02060     U32                 shapeDescTemplate.groupsMask.bits3;
02064     U16                 shapeDescTemplate.materialIndex;
02068     U64                 shapeDescTemplate.userData;
02072     U64                 shapeDescTemplate.name;
02076     U64                 actorDescTemplate.userData;
02080     U64                 actorDescTemplate.name;
02084     F32                 actorScale;
02088     ClothingCookedParam runtimeCooked;
02092     Vec3                morphDisplacements[];
02096     Vec3                morphPhysicalMeshNewPositions[];
02100     Vec3                morphGraphicalMeshNewPositions[];
02104     Bool                allowAdaptiveTargetFrequency;
02108     Bool                useVelocityClamping;
02112     Bounds3             vertexVelocityClamp;
02116     F32                 pressure;
02120     Bool                multiplyGlobalPoseIntoBones;
02124     String              overrideMaterialNames[];
02128     SimulationBackend   simulationBackend;
02132     Bool                freezeByLOD;
02139     Bool                localSpaceSim;
02146     I32                 teleportMode;
02147 };
02148 
02149 
02493 struct ClothingAssetParameters
02494 {
02498     ClothingPhysicalMeshParameters  physicalMeshes[];
02502     ClothingGraphicalLodParameters  graphicalLods[];
02509     U32                 simulation.hierarchicalLevels;
02516     F32                 simulation.thickness;
02523     F32                 simulation.virtualParticleDensity;
02527     Vec3                simulation.gravityDirection;
02534     F32                 simulation.sleepLinearVelocity;
02541     Bool                simulation.disableCCD;
02548     Bool                simulation.untangling;
02555     Bool                simulation.twowayInteraction;
02559     F32                 simulation.restLengthScale;
02566     I32                 bones[].internalIndex;
02570     I32                 bones[].externalIndex;
02574     U32                 bones[].numMeshReferenced;
02578     U32                 bones[].numRigidBodiesReferenced;
02582     I32                 bones[].parentIndex;
02586     Mat34               bones[].bindPose;
02590     String              bones[].name;
02597     U32                 bonesReferenced;
02604     U32                 bonesReferencedByMesh;
02608     U32                 rootBoneIndex;
02612     I32                 boneActors[].boneIndex;
02616     U32                 boneActors[].convexVerticesStart;
02620     U32                 boneActors[].convexVerticesCount;
02624     F32                 boneActors[].capsuleRadius;
02628     F32                 boneActors[].capsuleHeight;
02632     Mat34               boneActors[].localPose;
02639     Vec3                boneVertices[];
02643     I32                 boneSpheres[].boneIndex;
02647     F32                 boneSpheres[].radius;
02651     Vec3                boneSpheres[].localPos;
02658     U16                 boneSphereConnections[];
02662     I32                 bonePlanes[].boneIndex;
02666     Vec3                bonePlanes[].n;
02670     F32                 bonePlanes[].d;
02674     U32                 collisionConvexes[];
02678     F32                 cookedData[].scale;
02679 union CookedData {
02683     ClothingCookedParam cookedData;
02687     ClothingCookedPhysX3Param   cookedData;
02688 };
02689 CookedData  cookedData;
02696     Bounds3             boundingBox;
02700     ClothingMaterialLibraryParameters   materialLibrary;
02704     U32                 materialIndex;
02711     U32                 interCollisionChannels;
02715     String              toolString;
02716 };
02717 
02718 
02750 struct ClothingCookedParam
02751 {
02755     F32                 actorScale;
02762     U8                  convexCookedData[];
02766     U32                 cookedPhysicalSubmeshes[].physicalMeshId;
02770     U32                 cookedPhysicalSubmeshes[].submeshId;
02774     U32                 cookedPhysicalSubmeshes[].cookedDataOffset;
02778     U32                 cookedPhysicalSubmeshes[].cookedDataLength;
02782     U32                 cookedPhysicalSubmeshes[].deformableInvParticleWeightsOffset;
02786     U32                 cookedPhysicalSubmeshes[].virtualParticleIndicesOffset;
02790     U32                 cookedPhysicalSubmeshes[].virtualParticleIndicesLength;
02794     U8                  deformableCookedData[];
02801     U32                 cookedDataVersion;
02805     F32                 deformableInvParticleWeights[];
02809     U32                 virtualParticleIndices[];
02813     Vec3                virtualParticleWeights[];
02814 };
02815 
02816 
02863 struct ClothingCookedPhysX3Param
02864 {
02868     U32                 physicalMeshId;
02872     U32                 physicalSubMeshId;
02876     U32                 numVertices;
02880     F32                 deformableRestLengths[];
02884     U32                 deformableIndices[];
02888     U32                 selfCollisionIndices[];
02892     U32                 selfCollisionNormalIndices[];
02896     U32                 selfCollisionNormalSetSizes[];
02900     U32                 deformableSets[].fiberEnd;
02904     U32                 deformableSets[].longestFiber;
02908     U32                 deformableSets[].shortestFiber;
02912     U32                 deformableSets[].numEdges;
02916     F32                 deformableSets[].avgEdgeLength;
02920     U32                 deformableSets[].avgFiberLength;
02924     U32                 deformablePhaseDescs[].phaseType;
02928     U32                 deformablePhaseDescs[].setIndex;
02932     U32                 deformablePhaseDescs[].restValueOffset;
02936     U32                 tetherAnchors[];
02940     F32                 tetherLengths[];
02944     F32                 deformableInvVertexWeights[];
02948     U32                 virtualParticleIndices[];
02952     F32                 virtualParticleWeights[];
02956     U32                 cookedDataVersion;
02960     ClothingCookedPhysX3Param   nextCookedData;
02961 };
02962 
02963 
03015 struct ClothingDebugRenderParams
03016 {
03020     Bool                Actors;
03024     F32                 SkinnedPositions;
03028     Bool                Backstop;
03032     F32                 BackstopPrecise;
03036     Bool                MaxDistance;
03040     Bool                MaxDistanceInwards;
03044     Bool                SkinMapAll;
03048     Bool                SkinMapBad;
03052     Bool                SkinMapActual;
03056     Bool                SkinMapInvalidBary;
03060     F32                 PhysicsMeshWire;
03064     F32                 PhysicsMeshSolid;
03068     F32                 PhysicsMeshNormals;
03072     Bool                Skeleton;
03076     F32                 BoneFrames;
03080     F32                 BoneNames;
03084     F32                 Velocities;
03088     F32                 Wind;
03092     Bool                GraphicalVertexBones;
03096     Bool                PhysicalVertexBones;
03100     Bool                CollisionShapes;
03104     Bool                CollisionShapesWire;
03108     Bool                LengthFibers;
03112     Bool                CrossSectionFibers;
03116     Bool                BendingFibers;
03120     Bool                ShearingFibers;
03124     Bool                ZerostretchFibers;
03128     Bool                TethersActive;
03132     Bool                TethersInactive;
03136     Bool                VirtualCollision;
03140     Bool                FiberRange;
03144     Bool                ShowInLocalSpace;
03148     Bool                GlobalPose;
03152     Bool                RecomputeSubmeshes;
03156     Bool                RecomputeVertices;
03160     Bool                PhysicsMeshIndices;
03164     Bool                MassScale;
03168     Bool                SelfCollision;
03172     Bool                SelfCollisionWire;
03179     F32                 SelfCollisionAttenuation;
03186     Bool                SolverMode;
03187 };
03188 
03189 
03317 struct ClothingGraphicalLodParameters
03318 {
03325     String              platforms[];
03332     U32                 lod;
03339     U32                 physicalMeshId;
03343     RenderMeshAssetParameters   renderMeshAsset;
03350     U32                 immediateClothMap[];
03354     Vec3                skinClothMapB[].vtxTetraBary;
03358     U32                 skinClothMapB[].vertexIndexPlusOffset;
03362     Vec3                skinClothMapB[].nrmTetraBary;
03366     U32                 skinClothMapB[].faceIndex0;
03370     U32                 skinClothMapB[].tetraIndex;
03377     U32                 skinClothMapB[].submeshIndex;
03381     Vec3                skinClothMap[].vertexBary;
03385     U32                 skinClothMap[].vertexIndex0;
03389     Vec3                skinClothMap[].normalBary;
03393     U32                 skinClothMap[].vertexIndex1;
03397     Vec3                skinClothMap[].tangentBary;
03401     U32                 skinClothMap[].vertexIndex2;
03405     U32                 skinClothMap[].vertexIndexPlusOffset;
03412     F32                 skinClothMapThickness;
03419     F32                 skinClothMapOffset;
03423     Vec3                tetraMap[].vertexBary;
03427     U32                 tetraMap[].tetraIndex0;
03431     Vec3                tetraMap[].normalBary;
03435     U32                 tetraMap[]._dummyForAlignment;
03439     U32                 renderMeshAssetSorting;
03443     U32                 physicsSubmeshPartitioning[].graphicalSubmesh;
03447     U32                 physicsSubmeshPartitioning[].physicalSubmesh;
03451     U32                 physicsSubmeshPartitioning[].numSimulatedVertices;
03455     U32                 physicsSubmeshPartitioning[].numSimulatedVerticesAdditional;
03459     U32                 physicsSubmeshPartitioning[].numSimulatedIndices;
03460 };
03461 
03462 
03510 struct ClothingMaterialLibraryParameters
03511 {
03515     String              materials[].materialName;
03519     F32                 materials[].verticalStretchingStiffness;
03523     F32                 materials[].horizontalStretchingStiffness;
03527     F32                 materials[].bendingStiffness;
03531     F32                 materials[].shearingStiffness;
03535     F32                 materials[].tetherStiffness;
03539     F32                 materials[].tetherLimit;
03546     Bool                materials[].orthoBending;
03553     F32                 materials[].verticalStiffnessScaling.compressionRange;
03560     F32                 materials[].verticalStiffnessScaling.stretchRange;
03564     F32                 materials[].verticalStiffnessScaling.scale;
03571     F32                 materials[].horizontalStiffnessScaling.compressionRange;
03578     F32                 materials[].horizontalStiffnessScaling.stretchRange;
03582     F32                 materials[].horizontalStiffnessScaling.scale;
03589     F32                 materials[].bendingStiffnessScaling.compressionRange;
03596     F32                 materials[].bendingStiffnessScaling.stretchRange;
03600     F32                 materials[].bendingStiffnessScaling.scale;
03607     F32                 materials[].shearingStiffnessScaling.compressionRange;
03614     F32                 materials[].shearingStiffnessScaling.stretchRange;
03618     F32                 materials[].shearingStiffnessScaling.scale;
03622     F32                 materials[].damping;
03626     F32                 materials[].stiffnessFrequency;
03633     F32                 materials[].drag;
03640     Bool                materials[].comDamping;
03647     F32                 materials[].friction;
03651     F32                 materials[].massScale;
03658     U32                 materials[].solverIterations;
03665     F32                 materials[].solverFrequency;
03672     F32                 materials[].gravityScale;
03679     F32                 materials[].inertiaScale;
03686     F32                 materials[].hardStretchLimitation;
03693     F32                 materials[].maxDistanceBias;
03697     U32                 materials[].hierarchicalSolverIterations;
03704     F32                 materials[].selfcollisionThickness;
03711     F32                 materials[].selfcollisionSquashScale;
03718     F32                 materials[].selfcollisionStiffness;
03719 };
03720 
03721 
03743 struct ClothingModuleParameters
03744 {
03751     U32                 maxNumCompartments;
03758     U32                 maxUnusedPhysXResources;
03765     Bool                allowAsyncCooking;
03772     Bool                asyncFetchResults;
03776     U32                 avgSimFrequencyWindow;
03783     Bool                allowApexWorkBetweenSubsteps;
03790     F32                 interCollisionDistance;
03794     F32                 interCollisionStiffness;
03798     U32                 interCollisionIterations;
03805     Bool                sparseSelfCollision;
03809     U32                 maxTimeRenderProxyInPool;
03810 };
03811 
03812 
03896 struct ClothingPhysicalMeshParameters
03897 {
03901     U32                 physicalMesh.numVertices;
03905     U32                 physicalMesh.numIndices;
03909     U32                 physicalMesh.numBonesPerVertex;
03913     Vec3                physicalMesh.vertices[];
03920     Vec3                physicalMesh.normals[];
03927     Vec3                physicalMesh.skinningNormals[];
03931     F32                 physicalMesh.constrainCoefficients[].maxDistance;
03935     F32                 physicalMesh.constrainCoefficients[].collisionSphereRadius;
03939     F32                 physicalMesh.constrainCoefficients[].collisionSphereDistance;
03946     U16                 physicalMesh.boneIndices[];
03953     F32                 physicalMesh.boneWeights[];
03960     U8                  physicalMesh.optimizationData[];
03964     Bool                physicalMesh.hasNegativeBackstop;
03968     Bool                physicalMesh.isClosed;
03972     U32                 physicalMesh.indices[];
03979     F32                 physicalMesh.maximumMaxDistance;
03983     U32                 physicalMesh.physicalMeshSorting;
03987     F32                 physicalMesh.shortestEdgeLength;
03991     F32                 physicalMesh.averageEdgeLength;
03995     Bool                physicalMesh.isTetrahedralMesh;
03999     Bool                physicalMesh.flipNormals;
04006     U32                 submeshes[].numIndices;
04013     U32                 submeshes[].numVertices;
04017     U32                 submeshes[].numMaxDistance0Vertices;
04021     U32                 physicalLods[].costWithoutIterations;
04025     U32                 physicalLods[].submeshId;
04029     F32                 physicalLods[].solverIterationScale;
04033     F32                 physicalLods[].maxDistanceReduction;
04037     Vec3                transitionUpB[].vtxTetraBary;
04041     U32                 transitionUpB[].vertexIndexPlusOffset;
04045     Vec3                transitionUpB[].nrmTetraBary;
04049     U32                 transitionUpB[].faceIndex0;
04053     U32                 transitionUpB[].tetraIndex;
04060     U32                 transitionUpB[].submeshIndex;
04064     Vec3                transitionUp[].vertexBary;
04068     U32                 transitionUp[].vertexIndex0;
04072     Vec3                transitionUp[].normalBary;
04076     U32                 transitionUp[].vertexIndex1;
04080     Vec3                transitionUp[].tangentBary;
04084     U32                 transitionUp[].vertexIndex2;
04088     U32                 transitionUp[].vertexIndexPlusOffset;
04092     F32                 transitionUpThickness;
04096     F32                 transitionUpOffset;
04100     Vec3                transitionDownB[].vtxTetraBary;
04104     U32                 transitionDownB[].vertexIndexPlusOffset;
04108     Vec3                transitionDownB[].nrmTetraBary;
04112     U32                 transitionDownB[].faceIndex0;
04116     U32                 transitionDownB[].tetraIndex;
04123     U32                 transitionDownB[].submeshIndex;
04127     Vec3                transitionDown[].vertexBary;
04131     U32                 transitionDown[].vertexIndex0;
04135     Vec3                transitionDown[].normalBary;
04139     U32                 transitionDown[].vertexIndex1;
04143     Vec3                transitionDown[].tangentBary;
04147     U32                 transitionDown[].vertexIndex2;
04151     U32                 transitionDown[].vertexIndexPlusOffset;
04155     F32                 transitionDownThickness;
04159     F32                 transitionDownOffset;
04163     U32                 referenceCount;
04164 };
04165 
04166 
04184 struct ClothingPreviewParam
04185 {
04189     Mat44               globalPose;
04196     Bool                fallbackSkinning;
04203     Bool                useInternalBoneOrder;
04210     Bool                updateStateWithGlobalMatrices;
04214     U64                 userData;
04221     Mat44               boneMatrices[];
04222 };
04223 
04224 
04238 struct ColorVsDensityCompositeModifierParams
04239 {
04243     F32                 controlPoints[].density;
04247     Vec4                controlPoints[].color;
04248 };
04249 
04250 
04265 struct ColorVsDensityModifierParams
04266 {
04270     ColorChannel        colorChannel;
04274     F32                 controlPoints[].x;
04278     F32                 controlPoints[].y;
04279 };
04280 
04281 
04295 struct ColorVsLifeCompositeModifierParams
04296 {
04300     F32                 controlPoints[].lifeRemaining;
04304     Vec4                controlPoints[].color;
04305 };
04306 
04307 
04322 struct ColorVsLifeModifierParams
04323 {
04327     ColorChannel        colorChannel;
04331     F32                 controlPoints[].x;
04335     F32                 controlPoints[].y;
04336 };
04337 
04338 
04352 struct ColorVsTemperatureCompositeModifierParams
04353 {
04357     F32                 controlPoints[].temperature;
04361     Vec4                controlPoints[].color;
04362 };
04363 
04364 
04379 struct ColorVsTemperatureModifierParams
04380 {
04384     ColorChannel        colorChannel;
04388     F32                 controlPoints[].x;
04392     F32                 controlPoints[].y;
04393 };
04394 
04395 
04411 struct ColorVsVelocityCompositeModifierParams
04412 {
04416     F32                 velocity0;
04420     F32                 velocity1;
04424     F32                 controlPoints[].velocity;
04428     Vec4                controlPoints[].color;
04429 };
04430 
04431 
04448 struct ColorVsVelocityModifierParams
04449 {
04453     ColorChannel        colorChannel;
04457     F32                 velocity0;
04461     F32                 velocity1;
04465     F32                 controlPoints[].x;
04469     F32                 controlPoints[].y;
04470 };
04471 
04472 
04498 struct ConvexHullParameters
04499 {
04506     Vec3                vertices[];
04513     Vec3                uniquePlanes[].normal;
04520     F32                 uniquePlanes[].d;
04527     F32                 widths[];
04534     U32                 edges[];
04541     U32                 adjacentFaces[];
04548     Bounds3             bounds;
04555     F32                 volume;
04562     U32                 uniqueEdgeDirectionCount;
04569     U32                 planeCount;
04570 };
04571 
04572 
04619 struct DebugColorParams
04620 {
04624     U32                 Default;
04628     U32                 PoseArrows;
04632     U32                 MeshStatic;
04636     U32                 MeshDynamic;
04640     U32                 Shape;
04644     U32                 Text0;
04648     U32                 Text1;
04652     U32                 ForceArrowsLow;
04656     U32                 ForceArrowsNorm;
04660     U32                 ForceArrowsHigh;
04664     U32                 Color0;
04668     U32                 Color1;
04672     U32                 Color2;
04676     U32                 Color3;
04680     U32                 Color4;
04684     U32                 Color5;
04688     U32                 Red;
04692     U32                 Green;
04696     U32                 Blue;
04700     U32                 DarkRed;
04704     U32                 DarkGreen;
04708     U32                 DarkBlue;
04712     U32                 LightRed;
04716     U32                 LightGreen;
04720     U32                 LightBlue;
04724     U32                 Purple;
04728     U32                 DarkPurple;
04732     U32                 Yellow;
04736     U32                 Orange;
04740     U32                 Gold;
04744     U32                 Emerald;
04748     U32                 White;
04752     U32                 Black;
04756     U32                 Gray;
04760     U32                 LightGray;
04764     U32                 DarkGray;
04765 };
04766 
04767 
04914 struct DebugRenderParams
04915 {
04919     Bool                Enable;
04923     F32                 Scale;
04927     F32                 LodBenefits;
04931     F32                 RelativeLodBenefitsScreenPos;
04935     F32                 RelativeLodBenefitsThickness;
04939     F32                 LodDistanceScale;
04943     F32                 RenderNormals;
04947     F32                 RenderTangents;
04951     F32                 RenderBitangents;
04955     Bool                Bounds;
04956 union ModuleName {
04960     BasicFSDebugRenderParams    moduleName[];
04964     BasicIosDebugRenderParams   moduleName[];
04968     ParticleIosDebugRenderParams    moduleName[];
04972     ClothingDebugRenderParams   moduleName[];
04976     DestructibleDebugRenderParams   moduleName[];
04980     EmitterDebugRenderParams    moduleName[];
04984     ForceFieldDebugRenderParams moduleName[];
04988     IofxDebugRenderParams   moduleName[];
04992     TurbulenceFSDebugRenderParams   moduleName[];
04996     ParticlesDebugRenderParams  moduleName[];
04997 };
04998 ModuleName  moduleName[];
04999 };
05000 
05001 
05024 struct DestructibleActorChunks
05025 {
05032     U8                  data[].state;
05039     U8                  data[].flags;
05046     U32                 data[].islandID;
05053     F32                 data[].damage;
05060     Vec4                data[].localSphere;
05067     Vec3                data[].localOffset;
05074     I32                 data[].visibleAncestorIndex;
05081     U32                 data[].shapesCount;
05088     Transform           data[].globalPose;
05095     Vec3                data[].linearVelocity;
05102     Vec3                data[].angularVelocity;
05103 };
05104 
05105 
05374 struct DestructibleActorParam
05375 {
05382     String              crumbleEmitterName;
05389     F32                 crumbleParticleSpacing;
05396     String              dustEmitterName;
05403     F32                 dustParticleSpacing;
05410     Mat34               globalPose;
05417     Vec3                scale;
05424     Bool                dynamic;
05431     U32                 supportDepth;
05438     Bool                formExtendedStructures;
05445     Bool                performDetailedOverlapTestForExtendedStructures;
05452     Bool                keepPreviousFrameBoneBuffer;
05459     Bool                doNotCreateRenderable;
05466     Bool                useAssetDefinedSupport;
05473     Bool                useWorldSupport;
05480     Bool                renderStaticChunksSeparately;
05487     Bool                keepVisibleBonesPacked;
05494     Bool                createChunkEvents;
05501     String              overrideSkinnedMaterialNames[];
05508     String              overrideStaticMaterialNames[];
05515     F32                 sleepVelocityFrameDecayConstant;
05522     Bool                useHardSleeping;
05529     F32                 destructibleParameters.damageCap;
05536     F32                 destructibleParameters.forceToDamage;
05543     F32                 destructibleParameters.impactVelocityThreshold;
05550     U32                 destructibleParameters.minimumFractureDepth;
05557     I32                 destructibleParameters.impactDamageDefaultDepth;
05564     I32                 destructibleParameters.debrisDepth;
05571     U32                 destructibleParameters.essentialDepth;
05578     F32                 destructibleParameters.debrisLifetimeMin;
05585     F32                 destructibleParameters.debrisLifetimeMax;
05592     F32                 destructibleParameters.debrisMaxSeparationMin;
05599     F32                 destructibleParameters.debrisMaxSeparationMax;
05606     F32                 destructibleParameters.debrisDestructionProbability;
05613     Bounds3             destructibleParameters.validBounds;
05620     F32                 destructibleParameters.maxChunkSpeed;
05627     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
05634     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
05641     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
05648     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
05655     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
05662     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
05669     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
05676     F32                 destructibleParameters.fractureImpulseScale;
05683     U16                 destructibleParameters.damageDepthLimit;
05690     U16                 destructibleParameters.dynamicChunkDominanceGroup;
05697     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
05704     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
05711     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
05718     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
05725     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
05729     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
05736     Bool                destructibleParameters.runtimeFracture.sheetFracture;
05743     U32                 destructibleParameters.runtimeFracture.depthLimit;
05750     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
05757     F32                 destructibleParameters.runtimeFracture.minConvexSize;
05764     F32                 destructibleParameters.runtimeFracture.impulseScale;
05771     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
05778     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
05785     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
05792     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
05799     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
05806     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
05813     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
05820     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
05827     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
05834     Bool                destructibleParameters.runtimeFracture.attachment.posX;
05841     Bool                destructibleParameters.runtimeFracture.attachment.negX;
05848     Bool                destructibleParameters.runtimeFracture.attachment.posY;
05855     Bool                destructibleParameters.runtimeFracture.attachment.negY;
05862     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
05869     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
05876     F32                 destructibleParameters.supportStrength;
05883     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
05890     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
05897     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE;
05904     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE_VALUE;
05911     Bool                depthParameters[].IGNORE_POSE_UPDATES;
05918     Bool                depthParameters[].IGNORE_RAYCAST_CALLBACKS;
05925     Bool                depthParameters[].IGNORE_CONTACT_CALLBACKS;
05932     Bool                depthParameters[].USER_FLAG_0;
05939     Bool                depthParameters[].USER_FLAG_1;
05946     Bool                depthParameters[].USER_FLAG_2;
05953     Bool                depthParameters[].USER_FLAG_3;
05960     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_ENTER;
05967     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_LEAVE;
05974     Bool                shapeDescTemplate.flags.NX_TRIGGER_ON_STAY;
05981     Bool                shapeDescTemplate.flags.NX_SF_VISUALIZATION;
05988     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_COLLISION;
05995     Bool                shapeDescTemplate.flags.NX_SF_FEATURE_INDICES;
06002     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RAYCASTING;
06009     Bool                shapeDescTemplate.flags.NX_SF_POINT_CONTACT_FORCE;
06016     Bool                shapeDescTemplate.flags.NX_SF_FLUID_DRAIN;
06023     Bool                shapeDescTemplate.flags.NX_SF_FLUID_DISABLE_COLLISION;
06030     Bool                shapeDescTemplate.flags.NX_SF_FLUID_TWOWAY;
06037     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_RESPONSE;
06044     Bool                shapeDescTemplate.flags.NX_SF_DYNAMIC_DYNAMIC_CCD;
06051     Bool                shapeDescTemplate.flags.NX_SF_DISABLE_SCENE_QUERIES;
06058     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_DRAIN;
06065     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_DISABLE_COLLISION;
06072     Bool                shapeDescTemplate.flags.NX_SF_CLOTH_TWOWAY;
06079     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_DRAIN;
06086     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_DISABLE_COLLISION;
06093     Bool                shapeDescTemplate.flags.NX_SF_SOFTBODY_TWOWAY;
06100     U16                 shapeDescTemplate.collisionGroup;
06107     Bool                shapeDescTemplate.groupsMask.useGroupsMask;
06114     U32                 shapeDescTemplate.groupsMask.bits0;
06121     U32                 shapeDescTemplate.groupsMask.bits1;
06128     U32                 shapeDescTemplate.groupsMask.bits2;
06135     U32                 shapeDescTemplate.groupsMask.bits3;
06142     U16                 shapeDescTemplate.materialIndex;
06149     F32                 shapeDescTemplate.density;
06156     F32                 shapeDescTemplate.skinWidth;
06163     U64                 shapeDescTemplate.userData;
06170     U64                 shapeDescTemplate.name;
06177     Bool                actorDescTemplate.flags.NX_AF_DISABLE_COLLISION;
06184     Bool                actorDescTemplate.flags.NX_AF_DISABLE_RESPONSE;
06191     Bool                actorDescTemplate.flags.NX_AF_LOCK_COM;
06198     Bool                actorDescTemplate.flags.NX_AF_FLUID_DISABLE_COLLISION;
06205     Bool                actorDescTemplate.flags.NX_AF_CONTACT_MODIFICATION;
06212     Bool                actorDescTemplate.flags.NX_AF_FORCE_CONE_FRICTION;
06219     Bool                actorDescTemplate.flags.NX_AF_USER_ACTOR_PAIR_FILTERING;
06226     F32                 actorDescTemplate.density;
06233     U16                 actorDescTemplate.actorCollisionGroup;
06240     U16                 actorDescTemplate.dominanceGroup;
06247     Bool                actorDescTemplate.contactReportFlags.NX_IGNORE_PAIR;
06254     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_START_TOUCH;
06261     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_END_TOUCH;
06268     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_TOUCH;
06275     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_IMPACT;
06282     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_ROLL;
06289     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_SLIDE;
06296     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_FORCES;
06303     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_START_TOUCH_FORCE_THRESHOLD;
06310     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_END_TOUCH_FORCE_THRESHOLD;
06317     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_ON_TOUCH_FORCE_THRESHOLD;
06324     Bool                actorDescTemplate.contactReportFlags.NX_NOTIFY_CONTACT_MODIFICATION;
06331     U16                 actorDescTemplate.forceFieldMaterial;
06338     U64                 actorDescTemplate.userData;
06345     U64                 actorDescTemplate.name;
06352     U64                 actorDescTemplate.compartment;
06359     Bool                bodyDescTemplate.flags.NX_BF_DISABLE_GRAVITY;
06366     Bool                bodyDescTemplate.flags.NX_BF_FILTER_SLEEP_VEL;
06373     Bool                bodyDescTemplate.flags.NX_BF_ENERGY_SLEEP_TEST;
06380     Bool                bodyDescTemplate.flags.NX_BF_VISUALIZATION;
06387     F32                 bodyDescTemplate.wakeUpCounter;
06394     F32                 bodyDescTemplate.linearDamping;
06401     F32                 bodyDescTemplate.angularDamping;
06408     F32                 bodyDescTemplate.maxAngularVelocity;
06415     F32                 bodyDescTemplate.CCDMotionThreshold;
06422     F32                 bodyDescTemplate.sleepLinearVelocity;
06429     F32                 bodyDescTemplate.sleepAngularVelocity;
06436     U32                 bodyDescTemplate.solverIterationCount;
06443     F32                 bodyDescTemplate.sleepEnergyThreshold;
06450     F32                 bodyDescTemplate.sleepDamping;
06457     F32                 bodyDescTemplate.contactReportThreshold;
06461     Bool                p3ShapeDescTemplate.flags.eSIMULATION_SHAPE;
06465     Bool                p3ShapeDescTemplate.flags.eSCENE_QUERY_SHAPE;
06472     Bool                p3ShapeDescTemplate.flags.eTRIGGER_SHAPE;
06476     Bool                p3ShapeDescTemplate.flags.eVISUALIZATION;
06480     Bool                p3ShapeDescTemplate.flags.ePARTICLE_DRAIN;
06484     Bool                p3ShapeDescTemplate.flags.eDEFORMABLE_DRAIN;
06488     U32                 p3ShapeDescTemplate.simulationFilterData.word0;
06492     U32                 p3ShapeDescTemplate.simulationFilterData.word1;
06496     U32                 p3ShapeDescTemplate.simulationFilterData.word2;
06500     U32                 p3ShapeDescTemplate.simulationFilterData.word3;
06504     U32                 p3ShapeDescTemplate.queryFilterData.word0;
06508     U32                 p3ShapeDescTemplate.queryFilterData.word1;
06512     U32                 p3ShapeDescTemplate.queryFilterData.word2;
06516     U32                 p3ShapeDescTemplate.queryFilterData.word3;
06523     U64                 p3ShapeDescTemplate.material;
06530     F32                 p3ShapeDescTemplate.contactOffset;
06537     F32                 p3ShapeDescTemplate.restOffset;
06544     U64                 p3ShapeDescTemplate.userData;
06551     U64                 p3ShapeDescTemplate.name;
06558     Bool                p3ActorDescTemplate.flags.eVISUALIZATION;
06565     Bool                p3ActorDescTemplate.flags.eDISABLE_GRAVITY;
06572     Bool                p3ActorDescTemplate.flags.eSEND_SLEEP_NOTIFIES;
06579     U8                  p3ActorDescTemplate.dominanceGroup;
06586     U8                  p3ActorDescTemplate.ownerClient;
06593     U32                 p3ActorDescTemplate.clientBehaviorBits;
06600     Bool                p3ActorDescTemplate.contactReportFlags.eRESOLVE_CONTACTS;
06607     Bool                p3ActorDescTemplate.contactReportFlags.eMODIFY_CONTACTS;
06614     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_FOUND;
06621     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_PERSISTS;
06628     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_TOUCH_LOST;
06635     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_FOUND;
06642     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_PERSISTS;
06649     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_THRESHOLD_FORCE_LOST;
06656     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_POINTS;
06663     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FORCES;
06670     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FORCE_PER_POINT;
06677     Bool                p3ActorDescTemplate.contactReportFlags.eNOTIFY_CONTACT_FEATURE_INDICES_PER_POINT;
06684     Bool                p3ActorDescTemplate.contactReportFlags.eCCD_LINEAR;
06688     Bool                p3ActorDescTemplate.contactReportFlags.eCONTACT_DEFAULT;
06692     Bool                p3ActorDescTemplate.contactReportFlags.eTRIGGER_DEFAULT;
06699     U64                 p3ActorDescTemplate.userData;
06706     U64                 p3ActorDescTemplate.name;
06713     F32                 p3BodyDescTemplate.density;
06720     Bool                p3BodyDescTemplate.flags.eKINEMATIC;
06727     Bool                p3BodyDescTemplate.flags.eENABLE_CCD;
06734     F32                 p3BodyDescTemplate.sleepThreshold;
06741     F32                 p3BodyDescTemplate.wakeUpCounter;
06748     F32                 p3BodyDescTemplate.linearDamping;
06755     F32                 p3BodyDescTemplate.angularDamping;
06762     F32                 p3BodyDescTemplate.maxAngularVelocity;
06769     U32                 p3BodyDescTemplate.solverIterationCount;
06776     U32                 p3BodyDescTemplate.velocityIterationCount;
06783     F32                 p3BodyDescTemplate.contactReportThreshold;
06790     F32                 p3BodyDescTemplate.sleepLinearVelocity;
06797     Bool                structureSettings.useStressSolver;
06804     F32                 structureSettings.stressSolverTimeDelay;
06811     F32                 structureSettings.stressSolverMassThreshold;
06818     String              defaultBehaviorGroup.name;
06825     F32                 defaultBehaviorGroup.damageThreshold;
06832     F32                 defaultBehaviorGroup.damageToRadius;
06839     F32                 defaultBehaviorGroup.damageSpread.minimumRadius;
06846     F32                 defaultBehaviorGroup.damageSpread.radiusMultiplier;
06853     F32                 defaultBehaviorGroup.damageSpread.falloffExponent;
06860     F32                 defaultBehaviorGroup.damageColorSpread.minimumRadius;
06867     F32                 defaultBehaviorGroup.damageColorSpread.radiusMultiplier;
06874     F32                 defaultBehaviorGroup.damageColorSpread.falloffExponent;
06881     Vec4                defaultBehaviorGroup.damageColorChange;
06888     F32                 defaultBehaviorGroup.materialStrength;
06895     F32                 defaultBehaviorGroup.density;
06902     F32                 defaultBehaviorGroup.fadeOut;
06909     F32                 defaultBehaviorGroup.maxDepenetrationVelocity;
06916     Bool                defaultBehaviorGroup.groupsMask.useGroupsMask;
06923     U32                 defaultBehaviorGroup.groupsMask.bits0;
06930     U32                 defaultBehaviorGroup.groupsMask.bits1;
06937     U32                 defaultBehaviorGroup.groupsMask.bits2;
06944     U32                 defaultBehaviorGroup.groupsMask.bits3;
06951     U64                 defaultBehaviorGroup.userData;
06958     String              behaviorGroups[].name;
06965     F32                 behaviorGroups[].damageThreshold;
06972     F32                 behaviorGroups[].damageToRadius;
06979     F32                 behaviorGroups[].damageSpread.minimumRadius;
06986     F32                 behaviorGroups[].damageSpread.radiusMultiplier;
06993     F32                 behaviorGroups[].damageSpread.falloffExponent;
07000     F32                 behaviorGroups[].damageColorSpread.minimumRadius;
07007     F32                 behaviorGroups[].damageColorSpread.radiusMultiplier;
07014     F32                 behaviorGroups[].damageColorSpread.falloffExponent;
07021     Vec4                behaviorGroups[].damageColorChange;
07028     F32                 behaviorGroups[].materialStrength;
07035     F32                 behaviorGroups[].density;
07042     F32                 behaviorGroups[].fadeOut;
07049     F32                 behaviorGroups[].maxDepenetrationVelocity;
07056     Bool                behaviorGroups[].groupsMask.useGroupsMask;
07063     U32                 behaviorGroups[].groupsMask.bits0;
07070     U32                 behaviorGroups[].groupsMask.bits1;
07077     U32                 behaviorGroups[].groupsMask.bits2;
07084     U32                 behaviorGroups[].groupsMask.bits3;
07091     U64                 behaviorGroups[].userData;
07098     Bool                deleteChunksLeavingUserDefinedBB;
07105     Bool                deleteChunksEnteringUserDefinedBB;
07106 };
07107 
07108 
07452 struct DestructibleActorState
07453 {
07460     Bool                enableCrumbleEmitter;
07467     Bool                enableDustEmitter;
07471     F32                 internalLODWeights.maxDistance;
07475     F32                 internalLODWeights.distanceWeight;
07479     F32                 internalLODWeights.maxAge;
07483     F32                 internalLODWeights.ageWeight;
07487     F32                 internalLODWeights.bias;
07494     U32                 lod;
07501     Bool                forceLod;
07508     F32                 destructibleParameters.damageCap;
07515     F32                 destructibleParameters.forceToDamage;
07522     F32                 destructibleParameters.impactVelocityThreshold;
07529     U32                 destructibleParameters.minimumFractureDepth;
07536     I32                 destructibleParameters.impactDamageDefaultDepth;
07543     I32                 destructibleParameters.debrisDepth;
07550     U32                 destructibleParameters.essentialDepth;
07557     F32                 destructibleParameters.debrisLifetimeMin;
07564     F32                 destructibleParameters.debrisLifetimeMax;
07571     F32                 destructibleParameters.debrisMaxSeparationMin;
07578     F32                 destructibleParameters.debrisMaxSeparationMax;
07585     F32                 destructibleParameters.debrisDestructionProbability;
07592     Bounds3             destructibleParameters.validBounds;
07599     F32                 destructibleParameters.maxChunkSpeed;
07606     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
07613     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
07620     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
07627     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
07634     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
07641     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
07648     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
07655     F32                 destructibleParameters.fractureImpulseScale;
07662     U16                 destructibleParameters.damageDepthLimit;
07669     U16                 destructibleParameters.dynamicChunkDominanceGroup;
07676     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
07683     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
07690     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
07697     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
07704     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
07708     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
07715     Bool                destructibleParameters.runtimeFracture.sheetFracture;
07722     U32                 destructibleParameters.runtimeFracture.depthLimit;
07729     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
07736     F32                 destructibleParameters.runtimeFracture.minConvexSize;
07743     F32                 destructibleParameters.runtimeFracture.impulseScale;
07750     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
07757     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
07764     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
07771     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
07778     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
07785     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
07792     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
07799     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
07806     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
07813     Bool                destructibleParameters.runtimeFracture.attachment.posX;
07820     Bool                destructibleParameters.runtimeFracture.attachment.negX;
07827     Bool                destructibleParameters.runtimeFracture.attachment.posY;
07834     Bool                destructibleParameters.runtimeFracture.attachment.negY;
07841     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
07848     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
07855     F32                 destructibleParameters.supportStrength;
07862     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
07869     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
07876     U64                 userData;
07880     DestructibleActorParam  actorParameters;
07884     DestructibleActorChunks actorChunks;
07885 };
07886 
07887 
07907 struct DestructibleAssetCollisionDataSet
07908 {
07915     String              assetName;
07922     U32                 cookingPlatform;
07929     U32                 cookingVersionNum;
07936     Vec3                scales[];
07940     MeshCookedCollisionStreamsAtScale   meshCookedCollisionStreamsAtScale[];
07941 };
07942 
07943 
08284 struct DestructibleAssetParameters
08285 {
08292     String              comments;
08299     U32                 depthCount;
08306     U32                 originalDepthCount;
08313     Bounds3             bounds;
08320     String              defaultBehaviorGroup.name;
08327     F32                 defaultBehaviorGroup.damageThreshold;
08334     F32                 defaultBehaviorGroup.damageToRadius;
08341     F32                 defaultBehaviorGroup.damageSpread.minimumRadius;
08348     F32                 defaultBehaviorGroup.damageSpread.radiusMultiplier;
08355     F32                 defaultBehaviorGroup.damageSpread.falloffExponent;
08362     F32                 defaultBehaviorGroup.damageColorSpread.minimumRadius;
08369     F32                 defaultBehaviorGroup.damageColorSpread.radiusMultiplier;
08376     F32                 defaultBehaviorGroup.damageColorSpread.falloffExponent;
08383     Vec4                defaultBehaviorGroup.damageColorChange;
08390     F32                 defaultBehaviorGroup.materialStrength;
08397     F32                 defaultBehaviorGroup.density;
08404     F32                 defaultBehaviorGroup.fadeOut;
08411     F32                 defaultBehaviorGroup.maxDepenetrationVelocity;
08418     U64                 defaultBehaviorGroup.userData;
08425     String              behaviorGroups[].name;
08432     F32                 behaviorGroups[].damageThreshold;
08439     F32                 behaviorGroups[].damageToRadius;
08446     F32                 behaviorGroups[].damageSpread.minimumRadius;
08453     F32                 behaviorGroups[].damageSpread.radiusMultiplier;
08460     F32                 behaviorGroups[].damageSpread.falloffExponent;
08467     F32                 behaviorGroups[].damageColorSpread.minimumRadius;
08474     F32                 behaviorGroups[].damageColorSpread.radiusMultiplier;
08481     F32                 behaviorGroups[].damageColorSpread.falloffExponent;
08488     Vec4                behaviorGroups[].damageColorChange;
08495     F32                 behaviorGroups[].materialStrength;
08502     F32                 behaviorGroups[].density;
08509     F32                 behaviorGroups[].fadeOut;
08516     F32                 behaviorGroups[].maxDepenetrationVelocity;
08523     U64                 behaviorGroups[].userData;
08530     I8                  RTFractureBehaviorGroup;
08537     U16                 chunks[].depth;
08544     U16                 chunks[].parentIndex;
08551     U16                 chunks[].firstChildIndex;
08558     U16                 chunks[].numChildren;
08565     U16                 chunks[].meshPartIndex;
08572     U16                 chunks[].flags;
08579     Vec3                chunks[].surfaceNormal;
08586     I8                  chunks[].behaviorGroupIndex;
08593     U16                 chunks[].firstScatterMesh;
08600     U16                 chunks[].scatterMeshCount;
08604     ConvexHullParameters    chunkConvexHulls[];
08611     U32                 chunkConvexHullStartIndices[];
08618     F32                 destructibleParameters.damageCap;
08625     F32                 destructibleParameters.forceToDamage;
08632     F32                 destructibleParameters.impactVelocityThreshold;
08639     U32                 destructibleParameters.minimumFractureDepth;
08646     I32                 destructibleParameters.impactDamageDefaultDepth;
08653     I32                 destructibleParameters.debrisDepth;
08660     U32                 destructibleParameters.essentialDepth;
08667     F32                 destructibleParameters.debrisLifetimeMin;
08674     F32                 destructibleParameters.debrisLifetimeMax;
08681     F32                 destructibleParameters.debrisMaxSeparationMin;
08688     F32                 destructibleParameters.debrisMaxSeparationMax;
08695     F32                 destructibleParameters.debrisDestructionProbability;
08702     Bounds3             destructibleParameters.validBounds;
08709     F32                 destructibleParameters.maxChunkSpeed;
08716     Bool                destructibleParameters.flags.ACCUMULATE_DAMAGE;
08723     Bool                destructibleParameters.flags.DEBRIS_TIMEOUT;
08730     Bool                destructibleParameters.flags.DEBRIS_MAX_SEPARATION;
08737     Bool                destructibleParameters.flags.CRUMBLE_SMALLEST_CHUNKS;
08744     Bool                destructibleParameters.flags.ACCURATE_RAYCASTS;
08751     Bool                destructibleParameters.flags.USE_VALID_BOUNDS;
08758     Bool                destructibleParameters.flags.CRUMBLE_VIA_RUNTIME_FRACTURE;
08765     F32                 destructibleParameters.fractureImpulseScale;
08772     U16                 destructibleParameters.damageDepthLimit;
08779     U16                 destructibleParameters.dynamicChunkDominanceGroup;
08786     Bool                destructibleParameters.dynamicChunksGroupsMask.useGroupsMask;
08793     U32                 destructibleParameters.dynamicChunksGroupsMask.bits0;
08800     U32                 destructibleParameters.dynamicChunksGroupsMask.bits1;
08807     U32                 destructibleParameters.dynamicChunksGroupsMask.bits2;
08814     U32                 destructibleParameters.dynamicChunksGroupsMask.bits3;
08818     RuntimeFractureType destructibleParameters.runtimeFracture.RuntimeFractureType;
08825     Bool                destructibleParameters.runtimeFracture.sheetFracture;
08832     U32                 destructibleParameters.runtimeFracture.depthLimit;
08839     Bool                destructibleParameters.runtimeFracture.destroyIfAtDepthLimit;
08846     F32                 destructibleParameters.runtimeFracture.minConvexSize;
08853     F32                 destructibleParameters.runtimeFracture.impulseScale;
08860     U32                 destructibleParameters.runtimeFracture.glass.numSectors;
08867     F32                 destructibleParameters.runtimeFracture.glass.sectorRand;
08874     F32                 destructibleParameters.runtimeFracture.glass.firstSegmentSize;
08881     F32                 destructibleParameters.runtimeFracture.glass.segmentScale;
08888     F32                 destructibleParameters.runtimeFracture.glass.segmentRand;
08895     Vec3                destructibleParameters.runtimeFracture.voronoi.dimensions;
08902     U32                 destructibleParameters.runtimeFracture.voronoi.numCells;
08909     F32                 destructibleParameters.runtimeFracture.voronoi.biasExp;
08916     F32                 destructibleParameters.runtimeFracture.voronoi.maxDist;
08923     Bool                destructibleParameters.runtimeFracture.attachment.posX;
08930     Bool                destructibleParameters.runtimeFracture.attachment.negX;
08937     Bool                destructibleParameters.runtimeFracture.attachment.posY;
08944     Bool                destructibleParameters.runtimeFracture.attachment.negY;
08951     Bool                destructibleParameters.runtimeFracture.attachment.posZ;
08958     Bool                destructibleParameters.runtimeFracture.attachment.negZ;
08965     F32                 destructibleParameters.supportStrength;
08972     I8                  destructibleParameters.legacyChunkBoundsTestSetting;
08979     I8                  destructibleParameters.legacyDamageRadiusSpreadSetting;
08986     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE;
08993     Bool                depthParameters[].OVERRIDE_IMPACT_DAMAGE_VALUE;
09000     Bool                depthParameters[].IGNORE_POSE_UPDATES;
09007     Bool                depthParameters[].IGNORE_RAYCAST_CALLBACKS;
09014     Bool                depthParameters[].IGNORE_CONTACT_CALLBACKS;
09021     Bool                depthParameters[].USER_FLAG_0;
09028     Bool                depthParameters[].USER_FLAG_1;
09035     Bool                depthParameters[].USER_FLAG_2;
09042     Bool                depthParameters[].USER_FLAG_3;
09049     String              crumbleEmitterName;
09056     String              dustEmitterName;
09060     DestructibleAssetCollisionDataSet   collisionData;
09064     RenderMeshAssetParameters   renderMeshAsset;
09071     U32                 initialDestructibleActorAllowanceForInstancing;
09078     U16                 chunkInstanceInfo[].partIndex;
09085     Vec3                chunkInstanceInfo[].chunkPositionOffset;
09092     Vec2                chunkInstanceInfo[].chunkUVOffset;
09099     String              staticMaterialNames[];
09106     F32                 neighborPadding;
09110     CachedOverlaps      overlapsAtDepth[];
09117     U32                 firstChunkAtDepth[];
09124     U32                 supportDepth;
09131     Bool                formExtendedStructures;
09138     Bool                useAssetDefinedSupport;
09145     Bool                useWorldSupport;
09152     Mat44               actorTransforms[];
09156     RenderMeshAssetParameters   scatterMeshAssets[];
09163     U8                  scatterMeshIndices[];
09170     Mat33               scatterMeshTransforms[].matrix;
09177     Vec3                scatterMeshTransforms[].vector;
09178 };
09179 
09180 
09200 struct DestructibleDebugRenderParams
09201 {
09205     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR;
09209     F32                 VISUALIZE_DESTRUCTIBLE_BOUNDS;
09213     F32                 VISUALIZE_DESTRUCTIBLE_SUPPORT;
09217     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR_POSE;
09221     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_POSE;
09225     Bool                VISUALIZE_DESTRUCTIBLE_ACTOR_NAME;
09229     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_ACTOR_NAME;
09233     Bool                VISUALIZE_DESTRUCTIBLE_FRAGMENT_POSE;
09237     F32                 THRESHOLD_DISTANCE_DESTRUCTIBLE_FRAGMENT_POSE;
09238 };
09239 
09240 
09259 struct DestructibleModuleParameters
09260 {
09264     U32                 maxDynamicChunkIslandCount;
09268     Bool                sortFIFOByBenefit;
09272     F32                 validBoundsPadding;
09279     F32                 maxChunkSeparationLOD;
09283     U32                 maxActorCreatesPerFrame;
09290     U32                 maxChunkDepthOffset;
09297     F32                 massScale;
09304     F32                 scaledMassExponent;
09305 };
09306 
09307 
09327 struct DestructiblePreviewParam
09328 {
09335     Mat44               globalPose;
09342     U32                 chunkDepth;
09349     F32                 explodeAmount;
09356     Bool                renderUnexplodedChunksStatically;
09363     String              overrideSkinnedMaterialNames[];
09370     String              overrideStaticMaterialNames[];
09374     U64                 userData;
09375 };
09376 
09377 
09391 struct EffectPackageActorParams
09392 {
09396     Transform           InitialPose;
09400     F32                 objectScale;
09404     Bool                Enabled;
09405 };
09406 
09407 
09770 struct EffectPackageAssetParams
09771 {
09775     Bool                LODSettings.UniqueRenderVolume;
09779     F32                 LODSettings.FadeDistanceBegin;
09783     F32                 LODSettings.FadeDistanceEnd;
09787     Bool                LODSettings.RandomizeEmitterRate;
09791     F32                 LODSettings.FadeOutRate;
09795     Bool                LODSettings.CullByDistance;
09799     Bool                LODSettings.CullOffScreen;
09803     F32                 LODSettings.OffScreenCullTime;
09807     F32                 LODSettings.NonVisibleDeleteTime;
09811     F32                 LODSettings.ScreenCullSize;
09815     F32                 LODSettings.ScreenCullDistance;
09819     Bool                LODSettings.FadeEmitterRate;
09823     Bool                LODSettings.FadeAttractorFieldStrength;
09827     Bool                LODSettings.FadeJetFieldStrength;
09831     Bool                LODSettings.FadeTurbulenceVelocity;
09835     Bool                LODSettings.FadeTurbulenceNoise;
09839     Bool                LODSettings.FadeTurbulenceExternalVelocity;
09843     Bool                LODSettings.FadeTurbulenceVelocityWeight;
09847     Bool                LODSettings.FadeHeatSourceTemperature;
09851     Bool                LODSettings.FadeForceFieldStrength;
09855     Bool                LODSettings.FadeForceFieldScale;
09859     PlaybackMode        Path.PlaybackMode;
09863     F32                 Path.PathDuration;
09867     U32                 Path.LoopIndex;
09871     Transform           Path.ControlPoints[];
09875     F32                 Path.Scale[].x;
09879     F32                 Path.Scale[].y;
09883     F32                 Path.Speed[].x;
09887     F32                 Path.Speed[].y;
09888 union Effects {
09892     EmitterEffect       Effects[];
09896     HeatSourceEffect    Effects[];
09900     JetFieldSamplerEffect   Effects[];
09904     AttractorFieldSamplerEffect Effects[];
09908     TurbulenceFieldSamplerEffect    Effects[];
09912     ForceFieldEffect    Effects[];
09916     NoiseFieldSamplerEffect Effects[];
09920     VortexFieldSamplerEffect    Effects[];
09924     SubstanceSourceEffect   Effects[];
09928     WindFieldSamplerEffect  Effects[];
09932     RigidBodyEffect     Effects[];
09936     VelocitySourceEffect    Effects[];
09937 };
09938 Effects Effects[];
09939 };
09940 
09941 
10305 struct EffectPackageData
10306 {
10310     String              Name;
10314     EffectPackageAssetParams    EffectPackage;
10315 };
10316 
10317 
10682 struct EffectPackageDatabaseParams
10683 {
10687     EffectPackageData   EffectPackages[];
10688 };
10689 
10690 
10760 struct EffectPackageEmitterDatabaseParams
10761 {
10765     EmitterData         Emitters[];
10766 };
10767 
10768 
10960 struct EffectPackageFieldSamplerDatabaseParams
10961 {
10962 union FieldSamplers {
10966     AttractorFieldSamplerData   FieldSamplers[];
10970     ForceFieldData      FieldSamplers[];
10974     HeatSourceData      FieldSamplers[];
10978     JetFieldSamplerData FieldSamplers[];
10982     TurbulenceFieldSamplerData  FieldSamplers[];
10986     VortexFieldSamplerData  FieldSamplers[];
10990     NoiseFieldSamplerData   FieldSamplers[];
10994     SubstanceSourceData FieldSamplers[];
10998     WindFieldSamplerData    FieldSamplers[];
11002     VelocitySourceData  FieldSamplers[];
11003 };
11004 FieldSamplers   FieldSamplers[];
11005 };
11006 
11007 
11071 struct EffectPackageGraphicsMaterialsParams
11072 {
11073 union GraphicsMaterials {
11077     GraphicsMaterialData    GraphicsMaterials[];
11081     VolumeRenderMaterialData    GraphicsMaterials[];
11082 };
11083 GraphicsMaterials   GraphicsMaterials[];
11084 };
11085 
11086 
11246 struct EffectPackageIOFXDatabaseParams
11247 {
11251     GraphicsEffectData  GraphicsEffects[];
11252 };
11253 
11254 
11324 struct EffectPackageIOSDatabaseParams
11325 {
11329     ParticleSimulationData  ParticleSimulations[];
11330 };
11331 
11332 
11345 struct EmitterAssetPreviewParameters
11346 {
11350     Mat34               pose;
11354     F32                 scale;
11355 };
11356 
11357 
11426 struct EmitterData
11427 {
11431     String              Name;
11435     ApexEmitterAssetParameters  Emitter;
11436 };
11437 
11438 
11465 struct EmitterDebugRenderParams
11466 {
11470     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR;
11474     Bool                apexEmitterParameters.VISUALIZE_TOTAL_INJECTED_AABB;
11478     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR_POSE;
11482     F32                 apexEmitterParameters.THRESHOLD_DISTANCE_APEX_EMITTER_ACTOR_POSE;
11486     Bool                apexEmitterParameters.VISUALIZE_APEX_EMITTER_ACTOR_NAME;
11490     F32                 apexEmitterParameters.THRESHOLD_DISTANCE_APEX_EMITTER_ACTOR_NAME;
11494     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR;
11498     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_SPHERE;
11502     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_GRID;
11506     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_RAYCAST;
11510     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR_POSE;
11514     Bool                groundEmitterParameters.VISUALIZE_GROUND_EMITTER_ACTOR_NAME;
11518     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_ACTOR;
11522     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_RAYCAST;
11526     Bool                impactEmitterParameters.VISUALIZE_IMPACT_EMITTER_ACTOR_NAME;
11530     F32                 impactEmitterParameters.THRESHOLD_DISTANCE_IMPACT_EMITTER_ACTOR_NAME;
11531 };
11532 
11533 
11579 struct EmitterEffect
11580 {
11584     String              EffectProperties.UserString;
11588     Bool                EffectProperties.Enable;
11592     F32                 EffectProperties.Position.TranslateX;
11596     F32                 EffectProperties.Position.TranslateY;
11600     F32                 EffectProperties.Position.TranslateZ;
11604     F32                 EffectProperties.Orientation.RotateX;
11608     F32                 EffectProperties.Orientation.RotateY;
11612     F32                 EffectProperties.Orientation.RotateZ;
11616     F32                 EffectProperties.InitialDelayTime;
11620     F32                 EffectProperties.Duration;
11624     U32                 EffectProperties.RepeatCount;
11628     F32                 EffectProperties.RepeatDelay;
11632     F32                 EffectProperties.RandomizeRepeatTime;
11636     PlaybackMode        EffectProperties.Path.PlaybackMode;
11640     F32                 EffectProperties.Path.PathDuration;
11644     U32                 EffectProperties.Path.LoopIndex;
11648     Transform           EffectProperties.Path.ControlPoints[];
11652     F32                 EffectProperties.Path.Scale[].x;
11656     F32                 EffectProperties.Path.Scale[].y;
11660     F32                 EffectProperties.Path.Speed[].x;
11664     F32                 EffectProperties.Path.Speed[].y;
11668     Bool                EmitterVelocityChanges.AdjustLifetime.AdjustEnabled;
11672     F32                 EmitterVelocityChanges.AdjustLifetime.VelocityLow;
11676     F32                 EmitterVelocityChanges.AdjustLifetime.VelocityHigh;
11680     F32                 EmitterVelocityChanges.AdjustLifetime.LowValue;
11684     F32                 EmitterVelocityChanges.AdjustLifetime.HighValue;
11688     Bool                EmitterVelocityChanges.AdjustEmitterRate.AdjustEnabled;
11692     F32                 EmitterVelocityChanges.AdjustEmitterRate.VelocityLow;
11696     F32                 EmitterVelocityChanges.AdjustEmitterRate.VelocityHigh;
11700     F32                 EmitterVelocityChanges.AdjustEmitterRate.LowValue;
11704     F32                 EmitterVelocityChanges.AdjustEmitterRate.HighValue;
11708     Ref                 Emitter;
11709 };
11710 
11711 
11724 struct EmitterGeomBoxParams
11725 {
11732     EmitterType         emitterType;
11736     Vec3                extents;
11737 };
11738 
11739 
11753 struct EmitterGeomCylinderParams
11754 {
11761     EmitterType         emitterType;
11765     F32                 radius;
11769     F32                 height;
11770 };
11771 
11772 
11803 struct EmitterGeomExplicitParams
11804 {
11808     F32                 distance;
11812     Vec3                points.positions[].position;
11816     Bool                points.positions[].doDetectOverlaps;
11820     Vec3                points.velocities[];
11824     Vec3                spheres.positions[].center;
11828     F32                 spheres.positions[].radius;
11832     Bool                spheres.positions[].doDetectOverlaps;
11836     Vec3                spheres.velocities[];
11840     Vec3                ellipsoids.positions[].center;
11844     F32                 ellipsoids.positions[].radius;
11848     Vec3                ellipsoids.positions[].normal;
11852     F32                 ellipsoids.positions[].polarRadius;
11856     Bool                ellipsoids.positions[].doDetectOverlaps;
11860     Vec3                ellipsoids.velocities[];
11861 };
11862 
11863 
11877 struct EmitterGeomSphereParams
11878 {
11885     EmitterType         emitterType;
11889     F32                 radius;
11893     F32                 hemisphere;
11894 };
11895 
11896 
11911 struct EmitterGeomSphereShellParams
11912 {
11919     EmitterType         emitterType;
11923     F32                 radius;
11927     F32                 shellThickness;
11931     F32                 hemisphere;
11932 };
11933 
11934 
11946 struct EmitterModuleParameters
11947 {
11951     U32                 unused;
11952 };
11953 
11954 
11966 struct FieldSamplerModuleParameters
11967 {
11971     U32                 unused;
11972 };
11973 
11974 
11988 struct FieldSamplerPhysXMonitorParams
11989 {
11993     U32                 maxRBCount;
11997     U32                 maxPSCount;
12001     U32                 maxParticleCount;
12002 };
12003 
12017 struct FluidParticleSystemParams
12018 {
12025     F32                 restParticleDistance;
12032     F32                 stiffness;
12039     F32                 viscosity;
12040 };
12041 
12042 
12057 struct ForceFieldActorParams
12058 {
12062     Mat44               initialPose;
12066     F32                 scale;
12070     String              fieldBoundaryFilterDataName;
12074     String              fieldSamplerFilterDataName;
12075 };
12076 
12077 
12115 struct ForceFieldAssetParams
12116 {
12117 union ForceFieldKernelType {
12121     GenericForceFieldKernelParams   forceFieldKernelType;
12125     RadialForceFieldKernelParams    forceFieldKernelType;
12126 };
12127 ForceFieldKernelType    forceFieldKernelType;
12131     F32                 defScale;
12135     F32                 strength;
12139     F32                 lifetime;
12143     Shape               includeShapeParameters.shape;
12147     Mat44               includeShapeParameters.forceFieldToShape;
12151     Vec3                includeShapeParameters.dimensions;
12155     String              fieldBoundaryFilterDataName;
12159     String              fieldSamplerFilterDataName;
12160 };
12161 
12162 
12178 struct ForceFieldAssetPreviewParams
12179 {
12183     Mat44               pose;
12187     F32                 iconScale;
12191     Bool                drawIcon;
12195     Bool                drawBoundaries;
12199     Bool                drawBold;
12200 };
12201 
12202 
12241 struct ForceFieldData
12242 {
12246     String              Name;
12250     ForceFieldAssetParams   ForceField;
12251 };
12252 
12253 
12265 struct ForceFieldDebugRenderParams
12266 {
12270     Bool                VISUALIZE_FORCEFIELD_ACTOR;
12271 };
12272 
12273 
12309 struct ForceFieldEffect
12310 {
12314     String              EffectProperties.UserString;
12318     Bool                EffectProperties.Enable;
12322     F32                 EffectProperties.Position.TranslateX;
12326     F32                 EffectProperties.Position.TranslateY;
12330     F32                 EffectProperties.Position.TranslateZ;
12334     F32                 EffectProperties.Orientation.RotateX;
12338     F32                 EffectProperties.Orientation.RotateY;
12342     F32                 EffectProperties.Orientation.RotateZ;
12346     F32                 EffectProperties.InitialDelayTime;
12350     F32                 EffectProperties.Duration;
12354     U32                 EffectProperties.RepeatCount;
12358     F32                 EffectProperties.RepeatDelay;
12362     F32                 EffectProperties.RandomizeRepeatTime;
12366     PlaybackMode        EffectProperties.Path.PlaybackMode;
12370     F32                 EffectProperties.Path.PathDuration;
12374     U32                 EffectProperties.Path.LoopIndex;
12378     Transform           EffectProperties.Path.ControlPoints[];
12382     F32                 EffectProperties.Path.Scale[].x;
12386     F32                 EffectProperties.Path.Scale[].y;
12390     F32                 EffectProperties.Path.Speed[].x;
12394     F32                 EffectProperties.Path.Speed[].y;
12398     Ref                 ForceField;
12399 };
12400 
12401 
12416 struct ForceFieldFalloffParams
12417 {
12421     Type                type;
12425     F32                 multiplier;
12429     F32                 start;
12433     F32                 end;
12434 };
12435 
12436 
12448 struct ForceFieldModuleParams
12449 {
12453     U32                 unused;
12454 };
12455 
12456 
12471 struct ForceFieldNoiseParams
12472 {
12476     F32                 strength;
12480     F32                 spaceScale;
12484     F32                 timeScale;
12488     U32                 octaves;
12489 };
12490 
12491 
12512 struct GenericForceFieldKernelParams
12513 {
12517     Type                coordinateSystemParameters.type;
12521     F32                 coordinateSystemParameters.torusRadius;
12525     Vec3                constant;
12529     Mat33               positionMultiplier;
12533     Vec3                positionTarget;
12537     Mat33               velocityMultiplier;
12541     Vec3                velocityTarget;
12545     Vec3                noise;
12549     Vec3                falloffLinear;
12553     Vec3                falloffQuadratic;
12554 };
12555 
12556 
12715 struct GraphicsEffectData
12716 {
12720     String              Name;
12724     IofxAssetParameters IOFX;
12725 };
12726 
12727 
12756 struct GraphicsMaterialData
12757 {
12761     String              Name;
12765     String              ApplicationMaterialName;
12769     String              UserProperties;
12773     RenderTechnique     RenderTechnique;
12777     String              DiffuseTexture;
12781     U32                 CellColumn;
12785     U32                 CellRow;
12789     U32                 CellCount;
12793     Bool                CrossBlend;
12797     F32                 ColorMultiplier;
12801     Bool                UsePSM;
12805     Resolution          Resolution;
12809     U32                 FullResPercent;
12813     U32                 HalfResPercent;
12817     F32                 PSM_ShadowBias;
12821     Bool                PSM_Frustum.ShowFrustum;
12825     F32                 PSM_Frustum.FrustumDepth;
12829     F32                 PSM_Frustum.FrustumSize;
12830 };
12831 
12832 
12853 struct GroundEmitterActorParameters
12854 {
12858     F32                 densityRange.min;
12862     F32                 densityRange.max;
12869     F32                 radius;
12876     Vec3                upDirection;
12883     F32                 raycastHeight;
12890     F32                 spawnHeight;
12897     U32                 maxRaycastsPerFrame;
12904     String              raycastCollisionGroupMaskName;
12911     Vec3                attachRelativePosition;
12918     Mat34               globalPose;
12919 };
12920 
12921 
12956 struct GroundEmitterAssetParameters
12957 {
12961     F32                 densityRange.min;
12965     F32                 densityRange.max;
12969     Vec3                velocityRange.min;
12973     Vec3                velocityRange.max;
12977     F32                 lifetimeRange.min;
12981     F32                 lifetimeRange.max;
12988     F32                 radius;
12995     F32                 raycastHeight;
13002     F32                 spawnHeight;
13009     U32                 maxRaycastsPerFrame;
13016     String              raycastCollisionGroupMaskName;
13020     Ref                 materialFactoryMapList[].iofxAssetName;
13024     Ref                 materialFactoryMapList[].iosAssetName;
13028     String              materialFactoryMapList[].physMatName;
13032     F32                 materialFactoryMapList[].weight;
13036     F32                 materialFactoryMapList[].maxSlopeAngle;
13040     U32                 materialFactoryMapList[].lodParamDesc.version;
13044     F32                 materialFactoryMapList[].lodParamDesc.maxDistance;
13048     F32                 materialFactoryMapList[].lodParamDesc.distanceWeight;
13052     F32                 materialFactoryMapList[].lodParamDesc.speedWeight;
13056     F32                 materialFactoryMapList[].lodParamDesc.lifeWeight;
13060     F32                 materialFactoryMapList[].lodParamDesc.separationWeight;
13064     F32                 materialFactoryMapList[].lodParamDesc.bias;
13065 };
13066 
13067 
13085 struct HeatSourceActorParams
13086 {
13090     Mat34               initialPose;
13094     F32                 initialScale;
13098     F32                 averageTemperature;
13102     F32                 stdTemperature;
13103 union GeometryType {
13107     HeatSourceGeomBoxParams geometryType;
13111     HeatSourceGeomSphereParams  geometryType;
13112 };
13113 GeometryType    geometryType;
13117     String              fieldSamplerFilterDataName;
13118 };
13119 
13120 
13136 struct HeatSourceAssetParams
13137 {
13141     F32                 averageTemperature;
13145     F32                 stdTemperature;
13146 union GeometryType {
13150     HeatSourceGeomBoxParams geometryType;
13154     HeatSourceGeomSphereParams  geometryType;
13155 };
13156 GeometryType    geometryType;
13160     String              fieldSamplerFilterDataName;
13161 };
13162 
13163 
13180 struct HeatSourceData
13181 {
13185     String              Name;
13189     HeatSourceAssetParams   HeatSource;
13190 };
13191 
13192 
13228 struct HeatSourceEffect
13229 {
13233     String              EffectProperties.UserString;
13237     Bool                EffectProperties.Enable;
13241     F32                 EffectProperties.Position.TranslateX;
13245     F32                 EffectProperties.Position.TranslateY;
13249     F32                 EffectProperties.Position.TranslateZ;
13253     F32                 EffectProperties.Orientation.RotateX;
13257     F32                 EffectProperties.Orientation.RotateY;
13261     F32                 EffectProperties.Orientation.RotateZ;
13265     F32                 EffectProperties.InitialDelayTime;
13269     F32                 EffectProperties.Duration;
13273     U32                 EffectProperties.RepeatCount;
13277     F32                 EffectProperties.RepeatDelay;
13281     F32                 EffectProperties.RandomizeRepeatTime;
13285     PlaybackMode        EffectProperties.Path.PlaybackMode;
13289     F32                 EffectProperties.Path.PathDuration;
13293     U32                 EffectProperties.Path.LoopIndex;
13297     Transform           EffectProperties.Path.ControlPoints[];
13301     F32                 EffectProperties.Path.Scale[].x;
13305     F32                 EffectProperties.Path.Scale[].y;
13309     F32                 EffectProperties.Path.Speed[].x;
13313     F32                 EffectProperties.Path.Speed[].y;
13317     Ref                 HeatSource;
13318 };
13319 
13320 
13332 struct HeatSourceGeomBoxParams
13333 {
13337     Vec3                extents;
13338 };
13339 
13340 
13352 struct HeatSourceGeomSphereParams
13353 {
13357     F32                 radius;
13358 };
13359 
13360 
13373 struct HeatSourcePreviewParams
13374 {
13378     Mat34               pose;
13382     F32                 scale;
13383 };
13384 
13385 
13396 struct ImpactEmitterActorParameters
13397 {
13398 };
13399 
13400 
13435 struct ImpactEmitterAssetParameters
13436 {
13437 union EventSetList {
13441     ImpactObjectEvent   eventSetList[];
13445     ImpactExplosionEvent    eventSetList[];
13446 };
13447 EventSetList    eventSetList[];
13448 };
13449 
13450 
13465 struct ImpactExplosionEvent
13466 {
13470     String              eventSetName;
13474     Ref                 explosionAssetName;
13478     F32                 delay;
13482     F32                 duration;
13483 };
13484 
13485 
13515 struct ImpactObjectEvent
13516 {
13520     String              eventSetName;
13524     Ref                 iofxAssetName;
13528     Ref                 iosAssetName;
13532     F32                 angleRange.min;
13536     F32                 angleRange.max;
13540     F32                 speedRange.min;
13544     F32                 speedRange.max;
13548     F32                 lifeRange.min;
13552     F32                 lifeRange.max;
13556     F32                 delay;
13560     U32                 particleSpawnCount;
13564     ImpactAxis          impactAxis;
13568     U32                 lodParamDesc.version;
13572     F32                 lodParamDesc.maxDistance;
13576     F32                 lodParamDesc.distanceWeight;
13580     F32                 lodParamDesc.speedWeight;
13584     F32                 lodParamDesc.lifeWeight;
13588     F32                 lodParamDesc.separationWeight;
13592     F32                 lodParamDesc.bias;
13593 };
13594 
13595 
13607 struct InitialColorModifierParams
13608 {
13612     Vec4                color;
13613 };
13614 
13615 
13773 struct IofxAssetParameters
13774 {
13775 union IofxType {
13779     MeshIofxParameters  iofxType;
13783     SpriteIofxParameters    iofxType;
13784 };
13785 IofxType    iofxType;
13789     Bool                renderOutput.useUserSemantic;
13793     Bool                renderOutput.useFloat4Color;
13794 };
13795 
13796 
13810 struct IofxDebugRenderParams
13811 {
13815     Bool                VISUALIZE_IOFX_ACTOR;
13819     Bool                VISUALIZE_IOFX_BOUNDING_BOX;
13823     Bool                VISUALIZE_IOFX_ACTOR_NAME;
13824 };
13825 
13826 
13838 struct IofxModuleParameters
13839 {
13843     U32                 unused;
13844 };
13845 
13846 
13861 struct JetFSActorParams
13862 {
13869     Mat34               initialPose;
13873     F32                 initialScale;
13877     String              fieldBoundaryFilterDataName;
13881     String              fieldSamplerFilterDataName;
13882 };
13883 
13884 
13920 struct JetFSAssetParams
13921 {
13928     F32                 defaultScale;
13932     F32                 boundaryFadePercentage;
13936     Vec3                fieldDirection;
13943     F32                 fieldDirectionDeviationAngle;
13950     F32                 fieldDirectionOscillationPeriod;
13954     F32                 fieldStrength;
13961     F32                 fieldStrengthDeviationPercentage;
13968     F32                 fieldStrengthOscillationPeriod;
13972     F32                 gridShapeRadius;
13976     F32                 gridShapeHeight;
13980     F32                 gridBoundaryFadePercentage;
13984     F32                 nearRadius;
13988     F32                 pivotRadius;
13992     F32                 farRadius;
13996     F32                 directionalStretch;
14000     F32                 averageStartDistance;
14004     F32                 averageEndDistance;
14008     F32                 noisePercentage;
14012     F32                 noiseSpaceScale;
14016     F32                 noiseTimeScale;
14020     U32                 noiseOctaves;
14024     F32                 fieldDragCoeff;
14028     F32                 fieldWeight;
14032     String              fieldBoundaryFilterDataName;
14036     String              fieldSamplerFilterDataName;
14037 };
14038 
14039 
14054 struct JetFSPreviewParams
14055 {
14059     Mat44               globalPose;
14063     Bool                drawShape;
14067     Bool                drawAssetInfo;
14071     U64                 userData;
14072 };
14073 
14074 
14111 struct JetFieldSamplerData
14112 {
14116     String              Name;
14120     JetFSAssetParams    JetFieldSampler;
14121 };
14122 
14123 
14159 struct JetFieldSamplerEffect
14160 {
14164     String              EffectProperties.UserString;
14168     Bool                EffectProperties.Enable;
14172     F32                 EffectProperties.Position.TranslateX;
14176     F32                 EffectProperties.Position.TranslateY;
14180     F32                 EffectProperties.Position.TranslateZ;
14184     F32                 EffectProperties.Orientation.RotateX;
14188     F32                 EffectProperties.Orientation.RotateY;
14192     F32                 EffectProperties.Orientation.RotateZ;
14196     F32                 EffectProperties.InitialDelayTime;
14200     F32                 EffectProperties.Duration;
14204     U32                 EffectProperties.RepeatCount;
14208     F32                 EffectProperties.RepeatDelay;
14212     F32                 EffectProperties.RandomizeRepeatTime;
14216     PlaybackMode        EffectProperties.Path.PlaybackMode;
14220     F32                 EffectProperties.Path.PathDuration;
14224     U32                 EffectProperties.Path.LoopIndex;
14228     Transform           EffectProperties.Path.ControlPoints[];
14232     F32                 EffectProperties.Path.Scale[].x;
14236     F32                 EffectProperties.Path.Scale[].y;
14240     F32                 EffectProperties.Path.Speed[].x;
14244     F32                 EffectProperties.Path.Speed[].y;
14248     Ref                 JetFieldSampler;
14249 };
14250 
14251 
14264 struct MeshCookedCollisionStream
14265 {
14272     U8                  bytes[];
14273 };
14274 
14275 
14289 struct MeshCookedCollisionStreamsAtScale
14290 {
14294     MeshCookedCollisionStream   meshCookedCollisionStreams[];
14295 };
14296 
14297 
14373 struct MeshIofxParameters
14374 {
14378     Ref                 renderMeshList[].meshAssetName;
14382     U32                 renderMeshList[].weight;
14383 union SpawnModifierList {
14387     RotationModifierParams  spawnModifierList[];
14391     SimpleScaleModifierParams   spawnModifierList[];
14395     RandomScaleModifierParams   spawnModifierList[];
14399     InitialColorModifierParams  spawnModifierList[];
14403     ScaleByMassModifierParams   spawnModifierList[];
14404 };
14405 SpawnModifierList   spawnModifierList[];
14406 union ContinuousModifierList {
14410     RotationModifierParams  continuousModifierList[];
14414     ScaleVsLife3DModifierParams continuousModifierList[];
14418     ScaleVsDensity3DModifierParams  continuousModifierList[];
14422     ScaleVsTemperature3DModifierParams  continuousModifierList[];
14426     ScaleVsCameraDistance3DModifierParams   continuousModifierList[];
14430     OrientAlongVelocityModifierParams   continuousModifierList[];
14434     ScaleAlongVelocityModifierParams    continuousModifierList[];
14438     ColorVsLifeCompositeModifierParams  continuousModifierList[];
14442     ColorVsDensityCompositeModifierParams   continuousModifierList[];
14446     ColorVsTemperatureCompositeModifierParams   continuousModifierList[];
14450     ScaleVsLifeModifierParams   continuousModifierList[];
14454     ScaleVsDensityModifierParams    continuousModifierList[];
14458     ScaleVsTemperatureModifierParams    continuousModifierList[];
14462     ScaleVsCameraDistanceModifierParams continuousModifierList[];
14466     ColorVsVelocityCompositeModifierParams  continuousModifierList[];
14467 };
14468 ContinuousModifierList  continuousModifierList[];
14469 };
14470 
14471 
14486 struct NoiseFSActorParams
14487 {
14494     Mat34               initialPose;
14498     F32                 initialScale;
14502     String              fieldBoundaryFilterDataName;
14506     String              fieldSamplerFilterDataName;
14507 };
14508 
14509 
14538 struct NoiseFSAssetParams
14539 {
14546     F32                 defaultScale;
14550     Vec3                boundarySize;
14554     F32                 boundaryFadePercentage;
14558     FieldType           fieldType;
14562     F32                 fieldDragCoeff;
14566     F32                 fieldWeight;
14570     NoiseType           noiseType;
14574     U32                 noiseSeed;
14578     F32                 noiseStrength;
14582     Vec3                noiseSpacePeriod;
14586     F32                 noiseTimePeriod;
14590     U32                 noiseOctaves;
14594     F32                 noiseStrengthOctaveMultiplier;
14598     Vec3                noiseSpacePeriodOctaveMultiplier;
14602     F32                 noiseTimePeriodOctaveMultiplier;
14606     String              fieldBoundaryFilterDataName;
14610     String              fieldSamplerFilterDataName;
14614     Bool                useLocalSpace;
14615 };
14616 
14617 
14632 struct NoiseFSPreviewParams
14633 {
14637     Mat44               globalPose;
14641     Bool                drawShape;
14645     Bool                drawAssetInfo;
14649     U64                 userData;
14650 };
14651 
14652 
14682 struct NoiseFieldSamplerData
14683 {
14687     String              Name;
14691     NoiseFSAssetParams  NoiseFieldSampler;
14692 };
14693 
14694 
14730 struct NoiseFieldSamplerEffect
14731 {
14735     String              EffectProperties.UserString;
14739     Bool                EffectProperties.Enable;
14743     F32                 EffectProperties.Position.TranslateX;
14747     F32                 EffectProperties.Position.TranslateY;
14751     F32                 EffectProperties.Position.TranslateZ;
14755     F32                 EffectProperties.Orientation.RotateX;
14759     F32                 EffectProperties.Orientation.RotateY;
14763     F32                 EffectProperties.Orientation.RotateZ;
14767     F32                 EffectProperties.InitialDelayTime;
14771     F32                 EffectProperties.Duration;
14775     U32                 EffectProperties.RepeatCount;
14779     F32                 EffectProperties.RepeatDelay;
14783     F32                 EffectProperties.RandomizeRepeatTime;
14787     PlaybackMode        EffectProperties.Path.PlaybackMode;
14791     F32                 EffectProperties.Path.PathDuration;
14795     U32                 EffectProperties.Path.LoopIndex;
14799     Transform           EffectProperties.Path.ControlPoints[];
14803     F32                 EffectProperties.Path.Scale[].x;
14807     F32                 EffectProperties.Path.Scale[].y;
14811     F32                 EffectProperties.Path.Speed[].x;
14815     F32                 EffectProperties.Path.Speed[].y;
14819     Ref                 NoiseFieldSampler;
14820 };
14821 
14822 
14834 struct OrientAlongVelocityModifierParams
14835 {
14839     Vec3                modelForward;
14840 };
14841 
14842 
14856 struct OrientScaleAlongScreenVelocityModifierParams
14857 {
14864     F32                 scalePerVelocity;
14871     F32                 scaleChangeLimit;
14878     F32                 scaleChangeDelay;
14879 };
14880 
14881 
14924 struct ParticleIosAssetParam
14925 {
14926 union ParticleType {
14930     SimpleParticleSystemParams  particleType;
14934     FluidParticleSystemParams   particleType;
14935 };
14936 ParticleType    particleType;
14940     U32                 maxParticleCount;
14947     F32                 particleRadius;
14954     F32                 maxInjectedParticleCount;
14961     F32                 maxMotionDistance;
14968     F32                 contactOffset;
14975     F32                 restOffset;
14982     F32                 gridSize;
14989     F32                 damping;
14996     Vec3                externalAcceleration;
15003     Vec3                projectionPlaneNormal;
15010     F32                 projectionPlaneDistance;
15017     F32                 particleMass;
15024     F32                 restitution;
15031     F32                 dynamicFriction;
15038     F32                 staticFriction;
15045     String              simulationFilterData;
15052     String              fieldSamplerFilterData;
15059     Bool                CollisionTwoway;
15066     Bool                CollisionWithDynamicActors;
15070     Bool                Enable;
15077     Bool                ProjectToPlane;
15084     Bool                PerParticleRestOffset;
15091     Bool                PerParticleCollisionCacheHint;
15095     Bool                DensityBuffer;
15099     Bool                enableTemperatureBuffer;
15100 };
15101 
15102 
15115 struct ParticleIosDebugRenderParams
15116 {
15120     Bool                VISUALIZE_PARTICLE_IOS_ACTOR;
15124     Bool                VISUALIZE_PARTICLE_IOS_GRID_DENSITY;
15125 };
15126 
15127 
15139 struct ParticleIosModuleParameters
15140 {
15144     U32                 unused;
15145 };
15146 
15147 
15216 struct ParticleSimulationData
15217 {
15221     String              Name;
15222 union IOS {
15226     BasicIOSAssetParam  IOS;
15230     ParticleIosAssetParam   IOS;
15231 };
15232 IOS IOS;
15233 };
15234 
15235 
15248 struct ParticlesDebugRenderParams
15249 {
15253     Bool                VISUALIZE_HEAT_SOURCE_ACTOR;
15257     Bool                VISUALIZE_EFFECT_PACKAGE_ACTOR;
15258 };
15259 
15260 
15272 struct ParticlesModuleParameters
15273 {
15277     U32                 unused;
15278 };
15279 
15280 
15300 struct RadialForceFieldKernelParams
15301 {
15305     ForceFieldFalloffParams falloffParameters;
15309     ForceFieldNoiseParams   noiseParameters;
15313     F32                 radius;
15314 };
15315 
15316 
15329 struct RandomRotationModifierParams
15330 {
15334     F32                 minRotation;
15338     F32                 maxRotation;
15339 };
15340 
15341 
15354 struct RandomScaleModifierParams
15355 {
15359     F32                 minScaleFactor;
15363     F32                 maxScaleFactor;
15364 };
15365 
15366 
15379 struct RandomSubtextureModifierParams
15380 {
15384     F32                 minSubtexture;
15388     F32                 maxSubtexture;
15389 };
15390 
15391 
15484 struct RenderMeshAssetParameters
15485 {
15489     SubmeshParameters   submeshes[];
15496     String              materialNames[];
15503     Bounds3             partBounds[];
15510     U32                 textureUVOrigin;
15517     U32                 boneCount;
15524     Bool                deleteStaticBuffersAfterUse;
15528     Bool                isReferenced;
15529 };
15530 
15531 
15576 struct RigidBodyEffect
15577 {
15581     String              EffectProperties.UserString;
15585     Bool                EffectProperties.Enable;
15589     F32                 EffectProperties.Position.TranslateX;
15593     F32                 EffectProperties.Position.TranslateY;
15597     F32                 EffectProperties.Position.TranslateZ;
15601     F32                 EffectProperties.Orientation.RotateX;
15605     F32                 EffectProperties.Orientation.RotateY;
15609     F32                 EffectProperties.Orientation.RotateZ;
15613     F32                 EffectProperties.InitialDelayTime;
15617     F32                 EffectProperties.Duration;
15621     U32                 EffectProperties.RepeatCount;
15625     F32                 EffectProperties.RepeatDelay;
15629     F32                 EffectProperties.RandomizeRepeatTime;
15633     PlaybackMode        EffectProperties.Path.PlaybackMode;
15637     F32                 EffectProperties.Path.PathDuration;
15641     U32                 EffectProperties.Path.LoopIndex;
15645     Transform           EffectProperties.Path.ControlPoints[];
15649     F32                 EffectProperties.Path.Scale[].x;
15653     F32                 EffectProperties.Path.Scale[].y;
15657     F32                 EffectProperties.Path.Speed[].x;
15661     F32                 EffectProperties.Path.Speed[].y;
15665     Type                Type;
15669     String              CollisionFilterDataName;
15673     Bool                Dynamic;
15677     Bool                Gravity;
15681     Vec3                Extents;
15685     F32                 Mass;
15689     Vec3                InitialLinearVelocity;
15693     Vec3                InitialAngularVelocity;
15697     F32                 LinearDamping;
15701     F32                 AngularDamping;
15702 };
15703 
15704 
15721 struct RotationModifierParams
15722 {
15726     RollType            rollType;
15730     F32                 maxRotationRatePerSec;
15734     F32                 maxSettleRatePerSec;
15738     F32                 inAirRotationMultiplier;
15742     F32                 collisionRotationMultiplier;
15746     Bool                includeVerticalDirection;
15747 };
15748 
15749 
15761 struct RotationRateModifierParams
15762 {
15766     F32                 rotationRate;
15767 };
15768 
15769 
15783 struct RotationRateVsLifeModifierParams
15784 {
15788     F32                 controlPoints[].x;
15792     F32                 controlPoints[].y;
15793 };
15794 
15795 
15807 struct ScaleAlongVelocityModifierParams
15808 {
15812     F32                 scaleFactor;
15813 };
15814 
15815 
15826 struct ScaleByMassModifierParams
15827 {
15828 };
15829 
15830 
15844 struct ScaleVsCameraDistance2DModifierParams
15845 {
15849     F32                 controlPoints[].cameraDistance;
15853     Vec2                controlPoints[].scale;
15854 };
15855 
15856 
15870 struct ScaleVsCameraDistance3DModifierParams
15871 {
15875     F32                 controlPoints[].cameraDistance;
15879     Vec3                controlPoints[].scale;
15880 };
15881 
15882 
15897 struct ScaleVsCameraDistanceModifierParams
15898 {
15902     ScaleAxis           scaleAxis;
15906     F32                 controlPoints[].x;
15910     F32                 controlPoints[].y;
15911 };
15912 
15913 
15927 struct ScaleVsDensity2DModifierParams
15928 {
15932     F32                 controlPoints[].density;
15936     Vec2                controlPoints[].scale;
15937 };
15938 
15939 
15953 struct ScaleVsDensity3DModifierParams
15954 {
15958     F32                 controlPoints[].density;
15962     Vec3                controlPoints[].scale;
15963 };
15964 
15965 
15980 struct ScaleVsDensityModifierParams
15981 {
15985     ScaleAxis           scaleAxis;
15989     F32                 controlPoints[].x;
15993     F32                 controlPoints[].y;
15994 };
15995 
15996 
16010 struct ScaleVsLife2DModifierParams
16011 {
16015     F32                 controlPoints[].lifeRemaining;
16019     Vec2                controlPoints[].scale;
16020 };
16021 
16022 
16036 struct ScaleVsLife3DModifierParams
16037 {
16041     F32                 controlPoints[].lifeRemaining;
16045     Vec3                controlPoints[].scale;
16046 };
16047 
16048 
16063 struct ScaleVsLifeModifierParams
16064 {
16068     ScaleAxis           scaleAxis;
16072     F32                 controlPoints[].x;
16076     F32                 controlPoints[].y;
16077 };
16078 
16079 
16093 struct ScaleVsTemperature2DModifierParams
16094 {
16098     F32                 controlPoints[].temperature;
16102     Vec2                controlPoints[].scale;
16103 };
16104 
16105 
16119 struct ScaleVsTemperature3DModifierParams
16120 {
16124     F32                 controlPoints[].temperature;
16128     Vec3                controlPoints[].scale;
16129 };
16130 
16131 
16146 struct ScaleVsTemperatureModifierParams
16147 {
16151     ScaleAxis           scaleAxis;
16155     F32                 controlPoints[].x;
16159     F32                 controlPoints[].y;
16160 };
16161 
16162 
16177 struct SimpleParticleSystemParams
16178 {
16185     Bool                GridDensity.Enabled;
16192     Resolution          GridDensity.Resolution;
16199     F32                 GridDensity.GridSize;
16206     U32                 GridDensity.MaxCellCount;
16207 };
16208 
16209 
16221 struct SimpleScaleModifierParams
16222 {
16226     Vec3                scaleFactor;
16227 };
16228 
16229 
16320 struct SpriteIofxParameters
16321 {
16325     Ref                 spriteMaterialName;
16326 union SpawnModifierList {
16330     SimpleScaleModifierParams   spawnModifierList[];
16334     RandomScaleModifierParams   spawnModifierList[];
16338     InitialColorModifierParams  spawnModifierList[];
16342     RandomSubtextureModifierParams  spawnModifierList[];
16346     RandomRotationModifierParams    spawnModifierList[];
16350     ColorVsLifeModifierParams   spawnModifierList[];
16354     ScaleByMassModifierParams   spawnModifierList[];
16355 };
16356 SpawnModifierList   spawnModifierList[];
16357 union ContinuousModifierList {
16361     ColorVsLifeCompositeModifierParams  continuousModifierList[];
16365     ColorVsDensityCompositeModifierParams   continuousModifierList[];
16369     ColorVsTemperatureCompositeModifierParams   continuousModifierList[];
16373     ScaleVsLife2DModifierParams continuousModifierList[];
16377     ScaleVsDensity2DModifierParams  continuousModifierList[];
16381     ScaleVsTemperature2DModifierParams  continuousModifierList[];
16385     ScaleVsCameraDistance2DModifierParams   continuousModifierList[];
16389     SubtextureVsLifeModifierParams  continuousModifierList[];
16393     ViewDirectionSortingModifierParams  continuousModifierList[];
16397     ColorVsLifeModifierParams   continuousModifierList[];
16401     ColorVsDensityModifierParams    continuousModifierList[];
16405     ColorVsTemperatureModifierParams    continuousModifierList[];
16409     ScaleVsLifeModifierParams   continuousModifierList[];
16413     ScaleVsDensityModifierParams    continuousModifierList[];
16417     ScaleVsTemperatureModifierParams    continuousModifierList[];
16421     ScaleVsCameraDistanceModifierParams continuousModifierList[];
16425     RotationRateModifierParams  continuousModifierList[];
16429     RotationRateVsLifeModifierParams    continuousModifierList[];
16433     OrientScaleAlongScreenVelocityModifierParams    continuousModifierList[];
16437     ColorVsVelocityCompositeModifierParams  continuousModifierList[];
16438 };
16439 ContinuousModifierList  continuousModifierList[];
16440 };
16441 
16442 
16526 struct SubmeshParameters
16527 {
16531     VertexBufferParameters  vertexBuffer;
16538     U32                 indexBuffer[];
16545     U32                 vertexPartition[];
16552     U32                 indexPartition[];
16559     U32                 smoothingGroups[];
16560 };
16561 
16562 
16580 struct SubstanceSourceActorParams
16581 {
16585     Mat34               initialPose;
16589     F32                 initialScale;
16593     F32                 averageDensity;
16597     F32                 stdDensity;
16598 union GeometryType {
16602     HeatSourceGeomBoxParams geometryType;
16606     HeatSourceGeomSphereParams  geometryType;
16607 };
16608 GeometryType    geometryType;
16612     String              fieldSamplerFilterDataName;
16613 };
16614 
16615 
16632 struct SubstanceSourceAssetParams
16633 {
16637     Vec3                position;
16641     F32                 averageDensity;
16645     F32                 stdDensity;
16646 union GeometryType {
16650     HeatSourceGeomBoxParams geometryType;
16654     HeatSourceGeomSphereParams  geometryType;
16655 };
16656 GeometryType    geometryType;
16660     String              fieldSamplerFilterDataName;
16661 };
16662 
16663 
16681 struct SubstanceSourceData
16682 {
16686     String              Name;
16690     SubstanceSourceAssetParams  SubstanceSource;
16691 };
16692 
16693 
16729 struct SubstanceSourceEffect
16730 {
16734     String              EffectProperties.UserString;
16738     Bool                EffectProperties.Enable;
16742     F32                 EffectProperties.Position.TranslateX;
16746     F32                 EffectProperties.Position.TranslateY;
16750     F32                 EffectProperties.Position.TranslateZ;
16754     F32                 EffectProperties.Orientation.RotateX;
16758     F32                 EffectProperties.Orientation.RotateY;
16762     F32                 EffectProperties.Orientation.RotateZ;
16766     F32                 EffectProperties.InitialDelayTime;
16770     F32                 EffectProperties.Duration;
16774     U32                 EffectProperties.RepeatCount;
16778     F32                 EffectProperties.RepeatDelay;
16782     F32                 EffectProperties.RandomizeRepeatTime;
16786     PlaybackMode        EffectProperties.Path.PlaybackMode;
16790     F32                 EffectProperties.Path.PathDuration;
16794     U32                 EffectProperties.Path.LoopIndex;
16798     Transform           EffectProperties.Path.ControlPoints[];
16802     F32                 EffectProperties.Path.Scale[].x;
16806     F32                 EffectProperties.Path.Scale[].y;
16810     F32                 EffectProperties.Path.Speed[].x;
16814     F32                 EffectProperties.Path.Speed[].y;
16818     Ref                 SubstanceSource;
16819 };
16820 
16821 
16835 struct SubtextureVsLifeModifierParams
16836 {
16840     F32                 controlPoints[].x;
16844     F32                 controlPoints[].y;
16845 };
16846 
16847 
16915 struct SurfaceBufferParameters
16916 {
16920     U32                 width;
16924     U32                 height;
16928     U32                 surfaceFormat;
16929 union Buffer {
16933     BufferU8x1          buffer;
16937     BufferU8x2          buffer;
16941     BufferU8x3          buffer;
16945     BufferU8x4          buffer;
16949     BufferU16x1         buffer;
16953     BufferU16x2         buffer;
16957     BufferU16x3         buffer;
16961     BufferU16x4         buffer;
16965     BufferU32x1         buffer;
16969     BufferU32x2         buffer;
16973     BufferU32x3         buffer;
16977     BufferU32x4         buffer;
16981     BufferF32x1         buffer;
16985     BufferF32x2         buffer;
16989     BufferF32x3         buffer;
16993     BufferF32x4         buffer;
16994 };
16995 Buffer  buffer;
16996 };
16997 
16998 
17014 struct SurfaceTraceParameters
17015 {
17022     U8                  submeshIndices[];
17029     U32                 vertexIndices[];
17036     Vec3                defaultNormal;
17037 };
17038 
17039 
17057 struct SurfaceTraceSetParameters
17058 {
17062     SurfaceTraceParameters  traces[];
17069     Vec3                positionOffset;
17070 };
17071 
17072 
17093 struct TurbulenceFSActorParams
17094 {
17098     Mat34               initialPose;
17102     F32                 initialScale;
17106     Vec3                gridSizeWorld;
17110     String              collisionFilterDataName;
17114     String              fieldBoundaryFilterDataName;
17118     String              fieldSamplerFilterDataName;
17122     Bool                isAutoSwitchingBC;
17126     F32                 outletPressureBC;
17130     F32                 dragCoeffForRigidBody;
17134     F32                 fluidViscosity;
17135 };
17136 
17137 
17200 struct TurbulenceFSAssetParams
17201 {
17205     Min                 gridXRange.min;
17209     Max                 gridXRange.max;
17213     Min                 gridYRange.min;
17217     Max                 gridYRange.max;
17221     Min                 gridZRange.min;
17225     Max                 gridZRange.max;
17229     Vec3                gridSizeWorld;
17233     F32                 updatesPerFrameRange.min;
17237     F32                 updatesPerFrameRange.max;
17241     F32                 angularVelocityMultiplier;
17245     F32                 angularVelocityClamp;
17249     F32                 linearVelocityMultiplier;
17253     F32                 linearVelocityClamp;
17257     F32                 velocityFieldFadeTime;
17261     F32                 velocityFieldFadeDelay;
17265     F32                 velocityFieldFadeIntensity;
17269     F32                 boundaryFadePercentage;
17273     F32                 boundarySizePercentage;
17277     String              collisionFilterDataName;
17281     String              fieldBoundaryFilterDataName;
17285     String              fieldSamplerFilterDataName;
17289     U32                 maxCollidingObjects;
17293     U32                 maxVelocitySources;
17297     U32                 maxHeatSources;
17301     U32                 maxSubstanceSources;
17305     F32                 dragCoeff;
17309     Vec3                externalVelocity;
17313     F32                 fieldVelocityMultiplier;
17317     F32                 fieldVelocityWeight;
17321     Bool                useHeat;
17325     F32                 heatParams.temperatureBasedForceMultiplier;
17329     F32                 heatParams.ambientTemperature;
17333     Vec3                heatParams.heatForceDirection;
17337     F32                 heatParams.thermalConductivity;
17341     Bool                useDensity;
17345     F32                 densityParams.diffusionCoef;
17349     F32                 densityParams.densityFieldFade;
17353     U32                 densityParams.densityGridMultiplier;
17357     Bool                isEnabledOptimizedLOD;
17361     F32                 customLOD;
17365     F32                 lodWeights.maxDistance;
17369     F32                 lodWeights.distanceWeight;
17373     F32                 lodWeights.bias;
17377     F32                 lodWeights.benefitBias;
17381     F32                 lodWeights.benefitWeight;
17385     F32                 noiseParams.noiseStrength;
17389     Vec3                noiseParams.noiseSpacePeriod;
17393     F32                 noiseParams.noiseTimePeriod;
17397     U32                 noiseParams.noiseOctaves;
17401     F32                 dragCoeffForRigidBody;
17405     F32                 fluidViscosity;
17409     Ref                 volumeRenderMaterialName;
17410 };
17411 
17412 
17449 struct TurbulenceFSDebugRenderParams
17450 {
17454     Bool                VISUALIZE_TURBULENCE_FS_ACTOR;
17458     Bool                VISUALIZE_HEAT_SOURCE_ACTOR;
17462     Bool                VISUALIZE_SUBSTANCE_SOURCE_ACTOR;
17466     Bool                VISUALIZE_VELOCITY_SOURCE_ACTOR;
17470     Bool                VISUALIZE_TURBULENCE_FS_VELOCITY;
17474     Bool                VISUALIZE_TURBULENCE_FS_BBOX;
17478     Bool                VISUALIZE_TURBULENCE_FS_ACTOR_NAME;
17482     Bool                VISUALIZE_TURBULENCE_FS_VELOCITY_FIELD;
17486     F32                 TURBULENCE_FS_VELOCITY_FIELD_SCALE;
17490     U32                 TURBULENCE_FS_VELOCITY_FIELD_SPACING;
17494     Bool                VISUALIZE_TURBULENCE_FS_TEMPERATURE_FIELD;
17498     Bool                VISUALIZE_TURBULENCE_FS_PRESSURE_FIELD;
17502     Bool                VISUALIZE_TURBULENCE_FS_DENSITY_FIELD;
17506     F32                 TURBULENCE_FS_SCALAR_FIELD_SCALE;
17510     U32                 TURBULENCE_FS_SCALAR_FIELD_SPACING;
17514     Bool                VISUALIZE_TURBULENCE_FS_STREAMLINES;
17518     F32                 TURBULENCE_FS_STREAMLINES.tmax;
17522     F32                 TURBULENCE_FS_STREAMLINES.tstep;
17526     Vec3                TURBULENCE_FS_STREAMLINES.grid;
17530     Bool                VISUALIZE_TURBULENCE_FS_PLANE;
17534     Vec3                TURBULENCE_FS_PLANE.normal;
17538     F32                 TURBULENCE_FS_PLANE.offset;
17542     Bool                VISUALIZE_TURBULENCE_FS_GRID;
17546     Bool                VISUALIZE_TURBULENCE_FS_LOD;
17550     Bool                VISUALIZE_TURBULENCE_FS_POSE;
17554     F32                 TURBULENCE_FS_LOD;
17555 };
17556 
17557 
17569 struct TurbulenceFSModuleParameters
17570 {
17574     U32                 unused;
17575 };
17576 
17577 
17595 struct TurbulenceFSPreviewParams
17596 {
17600     Mat44               globalPose;
17604     F32                 iconScale;
17608     Bool                drawIcon;
17612     Bool                drawBox;
17616     Bool                drawGrid;
17620     Bool                drawAssetInfo;
17624     U64                 userData;
17625 };
17626 
17627 
17691 struct TurbulenceFieldSamplerData
17692 {
17696     String              Name;
17700     TurbulenceFSAssetParams TurbulenceFieldSampler;
17701 };
17702 
17703 
17739 struct TurbulenceFieldSamplerEffect
17740 {
17744     String              EffectProperties.UserString;
17748     Bool                EffectProperties.Enable;
17752     F32                 EffectProperties.Position.TranslateX;
17756     F32                 EffectProperties.Position.TranslateY;
17760     F32                 EffectProperties.Position.TranslateZ;
17764     F32                 EffectProperties.Orientation.RotateX;
17768     F32                 EffectProperties.Orientation.RotateY;
17772     F32                 EffectProperties.Orientation.RotateZ;
17776     F32                 EffectProperties.InitialDelayTime;
17780     F32                 EffectProperties.Duration;
17784     U32                 EffectProperties.RepeatCount;
17788     F32                 EffectProperties.RepeatDelay;
17792     F32                 EffectProperties.RandomizeRepeatTime;
17796     PlaybackMode        EffectProperties.Path.PlaybackMode;
17800     F32                 EffectProperties.Path.PathDuration;
17804     U32                 EffectProperties.Path.LoopIndex;
17808     Transform           EffectProperties.Path.ControlPoints[];
17812     F32                 EffectProperties.Path.Scale[].x;
17816     F32                 EffectProperties.Path.Scale[].y;
17820     F32                 EffectProperties.Path.Speed[].x;
17824     F32                 EffectProperties.Path.Speed[].y;
17828     Ref                 TurbulenceFieldSampler;
17829 };
17830 
17831 
17849 struct VelocitySourceActorParams
17850 {
17854     Mat34               initialPose;
17858     F32                 initialScale;
17862     F32                 averageVelocity;
17866     F32                 stdVelocity;
17867 union GeometryType {
17871     HeatSourceGeomBoxParams geometryType;
17875     HeatSourceGeomSphereParams  geometryType;
17876 };
17877 GeometryType    geometryType;
17881     String              fieldSamplerFilterDataName;
17882 };
17883 
17884 
17900 struct VelocitySourceAssetParams
17901 {
17905     F32                 averageVelocity;
17909     F32                 stdVelocity;
17910 union GeometryType {
17914     HeatSourceGeomBoxParams geometryType;
17918     HeatSourceGeomSphereParams  geometryType;
17919 };
17920 GeometryType    geometryType;
17924     String              fieldSamplerFilterDataName;
17925 };
17926 
17927 
17944 struct VelocitySourceData
17945 {
17949     String              Name;
17953     VelocitySourceAssetParams   VelocitySource;
17954 };
17955 
17956 
17992 struct VelocitySourceEffect
17993 {
17997     String              EffectProperties.UserString;
18001     Bool                EffectProperties.Enable;
18005     F32                 EffectProperties.Position.TranslateX;
18009     F32                 EffectProperties.Position.TranslateY;
18013     F32                 EffectProperties.Position.TranslateZ;
18017     F32                 EffectProperties.Orientation.RotateX;
18021     F32                 EffectProperties.Orientation.RotateY;
18025     F32                 EffectProperties.Orientation.RotateZ;
18029     F32                 EffectProperties.InitialDelayTime;
18033     F32                 EffectProperties.Duration;
18037     U32                 EffectProperties.RepeatCount;
18041     F32                 EffectProperties.RepeatDelay;
18045     F32                 EffectProperties.RandomizeRepeatTime;
18049     PlaybackMode        EffectProperties.Path.PlaybackMode;
18053     F32                 EffectProperties.Path.PathDuration;
18057     U32                 EffectProperties.Path.LoopIndex;
18061     Transform           EffectProperties.Path.ControlPoints[];
18065     F32                 EffectProperties.Path.Scale[].x;
18069     F32                 EffectProperties.Path.Scale[].y;
18073     F32                 EffectProperties.Path.Speed[].x;
18077     F32                 EffectProperties.Path.Speed[].y;
18081     Ref                 VelocitySource;
18082 };
18083 
18084 
18097 struct VelocitySourcePreviewParams
18098 {
18102     Mat34               pose;
18106     F32                 scale;
18107 };
18108 
18109 
18185 struct VertexBufferParameters
18186 {
18193     U32                 vertexCount;
18197     VertexFormatParameters  vertexFormat;
18198 union Buffers {
18202     BufferU8x1          buffers[];
18206     BufferU8x2          buffers[];
18210     BufferU8x3          buffers[];
18214     BufferU8x4          buffers[];
18218     BufferU16x1         buffers[];
18222     BufferU16x2         buffers[];
18226     BufferU16x3         buffers[];
18230     BufferU16x4         buffers[];
18234     BufferU32x1         buffers[];
18238     BufferU32x2         buffers[];
18242     BufferU32x3         buffers[];
18246     BufferU32x4         buffers[];
18250     BufferF32x1         buffers[];
18254     BufferF32x2         buffers[];
18258     BufferF32x3         buffers[];
18262     BufferF32x4         buffers[];
18263 };
18264 Buffers buffers[];
18265 };
18266 
18267 
18287 struct VertexFormatParameters
18288 {
18295     U32                 winding;
18302     Bool                hasSeparateBoneBuffer;
18309     String              bufferFormats[].name;
18316     I32                 bufferFormats[].semantic;
18323     U32                 bufferFormats[].id;
18330     U32                 bufferFormats[].format;
18337     U32                 bufferFormats[].access;
18344     Bool                bufferFormats[].serialize;
18345 };
18346 
18347 
18359 struct ViewDirectionSortingModifierParams
18360 {
18364     SortType            sortType;
18365 };
18366 
18367 
18412 struct VolumeRenderMaterialData
18413 {
18417     String              Name;
18421     String              ApplicationMaterialName;
18425     String              UserProperties;
18429     RenderMode          RenderMode;
18433     RenderMethod        RenderMethod;
18437     ResolutionScale     ResolutionScale;
18441     FillMode            FillMode;
18445     Bool                GenerateShadows;
18449     Bool                BlurShadows;
18453     Bool                GenerateMipmaps;
18457     Bool                EnableStencilOpt;
18461     F32                 StepScale;
18465     F32                 Density;
18469     F32                 EdgeFade;
18473     F32                 OpacityThreshold;
18477     F32                 RayJitter;
18481     F32                 IsoValue;
18485     F32                 IsoValueSign;
18489     U32                 ShadowSamples;
18493     F32                 ShadowDistance;
18497     F32                 ShadowDensity;
18501     F32                 ShadowJitter;
18505     F32                 ShadowAmount;
18509     Vec3                LightDir;
18513     Vec4                LightColor;
18517     F32                 BlockEmptyThreshold;
18521     Bool                ReadDepth;
18525     F32                 ColorMapScale;
18529     F32                 ColorMapOffset;
18533     F32                 ColorMap[].density;
18537     Vec4                ColorMap[].color;
18541     F32                 TextureRangeMin;
18545     F32                 TextureRangeMax;
18546 };
18547 
18548 
18563 struct VortexFSActorParams
18564 {
18571     Mat34               initialPose;
18575     F32                 initialScale;
18579     String              fieldBoundaryFilterDataName;
18583     String              fieldSamplerFilterDataName;
18584 };
18585 
18586 
18611 struct VortexFSAssetParams
18612 {
18616     F32                 boundaryFadePercentage;
18620     Vec3                axis;
18624     Bool                bottomSphericalForce;
18628     Bool                topSphericalForce;
18632     F32                 height;
18636     F32                 bottomRadius;
18640     F32                 topRadius;
18644     F32                 rotationalStrength;
18648     F32                 radialStrength;
18652     F32                 liftStrength;
18656     F32                 fieldDragCoeff;
18660     F32                 fieldWeight;
18664     String              fieldBoundaryFilterDataName;
18668     String              fieldSamplerFilterDataName;
18669 };
18670 
18671 
18686 struct VortexFSPreviewParams
18687 {
18691     Mat44               globalPose;
18695     Bool                drawShape;
18699     Bool                drawAssetInfo;
18703     U64                 userData;
18704 };
18705 
18706 
18732 struct VortexFieldSamplerData
18733 {
18737     String              Name;
18741     VortexFSAssetParams VortexFieldSampler;
18742 };
18743 
18744 
18780 struct VortexFieldSamplerEffect
18781 {
18785     String              EffectProperties.UserString;
18789     Bool                EffectProperties.Enable;
18793     F32                 EffectProperties.Position.TranslateX;
18797     F32                 EffectProperties.Position.TranslateY;
18801     F32                 EffectProperties.Position.TranslateZ;
18805     F32                 EffectProperties.Orientation.RotateX;
18809     F32                 EffectProperties.Orientation.RotateY;
18813     F32                 EffectProperties.Orientation.RotateZ;
18817     F32                 EffectProperties.InitialDelayTime;
18821     F32                 EffectProperties.Duration;
18825     U32                 EffectProperties.RepeatCount;
18829     F32                 EffectProperties.RepeatDelay;
18833     F32                 EffectProperties.RandomizeRepeatTime;
18837     PlaybackMode        EffectProperties.Path.PlaybackMode;
18841     F32                 EffectProperties.Path.PathDuration;
18845     U32                 EffectProperties.Path.LoopIndex;
18849     Transform           EffectProperties.Path.ControlPoints[];
18853     F32                 EffectProperties.Path.Scale[].x;
18857     F32                 EffectProperties.Path.Scale[].y;
18861     F32                 EffectProperties.Path.Speed[].x;
18865     F32                 EffectProperties.Path.Speed[].y;
18869     Ref                 VortexFieldSampler;
18870 };
18871 
18872 
18887 struct WindFSActorParams
18888 {
18895     Mat34               initialPose;
18899     F32                 initialScale;
18903     String              fieldBoundaryFilterDataName;
18907     String              fieldSamplerFilterDataName;
18908 };
18909 
18910 
18931 struct WindFSAssetParams
18932 {
18936     Vec3                fieldDirection;
18943     F32                 fieldDirectionDeviationAngle;
18950     F32                 fieldDirectionOscillationPeriod;
18954     F32                 fieldStrength;
18961     F32                 fieldStrengthDeviationPercentage;
18968     F32                 fieldStrengthOscillationPeriod;
18972     F32                 fieldDragCoeff;
18976     F32                 fieldWeight;
18980     String              fieldBoundaryFilterDataName;
18984     String              fieldSamplerFilterDataName;
18985 };
18986 
18987 
19001 struct WindFSPreviewParams
19002 {
19006     Mat44               globalPose;
19010     Bool                drawAssetInfo;
19014     U64                 userData;
19015 };
19016 
19017 
19039 struct WindFieldSamplerData
19040 {
19044     String              Name;
19048     WindFSAssetParams   WindFieldSampler;
19049 };
19050 
19051 
19087 struct WindFieldSamplerEffect
19088 {
19092     String              EffectProperties.UserString;
19096     Bool                EffectProperties.Enable;
19100     F32                 EffectProperties.Position.TranslateX;
19104     F32                 EffectProperties.Position.TranslateY;
19108     F32                 EffectProperties.Position.TranslateZ;
19112     F32                 EffectProperties.Orientation.RotateX;
19116     F32                 EffectProperties.Orientation.RotateY;
19120     F32                 EffectProperties.Orientation.RotateZ;
19124     F32                 EffectProperties.InitialDelayTime;
19128     F32                 EffectProperties.Duration;
19132     U32                 EffectProperties.RepeatCount;
19136     F32                 EffectProperties.RepeatDelay;
19140     F32                 EffectProperties.RandomizeRepeatTime;
19144     PlaybackMode        EffectProperties.Path.PlaybackMode;
19148     F32                 EffectProperties.Path.PathDuration;
19152     U32                 EffectProperties.Path.LoopIndex;
19156     Transform           EffectProperties.Path.ControlPoints[];
19160     F32                 EffectProperties.Path.Scale[].x;
19164     F32                 EffectProperties.Path.Scale[].y;
19168     F32                 EffectProperties.Path.Speed[].x;
19172     F32                 EffectProperties.Path.Speed[].y;
19176     Ref                 WindFieldSampler;
19177 };
19178 
19179 
19180 
19181 #endif

Generated on Tue Aug 1 2017 22:44:37

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