GLSL compute kernels for the GPU surface-flow solver. 更多...
命名空间 | |
| namespace | detail |
类 | |
| struct | AirborneDroplet |
| Persistent world-space droplet after it has detached from a surface. 更多... | |
| struct | DetachedDroplet |
| Droplet converted from a surface-bound state to a free world-space state. 更多... | |
| struct | FluidParams |
| Tuning knobs of one fluid simulation. 更多... | |
| struct | FluidParticle |
| One simulated particle (CPU reference layout). 更多... | |
| struct | FluidRendererSettings |
| Complete owning mirror of Fluid3DRendererSettings with package defaults. 更多... | |
| class | Fluids |
| Fluids module — factory + script binding. 更多... | |
| class | FluidSimulation |
| CPU reference surface-flow solver. 更多... | |
| class | FluidSimulationAdapter |
| Adapter exposing the existing CPU FluidSimulation through the contract. 更多... | |
| class | FluidSimulator |
| GPU-backed surface fluid simulator (falls back to the CPU solver). 更多... | |
| class | FluidSurfaceBinding |
| Dynamic triangle surface used to bind films and droplets to deforming meshes. 更多... | |
| class | FluidSurfaceConstraintAdapter |
| Adapter exposing existing FluidSurfaceBinding operations as checked results. 更多... | |
| struct | FluidSurfaceParams |
| Camera + reconstruction tuning for the SSF pipeline. 更多... | |
| class | FluidSurfaceRenderer |
| Buffer-level screen-space fluid renderer. 更多... | |
| class | IScreenSpaceSurfaceReconstruction |
| Presentation contract for screen-space surface reconstruction. 更多... | |
| class | ISurfaceConstraint |
| Backend-neutral contract for mesh-surface binding and traversal. 更多... | |
| class | ISurfaceFluidSimulation |
| Backend-neutral contract for advancing a surface-fluid solver. 更多... | |
| class | MeshSdf |
| Uniform signed-distance voxel field over a box. 更多... | |
| struct | MeshSdfSample |
| One trilinear SDF sample and its local-space analytic gradient. 更多... | |
| class | ScreenSpaceSurfaceReconstructionAdapter |
| Minimal SSF adapter over the existing CPU/GPU FluidSurfaceRenderer. 更多... | |
| struct | SimGrid |
| Uniform grid used for neighbor queries. 更多... | |
| struct | SurfaceDroplet |
| One droplet addressed in material space on a dynamic triangle surface. 更多... | |
| struct | SurfaceDropletParams |
| Material and integration parameters for surface-bound droplets. 更多... | |
| struct | SurfaceDropletRenderInstance |
| World-space oriented cap instance consumed by droplet instancing shaders. 更多... | |
| class | SurfaceDropletSimulation |
| CPU reference solver for droplets moving over static, rigid or deforming surfaces. 更多... | |
| class | SurfaceFluidRenderData |
| Builds renderer-independent droplet instances and wet PBR parameters. 更多... | |
| struct | SurfaceFluidRenderParams |
| Tuning for converting simulated droplets into render instances. 更多... | |
| class | SurfaceFluidSceneRenderer |
| Draws surface-droplet cap instances through the engine 3D backend. 更多... | |
| struct | SurfaceLocation |
| Stable material-space address of a point on a triangle surface. 更多... | |
| struct | SurfaceSample |
| Evaluated world-space frame and motion at a surface location. 更多... | |
| struct | SurfaceWalkResult |
| Result of walking a material point across triangle adjacency. 更多... | |
| class | SurfaceWetnessField |
| Lightweight material-space wet-film field stored at mesh vertices. 更多... | |
| struct | SurfaceWetnessParams |
| Parameters controlling persistent wet-film traces on a triangle surface. 更多... | |
| class | VolumeFluid |
| CPU position-based free-volume fluid with a bounded spatial grid. @ownership Owns all particle state; no external objects or callbacks are retained. @thread All methods are simulation-thread affine; concurrent access is forbidden. @reentrancy No callbacks are invoked. Renderers consume copied particle positions. 更多... | |
| struct | VolumeFluidAttachment |
| Owned local anchor for a contact-frozen particle; indices refer to its snapshot particle array. 更多... | |
| struct | VolumeFluidAttachmentReaction |
| Opposite impulse produced by a prescribed solid-particle attachment constraint. 更多... | |
| struct | VolumeFluidCollider |
| Owned obstacle sample; the caller updates moving obstacles before stepping. 更多... | |
| struct | VolumeFluidColorKey |
| One strictly ordered [0,1] coordinate and linear RGBA gradient color. 更多... | |
| struct | VolumeFluidContact |
| Owned contact event; opposite impulse can be applied to the caller's rigid body. 更多... | |
| struct | VolumeFluidContactEvent |
| Owning deduplicated actor/collider contact lifecycle event. 更多... | |
| class | VolumeFluidContactTracker |
| Explicit bounded contact lifecycle tracker; owns no solver reference. 更多... | |
| class | VolumeFluidCoupling |
| Process-local generation-checked bridge between fluid samples and rigid bodies. @ownership Owns local collider descriptions and typed physics links, never world/body/solver pointers. @thread Simulation-thread affine; no callbacks, concurrent mutation or reentrancy. 更多... | |
| class | VolumeFluidDiffuse |
| Bounded, one-way fluid-advected secondary particle pool. @ownership Owns particles and capacity; no fluid/world pointers are retained. @thread Simulation-thread only, including snapshots; no concurrent calls. @reentrancy Invokes no callbacks. Advance borrows its fluid only for that call. 更多... | |
| struct | VolumeFluidDiffuseParticle |
| Owned secondary particle; it contributes no mass or pressure to the liquid solver. 更多... | |
| struct | VolumeFluidDiffuseSnapshot |
| Strict version-1 diffuse pool state; unknown fields and versions are rejected. 更多... | |
| struct | VolumeFluidDistanceHit |
| Owning signed surface-distance result for a native query shape. 更多... | |
| struct | VolumeFluidDistributionPoint |
| Owned precomputed local emission sample, including shape-specific color. 更多... | |
| struct | VolumeFluidEmission |
| Value-owned emission description; +Z is mapped to direction. 更多... | |
| class | VolumeFluidEmitter |
| Bounded runtime stream controller with explicit snapshot/restore. 更多... | |
| struct | VolumeFluidEmitterBlueprint3D |
| Owning Fluid3DEmitterBlueprint values used to prepare a native 3D emitter. 更多... | |
| struct | VolumeFluidEmitterBlueprintApplication3D |
| Fully owned native setup prepared from one Fluid3D-emitter blueprint. 更多... | |
| struct | VolumeFluidEmitterBlueprintMetrics |
| Exact 3D metrics derived by Fluid3DEmitterBlueprintBase from resolution and density. 更多... | |
| struct | VolumeFluidEmitterCheckpoint |
| Version-1 owning atomic checkpoint for a solver, emission description and controller. 更多... | |
| struct | VolumeFluidEmitterSnapshot |
| Version-1 owning state for rate (kind 0) or jet (kind 1) controllers. 更多... | |
| struct | VolumeFluidFieldSample |
| Owned liquid/gas field sample for diffuse-particle emission and advection. 更多... | |
| class | VolumeFluidFoam |
| Generates secondary particles at high-curl, low-density fluid source positions. @ownership Owns settings, credit and RNG only; neither source nor pool is retained. @thread Simulation-thread affine, including snapshot/restore; no concurrent calls. @reentrancy No callbacks or script invocation. No global time or RNG access. 更多... | |
| struct | VolumeFluidFoamSettings |
| Foam source thresholds in the native sampled field, plus bounded emission settings. 更多... | |
| struct | VolumeFluidFoamSnapshot |
| Owning strict version-1 foam controller state; checkpoint the diffuse pool separately. 更多... | |
| struct | VolumeFluidGridCell |
| Owning occupied-cell sample for Fluid3DParticleGridDebugger-style visualization. 更多... | |
| struct | VolumeFluidHeightFieldCollider |
| Owned regular-grid terrain collider matching Fluid3D height-field sample layout. 更多... | |
| class | VolumeFluidJetEmitter |
| Spacing-driven planar/distribution jet controller with independent, owned stream phase. 更多... | |
| struct | VolumeFluidMassProperties |
| Owning mass summary for one Fluid3D-compatible actor group. 更多... | |
| struct | VolumeFluidMaterial |
| Per-particle material, copied at emission; densities enable multiphase buoyancy. 更多... | |
| struct | VolumeFluidNozzlePose |
| Owning world-space nozzle pose; rotation is a unit quaternion in XYZW order. 更多... | |
| struct | VolumeFluidParticle |
| Owning particle value with world position and velocity in SI units. 更多... | |
| struct | VolumeFluidParticleEvent |
| Owning particle lifecycle event captured before the dense pool changes again. 更多... | |
| struct | VolumeFluidParticleEventBatch |
| Owning result of one explicit particle lifecycle-event drain. 更多... | |
| struct | VolumeFluidParticleFrame |
| Owning local-axis sample for DebugParticleFrames-style visualization. 更多... | |
| struct | VolumeFluidParticleInstance |
| One owning mesh-instance transform/color row for Fluid3DInstancedParticleRenderer-style presentation. 更多... | |
| struct | VolumeFluidQueryHit |
| Owning result from one entry in a mixed query batch. 更多... | |
| struct | VolumeFluidQueryShape |
| Owning transient query description compatible with Fluid3D QueryShape semantics. 更多... | |
| struct | VolumeFluidRayHit |
| Owning ray hit against one native oriented-ellipsoid volume-fluid particle. 更多... | |
| struct | VolumeFluidSdfCollider |
| Owned sampled mesh/SDF collider with a uniform world transform. 更多... | |
| struct | VolumeFluidSdfPose |
| Transient transform update for one owned SDF collider, identified by stable label. 更多... | |
| struct | VolumeFluidSdfSlice |
| Owning normalized SDF slice plus its world-space sample lattice. 更多... | |
| struct | VolumeFluidSettings |
| Meter-space (+Y up) volume-fluid material and solver policy. 更多... | |
| class | VolumeFluidShadowCaster |
| One-draw particle shadow caster matching Fluid3D ShadowmapExposer behavior. @ownership Borrows Graphics for its lifetime and owns one Graphics-managed dynamic mesh. @thread Construction, update and destruction are render-thread affine. @reentrancy Invokes no script callbacks; destruction must occur outside shadow traversal. 更多... | |
| struct | VolumeFluidSimplex |
| A point, edge or triangle over snapshot-local particle indices. 更多... | |
| struct | VolumeFluidSimplexHit |
| Owning Fluid3D-compatible nearest result for one simplex and query pair. 更多... | |
| struct | VolumeFluidSnapshot |
| Canonical version-20 owning state; older codecs migrate collider, attachment, stitch, filter, group, material, shape, topology, height-field, trigger and collision-material fields. 更多... | |
| struct | VolumeFluidStitch |
| One Fluid3DStitcher-compatible zero-distance particle-pair constraint. 更多... | |
| struct | VolumeFluidThermalRule |
| One-step contact transfer into user channels x/y; negative rate heats, positive cools. 更多... | |
| struct | VolumeFluidViscosityColorKey |
| Transient linear RGBA gradient key at an absolute material viscosity. 更多... | |
| struct | VolumeFluidWindZone |
| Owning description of one transient ambient or spherical wind zone. 更多... | |
| struct | VolumeGranularEmitterBlueprint3D |
| Owning Fluid3DGranularEmitterBlueprint values used to prepare a native 3D emitter. 更多... | |
| struct | WetSurfaceMaterialParams |
| Material mapping from simulated wetness to a PBR surface response. 更多... | |
| struct | WetSurfaceMaterialSample |
| Evaluated material values suitable for a wet-surface shader. 更多... | |
枚举 | |
| enum class | FluidBlendFactor : int { Zero = 0 , One = 1 , DestinationColor = 2 , SourceColor = 3 , OneMinusDestinationColor = 4 , SourceAlpha = 5 , OneMinusSourceColor = 6 , DestinationAlpha = 7 , OneMinusDestinationAlpha = 8 , SourceAlphaSaturate = 9 , OneMinusSourceAlpha = 10 } |
| Unity/Fluid3D blend factors used by fluid render settings. 更多... | |
| enum class | VolumeFluidPhase : uint8_t { Liquid , Gas , Granular , Solid } |
| Constitutive phase; solids are world-fixed or follow their owned collider attachment. 更多... | |
| enum class | VolumeFluidMaterialCombineMode : uint8_t { Average = 0 , Minimum = 1 , Multiply = 2 , Maximum = 3 } |
| Fluid3D collision-material coefficient combination, with package integer values. 更多... | |
| enum class | VolumeFluidWindZoneType { Ambient , Spherical } |
| Shape used by a transient Fluid3D-style wind force zone. 更多... | |
| enum class | VolumeFluidColliderShape { Sphere , Box , Capsule } |
| Analytic obstacle geometry. 更多... | |
| enum class | VolumeFluidSdfSliceAxis { X = 0 , Y = 1 , Z = 2 } |
| Local axis normal used by an explicit SDF diagnostic slice. 更多... | |
| enum class | VolumeFluidContactEventType : uint8_t { Enter , Stay , Exit } |
| Contact lifecycle classification matching Fluid3DContactEventDispatcher. 更多... | |
| enum class | VolumeFluidParticleEventType : uint8_t { Emitted , Killed } |
| Lifecycle kind matching Fluid3DEmitter OnEmitParticle/OnKillParticle. 更多... | |
| enum class | VolumeFluidQueryType : unsigned { Sphere = 0 , Box = 1 , Ray = 2 } |
| Shape kind for one bounded batched particle query. 更多... | |
| enum class | VolumeFluidEmissionShape { Edge , Square , Disk , Sphere , Cube , Distribution } |
| Local nozzle domain; disk/square lie in XY, edge lies on X. 更多... | |
函数 | |
| float | fluidPoly6 (float r2, float h) |
| Poly6 kernel value W(r2, h). | |
| glm::vec3 | fluidSpikyGrad (const glm::vec3 &dx, float h) |
| Spiky gradient of the kernel w.r.t. particle i position. | |
| float | fluidViscLaplacian (float r, float h) |
| Viscosity Laplacian kernel value. | |
| float | fluidCohesionKernel (float r, float h) |
| Akinci-style cohesion kernel C(r) for droplet surface tension. | |
| glm::vec3 | fluidClampSpeed (const glm::vec3 &v, float maxSpeed) |
| Clamp a vector's magnitude to maxSpeed. | |
| Module_IMPL (Fluids, new Fluids()) | |
| void | exposeVolumeFluidType (ssq::Table &table) |
| Registers the script-owned volume-fluid class on the VM thread. | |
| void | exposeVolumeFluidFactory (ssq::Class &cls) |
| Registers volume-fluid factories on the existing Fluids class. | |
| Value | encodeFluidRendererSettings (const FluidRendererSettings &settings) |
| Projects one complete Fluid3D-renderer settings value. | |
| Result< FluidRendererSettings > | decodeFluidRendererSettings (const Value &value) |
| Strictly decodes one complete owning Fluid3D-renderer settings value. | |
| Value | encodeVolumeFluid (const VolumeFluidSnapshot &snapshot) |
| Canonical schema-17 value projection, shared by JSON, scripts and authoring. | |
| Value | encodeVolumeFluidFoam (const VolumeFluidFoamSnapshot &snapshot) |
| Projects owning schema-1 foam settings, credit text and RNG state. | |
| Result< VolumeFluidFoamSnapshot > | decodeVolumeFluidFoam (const Value &value) |
| Strict decode with atomic-controller validation; rejects unknown fields and versions. | |
| Value | encodeVolumeFluidDiffuse (const VolumeFluidDiffuseSnapshot &snapshot) |
| Projects the owning version-1 secondary particle pool state. | |
| Result< VolumeFluidDiffuseSnapshot > | decodeVolumeFluidDiffuse (const Value &value) |
| Strict bounded decode; validates the entire pool before returning owning state. | |
| Result< std::vector< VolumeFluidDiffuseParticle > > | decodeVolumeFluidDiffuseParticles (const Value &value) |
| Strict transient batch decode of at most 65536 particles; emit validates domains. | |
| Value | encodeVolumeFluidFieldSamples (const std::vector< VolumeFluidFieldSample > &samples) |
| Projects owning field samples, preserving query order. | |
| Value | encodeVolumeFluidRayHits (const std::vector< VolumeFluidRayHit > &hits) |
| Projects owning ray hits including captured particle values. | |
| Value | encodeVolumeFluidDistanceHits (const std::vector< VolumeFluidDistanceHit > &hits) |
| Projects owning signed-distance hits including captured particle values. | |
| Value | encodeVolumeFluidQueryHits (const std::vector< VolumeFluidQueryHit > &hits) |
| Projects owning mixed-query hits with their source query indices. | |
| Value | encodeVolumeFluidSimplexHits (const std::vector< VolumeFluidSimplexHit > &hits) |
| Projects owning Fluid3D-compatible simplex query results. | |
| Result< std::vector< VolumeFluidSimplex > > | decodeVolumeFluidSimplexes (const Value &value) |
| Strict owning decode of at most 65536 point, edge or triangle topology entries. | |
| Result< std::vector< VolumeFluidStitch > > | decodeVolumeFluidStitches (const Value &value) |
| Strict owning decode of at most 65536 Fluid3DStitcher particle pairs. | |
| Result< std::vector< VolumeFluidQueryShape > > | decodeVolumeFluidQueries (const Value &value) |
| Strict owning decode of at most 256 transient mixed query descriptions. | |
| Result< std::vector< glm::vec4 > > | decodeVolumeFluidColors (const Value &value) |
| Strict owning decode of at most 256 transient linear RGBA colors. | |
| Result< std::vector< glm::vec3 > > | decodeVolumeFluidFieldPositions (const Value &value) |
| Strict owning decode of up to 65536 transient world-space field query positions. | |
| Result< std::vector< VolumeFluidWindZone > > | decodeVolumeFluidWindZones (const Value &value) |
| Strict owning decode of at most 64 transient Fluid3D-style wind zones. | |
| Value | encodeVolumeFluidCollider (const VolumeFluidCollider &collider) |
| Projects an owning collider description for script construction. | |
| Value | encodeVolumeFluidSdfCollider (const VolumeFluidSdfCollider &collider) |
| Projects one complete owning SDF collider. | |
| Value | encodeVolumeFluidHeightFieldCollider (const VolumeFluidHeightFieldCollider &collider) |
| Projects one complete owning regular height field. | |
| Value | encodeVolumeFluidSdfPose (const VolumeFluidSdfPose &pose) |
| Projects one transform-only SDF update for script construction. | |
| Result< std::vector< VolumeFluidSdfPose > > | decodeVolumeFluidSdfPoses (const Value &value) |
| Strict transient decode of at most 16 SDF transform-only updates. | |
| Result< std::vector< VolumeFluidSdfCollider > > | decodeVolumeFluidSdfColliders (const Value &value) |
| Strict owning decode of at most 16 sampled SDF colliders. | |
| Result< std::vector< VolumeFluidHeightFieldCollider > > | decodeVolumeFluidHeightFieldColliders (const Value &value) |
| Strict owning decode of at most 16 regular sampled height fields. | |
| Value | encodeVolumeFluidWindZone (const VolumeFluidWindZone &zone) |
| Projects one complete wind-zone description for script construction. | |
| Value | encodeVolumeFluidContacts (const std::vector< VolumeFluidContact > &contacts) |
| Projects last-step contacts, including world-space point and opposite impulse. | |
| Value | encodeVolumeFluidContactEvents (const std::vector< VolumeFluidContactEvent > &events) |
| Projects owning Enter/Stay/Exit contact lifecycle events. | |
| Value | encodeVolumeFluidThermalRule (const VolumeFluidThermalRule &rule) |
| Owning default-rule projection for script construction. | |
| Result< std::vector< VolumeFluidViscosityColorKey > > | decodeVolumeFluidViscosityColors (const Value &value) |
| Strict owning decode of at most 32 transient viscosity color keys; application validates domains. | |
| Result< std::vector< VolumeFluidColorKey > > | decodeVolumeFluidColorGradient (const Value &value) |
| Strict owning decode of a 2..32-key normalized linear RGBA gradient. | |
| Result< std::vector< VolumeFluidThermalRule > > | decodeVolumeFluidThermalRules (const Value &value) |
| Strict owning decode of at most 1024 transient thermal rules; step validates domains. | |
| Value | encodeVolumeFluidParticles (const std::vector< VolumeFluidParticle > &particles) |
| Projects an owning particle batch without copying the live solver. | |
| Value | encodeVolumeFluidParticleEvents (const VolumeFluidParticleEventBatch &batch) |
| Projects one owning bounded particle lifecycle-event drain. | |
| Result< VolumeFluidMaterial > | decodeVolumeFluidMaterial (const Value &value) |
| Strict transient material decode; paint validates numeric domains before mutation. | |
| Value | encodeVolumeFluidEmitterBlueprint3D (const VolumeFluidEmitterBlueprint3D &blueprint) |
| Projects default or caller-prepared Fluid3D-emitter blueprint values. | |
| Result< VolumeFluidEmitterBlueprint3D > | decodeVolumeFluidEmitterBlueprint3D (const Value &value) |
| Strictly decodes one owning Fluid3D-emitter blueprint value. | |
| Value | encodeVolumeGranularEmitterBlueprint3D (const VolumeGranularEmitterBlueprint3D &blueprint) |
| Projects default or caller-prepared Fluid3D granular-emitter blueprint values. | |
| Result< VolumeGranularEmitterBlueprint3D > | decodeVolumeGranularEmitterBlueprint3D (const Value &value) |
| Strictly decodes one owning Fluid3D granular-emitter blueprint value. | |
| Value | encodeVolumeFluidEmitterBlueprintApplication3D (const VolumeFluidEmitterBlueprintApplication3D &application) |
| Projects the complete native solver/emission setup produced from a blueprint. | |
| Result< std::vector< VolumeFluidCollider > > | decodeVolumeFluidColliders (const Value &value) |
| Strict transient collider batch decode; setColliders validates geometry atomically. | |
| Result< VolumeFluidNozzlePose > | decodeVolumeFluidNozzlePose (const Value &value) |
| Strict transient pose-argument decode; advanceMoving validates the unit quaternion. | |
| Value | encodeVolumeFluidEmitterState (const VolumeFluidEmitterSnapshot &state) |
| Encodes controller state without converting phase text to VM floating point. | |
| Result< VolumeFluidEmitterSnapshot > | decodeVolumeFluidEmitterState (const Value &value) |
| Strict version-1 controller-state decode; unsupported fields, kinds and phase values fail. | |
| Result< std::vector< VolumeFluidParticle > > | decodeVolumeFluidParticles (const Value &value) |
| Decodes an owning emission batch without serializing the live solver; admission validates domains. | |
| Value | encodeVolumeFluidEmitterCheckpoint (const VolumeFluidEmitterCheckpoint &checkpoint) |
| Encodes one version-1 solver/emission/controller checkpoint. | |
| Result< VolumeFluidEmitterCheckpoint > | decodeVolumeFluidEmitterCheckpoint (const Value &value) |
| Strictly decodes and validates all owning checkpoint members without publishing state. | |
| Value | encodeVolumeFluidEmission (const VolumeFluidEmission &emission) |
| Encodes a version-9 emission description including precomputed points and particle state. | |
| Result< VolumeFluidEmission > | decodeVolumeFluidEmission (const Value &value) |
| Strict structural decode; nozzle/material domain validation occurs atomically at emission. | |
| EVENGINE_API_DOMAINS Result< VolumeFluidSnapshot > | decodeVolumeFluid (const Value &value) |
| Strict owning decode; unknown/missing fields, unsupported versions and invalid state are rejected. | |
| Result< VolumeFluidEmitterBlueprintMetrics > | evaluateVolumeFluidEmitterBlueprint3D (float resolution, float restDensity, float smoothing) |
| Evaluates Fluid3DEmitterBlueprintBase/Fluid3DEmitterBlueprint formulas in 3D. | |
| Result< VolumeFluidEmitterBlueprintApplication3D > | prepareVolumeFluidEmitterBlueprint3D (const VolumeFluidEmitterBlueprint3D &blueprint) |
| Atomically maps every Fluid3DEmitterBlueprint field to native 3D setup values. | |
| Result< VolumeFluidEmitterBlueprintApplication3D > | prepareVolumeGranularEmitterBlueprint3D (const VolumeGranularEmitterBlueprint3D &blueprint) |
| Atomically maps an Fluid3DGranularEmitterBlueprint to owned native 3D setup values. | |
| Result< unsigned > | emitVolumeFluidBurst (VolumeFluid &solver, const VolumeFluidEmission &emission, unsigned count) |
| Generates at most 4096 particles and admits the entire burst atomically. | |
| Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidSphereDistribution (float radius, float spacing, bool surface) |
| Builds an Fluid3D-compatible spherical surface or volume lattice during setup. | |
| Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidCubeDistribution (glm::vec3 size, float spacing, bool surface) |
| Builds an Fluid3D-compatible box surface or volume lattice during setup. | |
| Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidEdgeDistribution (float length, float spacing, float radialVelocityDegrees) |
| Builds Fluid3D's edge lattice with per-sample radial velocity directions. | |
| Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidDiskDistribution (float radius, float spacing, bool edgeEmission) |
| Builds Fluid3D's concentric disk or circumference-only distribution. | |
| Result< VolumeFluidEmission > | composeVolumeFluidEmitterShapes (const VolumeFluidEmission &base, std::span< const VolumeFluidEmission > shapes) |
| Builds one emitter distribution from an ordered set of Fluid3D emitter shapes. | |
| Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidImageDistribution (std::span< const glm::vec4 > pixels, unsigned width, unsigned height, float pixelScale, float maximumSize, float spacing, float alphaThreshold) |
| Precomputes a bilinear alpha-masked image distribution on a spacing lattice. | |
| VolumeFluidEmitterCheckpoint | captureVolumeFluidEmitterCheckpoint (const VolumeFluid &solver, const VolumeFluidEmission &emission, const VolumeFluidEmitter &controller) |
| Captures one completed-step rate-emitter checkpoint without retaining references. | |
| VolumeFluidEmitterCheckpoint | captureVolumeFluidEmitterCheckpoint (const VolumeFluid &solver, const VolumeFluidEmission &emission, const VolumeFluidJetEmitter &controller) |
| Captures one completed-step moving-jet checkpoint without retaining references. | |
| Result< void > | restoreVolumeFluidEmitterCheckpoint (VolumeFluid &solver, VolumeFluidEmitter &controller, const VolumeFluidEmitterCheckpoint &checkpoint) |
| Atomically restores solver and rate controller after validating the complete owning candidate. | |
| Result< void > | restoreVolumeFluidEmitterCheckpoint (VolumeFluid &solver, VolumeFluidJetEmitter &controller, const VolumeFluidEmitterCheckpoint &checkpoint) |
| Atomically restores solver and moving-jet controller under the same checkpoint contract. | |
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > | buildVolumeFluidMeshDistribution (std::span< const glm::vec3 > vertices, std::span< const uint32_t > indices, glm::vec3 scale, float spacing) |
| Voxelizes indexed triangles, returning surface and enclosed interior cell centers. | |
变量 | |
| const char * | kFluidClearGrid |
| Zero the linked-list cell heads. | |
| const char * | kFluidBuildGrid |
| Insert every particle into its grid cell (linked list via atomicExchange). | |
| const char * | kFluidDensityLambda |
| Density, gradient sum and PBF lambda in one pass (mirror computeDensitiesAndGrads + computeLambdas). | |
| const char * | kFluidComputeDelta |
| Accumulate PBF position deltas into the (reused) grad buffer. | |
| const char * | kFluidApplyDelta |
| Apply PBF deltas and re-project onto the SDF surface. | |
| const char * | kFluidIntegrate |
| Viscosity + cohesion + adhesion + gravity + integration + SDF projection. | |
| const char * | kSsfClear |
| Reset depth (0xFFFFFFFF), thickness, normal and color buffers. | |
| const char * | kSsfSplat |
| Splat particles into depth + thickness (atomic min / add). | |
| const char * | kSsfColorClear |
| Clear lazily-created fixed-point multicolor accumulation buffers. @lifetime The returned pointer remains valid for the process lifetime. | |
| const char * | kSsfColorSplat |
| Accumulate isotropic particle colors using the CPU tint pass' disc weights. @lifetime The returned pointer remains valid for the process lifetime. | |
| constexpr auto | kSsfAnisotropicSplat |
| const char * | kSsfSmooth |
| One bilateral smoothing pass (read depthA, write depthB). | |
| const char * | kSsfNormal |
| Reconstruct view-space normals from the smoothed depth. | |
| const char * | kSsfShade |
| Water/mud shading from depth + normal + thickness. | |
详细描述
GLSL compute kernels for the GPU surface-flow solver.
GLSL compute kernels for screen-space fluid surface reconstruction.
CPU reference fluid solver for surface flows.
Voxelized signed distance field (SDF) of a solid surface.
Core math shared by the CPU reference solver and the GLSL kernels.
The kernels mirror FluidSimulation.cpp 1:1. Push-constant layout (float[32]):
[0] count [1] dt [2] particleRadius [3] supportRadius h [4] restDensity [5] gravityX [6] gravityY [7] gravityZ [8] viscosity [9] yieldStress (Phase 3) [10] cohesion [11] adhesion [12] damping [13] maxVelocity [14] gridResX [15] gridResY [16] gridResZ [17] gridOriginX [18] gridOriginY [19] gridOriginZ [20] gridCellSize [21] sdfResX [22] sdfResY [23] sdfResZ [24] sdfOriginX [25] sdfOriginY [26] sdfOriginZ [27] sdfCellSize [28] iterations [29] mode (0 water, 1 mud) [30] time [31] pbfIterations
Buffer bindings: 0 pos(vec4) 1 vel(vec4) 2 cellHead(int) 3 cellNext(int) 4 densities(float) 5 sdf(float) 6 lambdas(float) 7 gradSums/deltas(vec4)
FluidMath holds the SPH kernel functions (poly6 / spiky gradient / viscosity Laplacian), the tuning parameters and the particle layout used by both the reference implementation in FluidSimulation and the GPU kernels in FluidGpuKernels. Keep the two in step: every formula here is mirrored 1:1 in GLSL, and the push-constant layout is documented in FluidGpuKernels.h.
The mesh is baked into a uniform 3D grid once at setup; particles then query distance + gradient per frame in the GPU kernels (trilinear interpolation, central differences) to stay glued to the surface while gravity pushes them tangentially along it. Positive distance = outside the solid.
This is the executable spec for the GPU kernels in FluidGpuKernels: uniform grid neighbor search, SPH density, PBF density constraints, XSPH viscosity, Akinci-style cohesion/adhesion, gravity, surface projection through the mesh SDF and velocity decomposition. Tests exercise it numerically; the GLSL kernels mirror it 1:1.
Pipeline (mirrors FluidSurfaceRenderer.cpp): clear -> splat (particles to depth+thickness) -> smooth (bilateral, ping-pong) -> normals (depth gradients) -> shade (water or mud).
Push-constant layout (float[32]): [0..15] viewProj (column-major, glm) [16] particleCount [17] orthographic (0 perspective, 1 orthographic) [18] pad [19] nearZ [20] farZ [21] tanHalfFov [22] aspect [23] screenW [24] screenH [25] particleRadius [26] mode (0 water, 1 mud) [27] thicknessScale [28] depthFalloff (bilateral depth edge falloff) [29] blurRadiusWorld (-1 keeps the established fixed radius) [30..31] pad
Buffer bindings: 0 particles(vec4 xyz+radius) 1 depthA(uint) 2 depthB(uint) 3 thickness(uint) 4 normal(vec4) 5 color(packed RGBA8 uint) 6 particle colors(vec4) 7 multicolor accum(5 uint/pixel)
枚举类型说明
◆ FluidBlendFactor
|
strong |
Unity/Fluid3D blend factors used by fluid render settings.
| 枚举值 | |
|---|---|
| Zero | |
| One | |
| DestinationColor | |
| SourceColor | |
| OneMinusDestinationColor | |
| SourceAlpha | |
| OneMinusSourceColor | |
| DestinationAlpha | |
| OneMinusDestinationAlpha | |
| SourceAlphaSaturate | |
| OneMinusSourceAlpha | |
在文件 FluidSurfaceRenderer.h 第 46 行定义.
◆ VolumeFluidColliderShape
|
strong |
◆ VolumeFluidContactEventType
|
strong |
Contact lifecycle classification matching Fluid3DContactEventDispatcher.
| 枚举值 | |
|---|---|
| Enter | |
| Stay | |
| Exit | |
在文件 VolumeFluid.h 第 267 行定义.
◆ VolumeFluidEmissionShape
|
strong |
Local nozzle domain; disk/square lie in XY, edge lies on X.
| 枚举值 | |
|---|---|
| Edge | |
| Square | |
| Disk | |
| Sphere | |
| Cube | |
| Distribution | |
在文件 VolumeFluidEmitter.h 第 12 行定义.
◆ VolumeFluidMaterialCombineMode
|
strong |
Fluid3D collision-material coefficient combination, with package integer values.
| 枚举值 | |
|---|---|
| Average | |
| Minimum | |
| Multiply | |
| Maximum | |
在文件 VolumeFluid.h 第 23 行定义.
◆ VolumeFluidParticleEventType
|
strong |
Lifecycle kind matching Fluid3DEmitter OnEmitParticle/OnKillParticle.
| 枚举值 | |
|---|---|
| Emitted | |
| Killed | |
在文件 VolumeFluid.h 第 360 行定义.
◆ VolumeFluidPhase
|
strong |
Constitutive phase; solids are world-fixed or follow their owned collider attachment.
| 枚举值 | |
|---|---|
| Liquid | |
| Gas | |
| Granular | |
| Solid | |
在文件 VolumeFluid.h 第 20 行定义.
◆ VolumeFluidQueryType
|
strong |
◆ VolumeFluidSdfSliceAxis
|
strong |
◆ VolumeFluidWindZoneType
|
strong |
Shape used by a transient Fluid3D-style wind force zone.
| 枚举值 | |
|---|---|
| Ambient | |
| Spherical | |
在文件 VolumeFluid.h 第 120 行定义.
函数说明
◆ buildVolumeFluidCubeDistribution()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidCubeDistribution | ( | glm::vec3 | size, |
| float | spacing, | ||
| bool | surface | ||
| ) |
Builds an Fluid3D-compatible box surface or volume lattice during setup.
size is the full local box size. Surface points emit along the normalized sum of their incident face normals; volume points emit along local +Z. Candidate and output counts are limited to 65536 and 4096; failure returns no partial distribution.
在文件 VolumeFluidEmitter.cpp 第 497 行定义.
引用了 count, direction, output, point, size, source, spacing, x, y , 以及 z.
被这些函数引用 exposeVolumeFluidFactory().
◆ buildVolumeFluidDiskDistribution()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidDiskDistribution | ( | float | radius, |
| float | spacing, | ||
| bool | edgeEmission | ||
| ) |
Builds Fluid3D's concentric disk or circumference-only distribution.
Radius/spacing must be finite and positive. Edge samples emit along their radial normal; filled-disk samples emit along local +Z. Setup-time only, owning, with 65536 candidate and 4096 output limits.
在文件 VolumeFluidEmitter.cpp 第 549 行定义.
引用了 angle, direction, output, point, r, radius, source, spacing , 以及 steps.
被这些函数引用 exposeVolumeFluidFactory().
◆ buildVolumeFluidEdgeDistribution()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidEdgeDistribution | ( | float | length, |
| float | spacing, | ||
| float | radialVelocityDegrees | ||
| ) |
Builds Fluid3D's edge lattice with per-sample radial velocity directions.
length is the full local X extent. Samples use spacing plus Fluid3D's 0.01 metre separation bias; radialVelocityDegrees rotates local +Z around X for each successive sample. Setup-time only, owning, and limited to 4096 points.
在文件 VolumeFluidEmitter.cpp 第 529 行定义.
引用了 angle, direction, length, output, separation, source , 以及 spacing.
被这些函数引用 exposeVolumeFluidFactory().
◆ buildVolumeFluidImageDistribution()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidImageDistribution | ( | std::span< const glm::vec4 > | pixels, |
| unsigned | width, | ||
| unsigned | height, | ||
| float | pixelScale, | ||
| float | maximumSize, | ||
| float | spacing, | ||
| float | alphaThreshold | ||
| ) |
Precomputes a bilinear alpha-masked image distribution on a spacing lattice.
Pixels are linear RGBA, bottom row first. No image pointers are retained. Aspect ratio is preserved when clamping world dimensions to maximumSize. At most 65536 lattice candidates and 4096 output points are allowed; excess returns a diagnostic without partial output. Call during authoring/setup.
在文件 VolumeFluidEmitter.cpp 第 633 行定义.
引用了 color, eve::Diagnostic::error(), height, eve::InvalidArgument, nx, ny, pixels, points, scale, spacing, sx, sy, text, width, x , 以及 y.
被这些函数引用 exposeVolumeFluidFactory().
◆ buildVolumeFluidMeshDistribution()
| Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidMeshDistribution | ( | std::span< const glm::vec3 > | vertices, |
| std::span< const uint32_t > | indices, | ||
| glm::vec3 | scale, | ||
| float | spacing | ||
| ) |
Voxelizes indexed triangles, returning surface and enclosed interior cell centers.
Setup-time only, owns its result and retains no mesh pointers. Scaled bounds determine voxel size, at least spacing and at least longest extent/32. Open meshes produce surface cells without assuming an enclosed interior. Limits: 65536 triangles, 4M cell/triangle checks, 4096 output samples; exceeding any budget returns a diagnostic rather than a partial distribution.
在文件 VolumeFluidMeshEmitter.cpp 第 30 行定义.
引用了 a, b, c, cells, center, direction, directions, eve::Diagnostic::error(), index, indices, eve::InvalidArgument, maximum, minimum, origin, p, points, scale, size, spacing, t, text, vertices, x, y , 以及 z.
被这些函数引用 exposeVolumeFluidFactory().
◆ buildVolumeFluidSphereDistribution()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDistributionPoint > > eve::fluids::buildVolumeFluidSphereDistribution | ( | float | radius, |
| float | spacing, | ||
| bool | surface | ||
| ) |
Builds an Fluid3D-compatible spherical surface or volume lattice during setup.
Radius and spacing must be finite and positive. Surface points emit along their radial normals; volume points emit along local +Z. Candidate and output counts are limited to 65536 and 4096 respectively; failure returns no partial distribution.
在文件 VolumeFluidEmitter.cpp 第 444 行定义.
引用了 angle, count, output, point, radius, side, source, spacing, step, x, y , 以及 z.
被这些函数引用 exposeVolumeFluidFactory().
◆ captureVolumeFluidEmitterCheckpoint() [1/2]
| EVENGINE_API_DOMAINS VolumeFluidEmitterCheckpoint eve::fluids::captureVolumeFluidEmitterCheckpoint | ( | const VolumeFluid & | solver, |
| const VolumeFluidEmission & | emission, | ||
| const VolumeFluidEmitter & | controller | ||
| ) |
Captures one completed-step rate-emitter checkpoint without retaining references.
在文件 VolumeFluidEmitter.cpp 第 681 行定义.
引用了 eve::fluids::VolumeFluid::snapshot() , 以及 eve::fluids::VolumeFluidEmitter::snapshot().
◆ captureVolumeFluidEmitterCheckpoint() [2/2]
| EVENGINE_API_DOMAINS VolumeFluidEmitterCheckpoint eve::fluids::captureVolumeFluidEmitterCheckpoint | ( | const VolumeFluid & | solver, |
| const VolumeFluidEmission & | emission, | ||
| const VolumeFluidJetEmitter & | controller | ||
| ) |
Captures one completed-step moving-jet checkpoint without retaining references.
在文件 VolumeFluidEmitter.cpp 第 687 行定义.
引用了 eve::fluids::VolumeFluid::snapshot() , 以及 eve::fluids::VolumeFluidJetEmitter::snapshot().
◆ composeVolumeFluidEmitterShapes()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmission > eve::fluids::composeVolumeFluidEmitterShapes | ( | const VolumeFluidEmission & | base, |
| std::span< const VolumeFluidEmission > | shapes | ||
| ) |
Builds one emitter distribution from an ordered set of Fluid3D emitter shapes.
base owns emitter-wide material, speed, lifetime, filter and RNG settings. Each shape must be a Distribution description; its pose transforms its owned local samples into solver space. An empty shape contributes its pose origin/direction, and an empty shape list contributes the base pose, matching Fluid3DEmitter's default point behavior. The setup-time operation accepts at most 64 shapes and 4096 total samples, publishes no partial result, retains no input storage and adds no per-step allocation or GPU work. Same ordered inputs produce the same ordered distribution on the same build. Simulation-thread affinity applies when the returned value is later used by an emitter; this pure composition call itself touches no solver and invokes no callbacks.
- 参数
-
base Borrowed emitter-wide description, copied into the returned owning value. shapes Borrowed ordered shape descriptions, valid only for this synchronous call.
- 返回
- Owning combined Distribution description, or a structured validation diagnostic.
在文件 VolumeFluidEmitter.cpp 第 579 行定义.
引用了 color, eve::fluids::VolumeFluidEmission::direction, direction, Distribution, eve::fluids::VolumeFluidEmission::distribution, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::fluids::VolumeFluidEmission::origin, point, position, reference, right, eve::fluids::VolumeFluidEmission::shape, shape, source, eve::Result< T >::success(), up , 以及 valid.
被这些函数引用 exposeVolumeFluidFactory().
◆ decodeFluidRendererSettings()
| EVENGINE_API_DOMAINS Result< FluidRendererSettings > eve::fluids::decodeFluidRendererSettings | ( | const Value & | value | ) |
Strictly decodes one complete owning Fluid3D-renderer settings value.
在文件 VolumeFluidCodec.cpp 第 5 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 value.
◆ decodeVolumeFluid()
| Result< VolumeFluidSnapshot > eve::fluids::decodeVolumeFluid | ( | const Value & | value | ) |
Strict owning decode; unknown/missing fields, unsupported versions and invalid state are rejected.
在文件 VolumeFluidStateCodec.cpp 第 4 行定义.
引用了 eve::Value::at(), eve::fluids::VolumeFluid::create(), error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::Value::find(), index, eve::InvalidArgument, label, local, material, radius, eve::fluids::VolumeFluidSnapshot::settings, settings, source, spacing, eve::Result< T >::success(), valid, value , 以及 world.
被这些函数引用 decodeVolumeFluidEmitterCheckpoint().
◆ decodeVolumeFluidColliders()
| Result< std::vector< VolumeFluidCollider > > eve::fluids::decodeVolumeFluidColliders | ( | const Value & | value | ) |
Strict transient collider batch decode; setColliders validates geometry atomically.
在文件 VolumeFluidCodec.cpp 第 257 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidColorGradient()
| Result< std::vector< VolumeFluidColorKey > > eve::fluids::decodeVolumeFluidColorGradient | ( | const Value & | value | ) |
Strict owning decode of a 2..32-key normalized linear RGBA gradient.
在文件 VolumeFluidCodec.cpp 第 182 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidColors()
| EVENGINE_API_DOMAINS Result< std::vector< glm::vec4 > > eve::fluids::decodeVolumeFluidColors | ( | const Value & | value | ) |
Strict owning decode of at most 256 transient linear RGBA colors.
在文件 VolumeFluidCodec.cpp 第 97 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidDiffuse()
| EVENGINE_API_DOMAINS Result< VolumeFluidDiffuseSnapshot > eve::fluids::decodeVolumeFluidDiffuse | ( | const Value & | value | ) |
Strict bounded decode; validates the entire pool before returning owning state.
在文件 VolumeFluidCodec.cpp 第 32 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::fluids::VolumeFluidDiffuse::restore(), eve::Result< T >::success() , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidDiffuseParticles()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidDiffuseParticle > > eve::fluids::decodeVolumeFluidDiffuseParticles | ( | const Value & | value | ) |
Strict transient batch decode of at most 65536 particles; emit validates domains.
在文件 VolumeFluidCodec.cpp 第 48 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidEmission()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmission > eve::fluids::decodeVolumeFluidEmission | ( | const Value & | value | ) |
Strict structural decode; nozzle/material domain validation occurs atomically at emission.
在文件 VolumeFluidCodec.cpp 第 354 行定义.
引用了 eve::fluids::VolumeFluidEmission::actorCapacity, description, error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, material, point, points, source, eve::Result< T >::success() , 以及 value.
被这些函数引用 decodeVolumeFluidEmitterCheckpoint(), exposeVolumeFluidFactory() , 以及 exposeVolumeFluidType().
◆ decodeVolumeFluidEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterBlueprint3D > eve::fluids::decodeVolumeFluidEmitterBlueprint3D | ( | const Value & | value | ) |
Strictly decodes one owning Fluid3D-emitter blueprint value.
在文件 VolumeFluidCodec.cpp 第 219 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 value.
被这些函数引用 exposeVolumeFluidFactory().
◆ decodeVolumeFluidEmitterCheckpoint()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterCheckpoint > eve::fluids::decodeVolumeFluidEmitterCheckpoint | ( | const Value & | value | ) |
Strictly decodes and validates all owning checkpoint members without publishing state.
在文件 VolumeFluidCodec.cpp 第 317 行定义.
引用了 decodeVolumeFluid(), decodeVolumeFluidEmission(), decodeVolumeFluidEmitterState(), eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, message, eve::Result< T >::success() , 以及 value.
◆ decodeVolumeFluidEmitterState()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterSnapshot > eve::fluids::decodeVolumeFluidEmitterState | ( | const Value & | value | ) |
Strict version-1 controller-state decode; unsupported fields, kinds and phase values fail.
在文件 VolumeFluidCodec.cpp 第 281 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::fluids::VolumeFluidEmitterSnapshot::kind, rate, eve::fluids::VolumeFluidJetEmitter::restore(), eve::Result< T >::success() , 以及 value.
被这些函数引用 decodeVolumeFluidEmitterCheckpoint().
◆ decodeVolumeFluidFieldPositions()
| Result< std::vector< glm::vec3 > > eve::fluids::decodeVolumeFluidFieldPositions | ( | const Value & | value | ) |
Strict owning decode of up to 65536 transient world-space field query positions.
在文件 VolumeFluidCodec.cpp 第 108 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidFoam()
| EVENGINE_API_DOMAINS Result< VolumeFluidFoamSnapshot > eve::fluids::decodeVolumeFluidFoam | ( | const Value & | value | ) |
Strict decode with atomic-controller validation; rejects unknown fields and versions.
在文件 VolumeFluidCodec.cpp 第 18 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::fluids::VolumeFluidFoam::restore(), eve::Result< T >::success() , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidHeightFieldColliders()
| Result< std::vector< VolumeFluidHeightFieldCollider > > eve::fluids::decodeVolumeFluidHeightFieldColliders | ( | const Value & | value | ) |
Strict owning decode of at most 16 regular sampled height fields.
在文件 VolumeFluidCodec.cpp 第 156 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidMaterial()
| Result< VolumeFluidMaterial > eve::fluids::decodeVolumeFluidMaterial | ( | const Value & | value | ) |
Strict transient material decode; paint validates numeric domains before mutation.
在文件 VolumeFluidCodec.cpp 第 207 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 value.
◆ decodeVolumeFluidNozzlePose()
| Result< VolumeFluidNozzlePose > eve::fluids::decodeVolumeFluidNozzlePose | ( | const Value & | value | ) |
Strict transient pose-argument decode; advanceMoving validates the unit quaternion.
在文件 VolumeFluidCodec.cpp 第 269 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidParticles()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidParticle > > eve::fluids::decodeVolumeFluidParticles | ( | const Value & | value | ) |
Decodes an owning emission batch without serializing the live solver; admission validates domains.
在文件 VolumeFluidCodec.cpp 第 296 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidQueries()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidQueryShape > > eve::fluids::decodeVolumeFluidQueries | ( | const Value & | value | ) |
Strict owning decode of at most 256 transient mixed query descriptions.
在文件 VolumeFluidCodec.cpp 第 86 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidSdfColliders()
| Result< std::vector< VolumeFluidSdfCollider > > eve::fluids::decodeVolumeFluidSdfColliders | ( | const Value & | value | ) |
Strict owning decode of at most 16 sampled SDF colliders.
在文件 VolumeFluidCodec.cpp 第 145 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidSdfPoses()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidSdfPose > > eve::fluids::decodeVolumeFluidSdfPoses | ( | const Value & | value | ) |
Strict transient decode of at most 16 SDF transform-only updates.
在文件 VolumeFluidCodec.cpp 第 134 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidSimplexes()
| Result< std::vector< VolumeFluidSimplex > > eve::fluids::decodeVolumeFluidSimplexes | ( | const Value & | value | ) |
Strict owning decode of at most 65536 point, edge or triangle topology entries.
在文件 VolumeFluidCodec.cpp 第 64 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidStitches()
| Result< std::vector< VolumeFluidStitch > > eve::fluids::decodeVolumeFluidStitches | ( | const Value & | value | ) |
Strict owning decode of at most 65536 Fluid3DStitcher particle pairs.
在文件 VolumeFluidCodec.cpp 第 75 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidThermalRules()
| Result< std::vector< VolumeFluidThermalRule > > eve::fluids::decodeVolumeFluidThermalRules | ( | const Value & | value | ) |
Strict owning decode of at most 1024 transient thermal rules; step validates domains.
在文件 VolumeFluidCodec.cpp 第 194 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeFluidViscosityColors()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidViscosityColorKey > > eve::fluids::decodeVolumeFluidViscosityColors | ( | const Value & | value | ) |
Strict owning decode of at most 32 transient viscosity color keys; application validates domains.
在文件 VolumeFluidCodec.cpp 第 171 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
◆ decodeVolumeFluidWindZones()
| EVENGINE_API_DOMAINS Result< std::vector< VolumeFluidWindZone > > eve::fluids::decodeVolumeFluidWindZones | ( | const Value & | value | ) |
Strict owning decode of at most 64 transient Fluid3D-style wind zones.
在文件 VolumeFluidCodec.cpp 第 119 行定义.
引用了 error, eve::Diagnostic::error(), eve::InvalidArgument , 以及 value.
被这些函数引用 exposeVolumeFluidType().
◆ decodeVolumeGranularEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Result< VolumeGranularEmitterBlueprint3D > eve::fluids::decodeVolumeGranularEmitterBlueprint3D | ( | const Value & | value | ) |
Strictly decodes one owning Fluid3D granular-emitter blueprint value.
在文件 VolumeFluidCodec.cpp 第 233 行定义.
引用了 error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::Result< T >::success() , 以及 value.
被这些函数引用 exposeVolumeFluidFactory().
◆ emitVolumeFluidBurst()
| EVENGINE_API_DOMAINS Result< unsigned > eve::fluids::emitVolumeFluidBurst | ( | VolumeFluid & | solver, |
| const VolumeFluidEmission & | emission, | ||
| unsigned | count | ||
| ) |
Generates at most 4096 particles and admits the entire burst atomically.
Simulation-thread only. Retains no solver/description pointers, invokes no callbacks. Same seed/count/input produces repeatable results on the same build; float parity is tolerance-based.
在文件 VolumeFluidEmitter.cpp 第 216 行定义.
引用了 active, eve::fluids::VolumeFluidEmission::actorCapacity, eve::fluids::VolumeFluidParticle::actorGroup, eve::fluids::VolumeFluid::actorParticleCount(), count, eve::Result< T >::failure(), eve::fluids::VolumeFluidEmission::prototype , 以及 valid.
◆ encodeFluidRendererSettings()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeFluidRendererSettings | ( | const FluidRendererSettings & | settings | ) |
Projects one complete Fluid3D-renderer settings value.
在文件 VolumeFluidCodec.cpp 第 4 行定义.
引用了 settings.
◆ encodeVolumeFluid()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluid | ( | const VolumeFluidSnapshot & | snapshot | ) |
Canonical schema-17 value projection, shared by JSON, scripts and authoring.
在文件 VolumeFluidCodec.cpp 第 16 行定义.
被这些函数引用 encodeVolumeFluidEmitterBlueprintApplication3D(), encodeVolumeFluidEmitterCheckpoint(), exposeVolumeFluidFactory() , 以及 exposeVolumeFluidType().
◆ encodeVolumeFluidCollider()
| Value eve::fluids::encodeVolumeFluidCollider | ( | const VolumeFluidCollider & | collider | ) |
Projects an owning collider description for script construction.
在文件 VolumeFluidCodec.cpp 第 130 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidContactEvents()
| Value eve::fluids::encodeVolumeFluidContactEvents | ( | const std::vector< VolumeFluidContactEvent > & | events | ) |
Projects owning Enter/Stay/Exit contact lifecycle events.
在文件 VolumeFluidCodec.cpp 第 169 行定义.
引用了 events.
被这些函数引用 exposeVolumeFluidType().
◆ encodeVolumeFluidContacts()
| Value eve::fluids::encodeVolumeFluidContacts | ( | const std::vector< VolumeFluidContact > & | contacts | ) |
Projects last-step contacts, including world-space point and opposite impulse.
在文件 VolumeFluidCodec.cpp 第 168 行定义.
◆ encodeVolumeFluidDiffuse()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidDiffuse | ( | const VolumeFluidDiffuseSnapshot & | snapshot | ) |
Projects the owning version-1 secondary particle pool state.
在文件 VolumeFluidCodec.cpp 第 31 行定义.
被这些函数引用 exposeVolumeFluidType().
◆ encodeVolumeFluidDistanceHits()
| Value eve::fluids::encodeVolumeFluidDistanceHits | ( | const std::vector< VolumeFluidDistanceHit > & | hits | ) |
Projects owning signed-distance hits including captured particle values.
在文件 VolumeFluidCodec.cpp 第 61 行定义.
◆ encodeVolumeFluidEmission()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidEmission | ( | const VolumeFluidEmission & | emission | ) |
Encodes a version-9 emission description including precomputed points and particle state.
在文件 VolumeFluidCodec.cpp 第 346 行定义.
引用了 eve::Value::set().
被这些函数引用 encodeVolumeFluidEmitterBlueprintApplication3D(), encodeVolumeFluidEmitterCheckpoint() , 以及 exposeVolumeFluidFactory().
◆ encodeVolumeFluidEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidEmitterBlueprint3D | ( | const VolumeFluidEmitterBlueprint3D & | blueprint | ) |
Projects default or caller-prepared Fluid3D-emitter blueprint values.
在文件 VolumeFluidCodec.cpp 第 218 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidEmitterBlueprintApplication3D()
| Value eve::fluids::encodeVolumeFluidEmitterBlueprintApplication3D | ( | const VolumeFluidEmitterBlueprintApplication3D & | application | ) |
Projects the complete native solver/emission setup produced from a blueprint.
在文件 VolumeFluidCodec.cpp 第 244 行定义.
引用了 eve::fluids::VolumeFluidEmitterBlueprintApplication3D::emission, encodeVolumeFluid(), encodeVolumeFluidEmission(), eve::fluids::VolumeFluidEmitterBlueprintApplication3D::metrics, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleMass, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleSize, eve::Value::set(), eve::fluids::VolumeFluidSnapshot::settings, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::settings , 以及 eve::fluids::VolumeFluidEmitterBlueprintMetrics::smoothingRadius.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidEmitterCheckpoint()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidEmitterCheckpoint | ( | const VolumeFluidEmitterCheckpoint & | checkpoint | ) |
Encodes one version-1 solver/emission/controller checkpoint.
在文件 VolumeFluidCodec.cpp 第 307 行定义.
引用了 eve::fluids::VolumeFluidEmitterCheckpoint::controller, eve::fluids::VolumeFluidEmitterCheckpoint::emission, encodeVolumeFluid(), encodeVolumeFluidEmission(), encodeVolumeFluidEmitterState(), eve::fluids::VolumeFluidEmitterCheckpoint::schema, eve::Value::set(), eve::fluids::VolumeFluidEmitterCheckpoint::solver, value , 以及 eve::fluids::VolumeFluidEmitterCheckpoint::version.
◆ encodeVolumeFluidEmitterState()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidEmitterState | ( | const VolumeFluidEmitterSnapshot & | state | ) |
Encodes controller state without converting phase text to VM floating point.
在文件 VolumeFluidCodec.cpp 第 280 行定义.
引用了 state.
被这些函数引用 encodeVolumeFluidEmitterCheckpoint().
◆ encodeVolumeFluidFieldSamples()
| Value eve::fluids::encodeVolumeFluidFieldSamples | ( | const std::vector< VolumeFluidFieldSample > & | samples | ) |
Projects owning field samples, preserving query order.
在文件 VolumeFluidCodec.cpp 第 59 行定义.
被这些函数引用 exposeVolumeFluidType().
◆ encodeVolumeFluidFoam()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidFoam | ( | const VolumeFluidFoamSnapshot & | snapshot | ) |
Projects owning schema-1 foam settings, credit text and RNG state.
在文件 VolumeFluidCodec.cpp 第 17 行定义.
被这些函数引用 exposeVolumeFluidType().
◆ encodeVolumeFluidHeightFieldCollider()
| Value eve::fluids::encodeVolumeFluidHeightFieldCollider | ( | const VolumeFluidHeightFieldCollider & | collider | ) |
Projects one complete owning regular height field.
在文件 VolumeFluidCodec.cpp 第 132 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidParticleEvents()
| Value eve::fluids::encodeVolumeFluidParticleEvents | ( | const VolumeFluidParticleEventBatch & | batch | ) |
Projects one owning bounded particle lifecycle-event drain.
在文件 VolumeFluidCodec.cpp 第 206 行定义.
被这些函数引用 exposeVolumeFluidType().
◆ encodeVolumeFluidParticles()
| Value eve::fluids::encodeVolumeFluidParticles | ( | const std::vector< VolumeFluidParticle > & | particles | ) |
Projects an owning particle batch without copying the live solver.
在文件 VolumeFluidCodec.cpp 第 205 行定义.
◆ encodeVolumeFluidQueryHits()
| Value eve::fluids::encodeVolumeFluidQueryHits | ( | const std::vector< VolumeFluidQueryHit > & | hits | ) |
Projects owning mixed-query hits with their source query indices.
在文件 VolumeFluidCodec.cpp 第 62 行定义.
◆ encodeVolumeFluidRayHits()
| Value eve::fluids::encodeVolumeFluidRayHits | ( | const std::vector< VolumeFluidRayHit > & | hits | ) |
Projects owning ray hits including captured particle values.
在文件 VolumeFluidCodec.cpp 第 60 行定义.
◆ encodeVolumeFluidSdfCollider()
| Value eve::fluids::encodeVolumeFluidSdfCollider | ( | const VolumeFluidSdfCollider & | collider | ) |
Projects one complete owning SDF collider.
在文件 VolumeFluidCodec.cpp 第 131 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidSdfPose()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidSdfPose | ( | const VolumeFluidSdfPose & | pose | ) |
Projects one transform-only SDF update for script construction.
在文件 VolumeFluidCodec.cpp 第 133 行定义.
引用了 pose.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidSimplexHits()
| Value eve::fluids::encodeVolumeFluidSimplexHits | ( | const std::vector< VolumeFluidSimplexHit > & | hits | ) |
Projects owning Fluid3D-compatible simplex query results.
在文件 VolumeFluidCodec.cpp 第 63 行定义.
◆ encodeVolumeFluidThermalRule()
| Value eve::fluids::encodeVolumeFluidThermalRule | ( | const VolumeFluidThermalRule & | rule | ) |
Owning default-rule projection for script construction.
在文件 VolumeFluidCodec.cpp 第 170 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeFluidWindZone()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeFluidWindZone | ( | const VolumeFluidWindZone & | zone | ) |
Projects one complete wind-zone description for script construction.
在文件 VolumeFluidCodec.cpp 第 167 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ encodeVolumeGranularEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Value eve::fluids::encodeVolumeGranularEmitterBlueprint3D | ( | const VolumeGranularEmitterBlueprint3D & | blueprint | ) |
Projects default or caller-prepared Fluid3D granular-emitter blueprint values.
在文件 VolumeFluidCodec.cpp 第 230 行定义.
被这些函数引用 exposeVolumeFluidFactory().
◆ evaluateVolumeFluidEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterBlueprintMetrics > eve::fluids::evaluateVolumeFluidEmitterBlueprint3D | ( | float | resolution, |
| float | restDensity, | ||
| float | smoothing | ||
| ) |
Evaluates Fluid3DEmitterBlueprintBase/Fluid3DEmitterBlueprint formulas in 3D.
resolution and restDensity must be finite and at least 0.001; smoothing must be finite and at least 1. The pure setup-time call allocates nothing and mutates no solver.
在文件 VolumeFluidEmitter.cpp 第 145 行定义.
引用了 eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleMass, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleSize, eve::fluids::VolumeFluidEmitterBlueprintMetrics::smoothingRadius , 以及 eve::Result< T >::success().
被这些函数引用 exposeVolumeFluidFactory(), prepareVolumeFluidEmitterBlueprint3D() , 以及 prepareVolumeGranularEmitterBlueprint3D().
◆ exposeVolumeFluidFactory()
| void eve::fluids::exposeVolumeFluidFactory | ( | ssq::Class & | cls | ) |
Registers volume-fluid factories on the existing Fluids class.
在文件 VolumeFluidFactoryBindings.cpp 第 7 行定义.
引用了 buildVolumeFluidCubeDistribution(), buildVolumeFluidDiskDistribution(), buildVolumeFluidEdgeDistribution(), buildVolumeFluidImageDistribution(), buildVolumeFluidMeshDistribution(), buildVolumeFluidSphereDistribution(), bytes, c, cls, eve::fluids::VolumeFluidParticle::color, color, composeVolumeFluidEmitterShapes(), eve::fluids::VolumeFluid::create(), created, decodeVolumeFluidEmission(), decodeVolumeFluidEmitterBlueprint3D(), decodeVolumeGranularEmitterBlueprint3D(), Distribution, eve::fluids::VolumeFluidEmission::distribution, encodeVolumeFluid(), encodeVolumeFluidCollider(), encodeVolumeFluidEmission(), encodeVolumeFluidEmitterBlueprint3D(), encodeVolumeFluidEmitterBlueprintApplication3D(), encodeVolumeFluidHeightFieldCollider(), encodeVolumeFluidSdfCollider(), encodeVolumeFluidSdfPose(), encodeVolumeFluidThermalRule(), encodeVolumeFluidWindZone(), encodeVolumeGranularEmitterBlueprint3D(), error, eve::Diagnostic::error(), evaluateVolumeFluidEmitterBlueprint3D(), eve::Status::failure(), height, eve::fluids::VolumeFluidHeightFieldCollider::heights, image, index, indices, eve::InvalidArgument, length, eve::fluids::MeshSdf::makeFromTriangles(), eve::fluids::MeshSdf::makeSphere(), message, model, owned, pixels, points, prepareVolumeFluidEmitterBlueprint3D(), prepareVolumeGranularEmitterBlueprint3D(), eve::script::projectResult(), eve::script::projectStatusResult(), eve::fluids::VolumeFluidEmission::prototype, radius, scale, eve::fluids::VolumeFluidSdfCollider::sdf, eve::Value::set(), eve::fluids::VolumeFluidEmission::shape, shape, source, spacing, eve::Status::success(), sx, sy, sz, value, eve::script::valueFromSquirrel(), vertexCount, vertices, vm, width, x , 以及 y.
◆ exposeVolumeFluidType()
| void eve::fluids::exposeVolumeFluidType | ( | ssq::Table & | table | ) |
Registers the script-owned volume-fluid class on the VM thread.
在文件 VolumeFluidBindings.cpp 第 4 行定义.
引用了 eve::fluids::VolumeFluidContactTracker::advance(), begin, body, capacity, cell, cells, cls, eve::fluids::VolumeFluid::contacts(), count, decodeVolumeFluidColliders(), decodeVolumeFluidDiffuse(), decodeVolumeFluidDiffuseParticles(), decodeVolumeFluidEmission(), decodeVolumeFluidFieldPositions(), decodeVolumeFluidFoam(), decodeVolumeFluidNozzlePose(), decodeVolumeFluidParticles(), decodeVolumeFluidStitches(), decodeVolumeFluidThermalRules(), decodeVolumeFluidWindZones(), emitter, encodeVolumeFluid(), encodeVolumeFluidContactEvents(), encodeVolumeFluidDiffuse(), encodeVolumeFluidFieldSamples(), encodeVolumeFluidFoam(), encodeVolumeFluidParticleEvents(), end, eve::Diagnostic::error(), events, eve::Status::failure(), first, indices, eve::InvalidArgument, label, eve::fluids::VolumeFluidCoupling::lastClampedBodyCount(), limit, eve::Value::object(), offset, positions, eve::script::projectResult(), eve::script::projectStatusResult(), rate, eve::fluids::VolumeFluidContactTracker::reset(), status, eve::Status::success(), value, eve::script::valueFromSquirrel(), vm, world, x, y , 以及 z.
◆ fluidClampSpeed()
|
inline |
◆ fluidCohesionKernel()
|
inline |
Akinci-style cohesion kernel C(r) for droplet surface tension.
- 参数
-
r distance between two particles. h support radius.
- 返回
- kernel value, 0 outside the support.
在文件 FluidMath.h 第 104 行定义.
◆ fluidPoly6()
|
inline |
Poly6 kernel value W(r2, h).
- 参数
-
r2 squared distance between two particles. h support radius.
- 返回
- kernel value, 0 outside the support.
在文件 FluidMath.h 第 65 行定义.
◆ fluidSpikyGrad()
|
inline |
◆ fluidViscLaplacian()
|
inline |
Viscosity Laplacian kernel value.
- 参数
-
r distance between two particles. h support radius.
- 返回
- laplacian value, 0 outside the support.
在文件 FluidMath.h 第 93 行定义.
◆ Module_IMPL()
| eve::fluids::Module_IMPL | ( | Fluids | , |
| new | Fluids() | ||
| ) |
◆ prepareVolumeFluidEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterBlueprintApplication3D > eve::fluids::prepareVolumeFluidEmitterBlueprint3D | ( | const VolumeFluidEmitterBlueprint3D & | blueprint | ) |
Atomically maps every Fluid3DEmitterBlueprint field to native 3D setup values.
Pure setup-time operation. The returned solver settings and emission description own all data; no solver, callback, render resource or GPU work is created. The default shared-solver capacity equals the actor blueprint capacity and may be increased before solver construction.
在文件 VolumeFluidEmitter.cpp 第 159 行定义.
引用了 eve::fluids::VolumeFluidEmission::actorCapacity, eve::fluids::VolumeFluidEmitterBlueprint3D::atmosphericDrag, eve::fluids::VolumeFluidEmitterBlueprint3D::atmosphericPressure, eve::fluids::VolumeFluidEmitterBlueprint3D::buoyancy, eve::fluids::VolumeFluidSettings::capacity, eve::fluids::VolumeFluidEmitterBlueprint3D::capacity, eve::fluids::VolumeFluidParticle::data, eve::fluids::VolumeFluidEmitterBlueprint3D::diffusion, eve::fluids::VolumeFluidEmitterBlueprint3D::diffusionData, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::emission, eve::Diagnostic::error(), evaluateVolumeFluidEmitterBlueprint3D(), eve::Result< T >::failure(), eve::InvalidArgument, Liquid, eve::fluids::VolumeFluidParticle::material, material, maximum, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::metrics, minimum, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleSize, eve::fluids::VolumeFluidMaterial::phase, eve::fluids::VolumeFluidEmission::prototype, eve::fluids::VolumeFluidEmitterBlueprint3D::resolution, eve::fluids::VolumeFluidEmitterBlueprint3D::restDensity, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::settings, eve::fluids::VolumeFluidEmitterBlueprint3D::smoothing, eve::fluids::VolumeFluidSettings::spacing, eve::Result< T >::success(), eve::fluids::VolumeFluidEmitterBlueprint3D::surfaceTension, value, eve::fluids::VolumeFluidEmitterBlueprint3D::viscosity , 以及 eve::fluids::VolumeFluidEmitterBlueprint3D::vorticity.
被这些函数引用 exposeVolumeFluidFactory().
◆ prepareVolumeGranularEmitterBlueprint3D()
| EVENGINE_API_DOMAINS Result< VolumeFluidEmitterBlueprintApplication3D > eve::fluids::prepareVolumeGranularEmitterBlueprint3D | ( | const VolumeGranularEmitterBlueprint3D & | blueprint | ) |
Atomically maps an Fluid3DGranularEmitterBlueprint to owned native 3D setup values.
Pure setup-time operation. Radius variation uses the existing seeded emission stream; no global RNG, solver, render resource or GPU work is created by this call.
在文件 VolumeFluidEmitter.cpp 第 195 行定义.
引用了 eve::fluids::VolumeFluidEmission::actorCapacity, eve::fluids::VolumeFluidSettings::capacity, eve::fluids::VolumeGranularEmitterBlueprint3D::capacity, eve::fluids::VolumeFluidMaterial::density, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::emission, eve::Diagnostic::error(), evaluateVolumeFluidEmitterBlueprint3D(), eve::Result< T >::failure(), Granular, eve::fluids::VolumeFluidEmission::granularRadiusRandomness, eve::InvalidArgument, eve::fluids::VolumeFluidParticle::material, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::metrics, eve::fluids::VolumeFluidEmitterBlueprintMetrics::particleSize, eve::fluids::VolumeFluidMaterial::phase, eve::fluids::VolumeFluidEmission::prototype, eve::fluids::VolumeGranularEmitterBlueprint3D::randomness, eve::fluids::VolumeGranularEmitterBlueprint3D::resolution, eve::fluids::VolumeGranularEmitterBlueprint3D::restDensity, eve::fluids::VolumeFluidEmitterBlueprintApplication3D::settings, eve::fluids::VolumeFluidEmitterBlueprintMetrics::smoothingRadius, eve::fluids::VolumeFluidSettings::spacing , 以及 eve::Result< T >::success().
被这些函数引用 exposeVolumeFluidFactory().
◆ restoreVolumeFluidEmitterCheckpoint() [1/2]
| EVENGINE_API_DOMAINS Result< void > eve::fluids::restoreVolumeFluidEmitterCheckpoint | ( | VolumeFluid & | solver, |
| VolumeFluidEmitter & | controller, | ||
| const VolumeFluidEmitterCheckpoint & | checkpoint | ||
| ) |
Atomically restores solver and rate controller after validating the complete owning candidate.
Simulation-thread only. Schema/version, solver state, emission description and controller kind/state are preflighted before either destination changes. No callbacks, external references or GPU work are involved. The emission description remains owned by the checkpoint and is returned to script callers by the binding layer.
在文件 VolumeFluidEmitter.cpp 第 693 行定义.
◆ restoreVolumeFluidEmitterCheckpoint() [2/2]
| EVENGINE_API_DOMAINS Result< void > eve::fluids::restoreVolumeFluidEmitterCheckpoint | ( | VolumeFluid & | solver, |
| VolumeFluidJetEmitter & | controller, | ||
| const VolumeFluidEmitterCheckpoint & | checkpoint | ||
| ) |
Atomically restores solver and moving-jet controller under the same checkpoint contract.
在文件 VolumeFluidEmitter.cpp 第 698 行定义.
变量说明
◆ kFluidApplyDelta
|
inline |
Apply PBF deltas and re-project onto the SDF surface.
在文件 FluidGpuKernels.h 第 228 行定义.
◆ kFluidBuildGrid
|
inline |
Insert every particle into its grid cell (linked list via atomicExchange).
在文件 FluidGpuKernels.h 第 58 行定义.
◆ kFluidClearGrid
|
inline |
Zero the linked-list cell heads.
在文件 FluidGpuKernels.h 第 39 行定义.
◆ kFluidComputeDelta
|
inline |
Accumulate PBF position deltas into the (reused) grad buffer.
在文件 FluidGpuKernels.h 第 165 行定义.
◆ kFluidDensityLambda
|
inline |
Density, gradient sum and PBF lambda in one pass (mirror computeDensitiesAndGrads + computeLambdas).
在文件 FluidGpuKernels.h 第 87 行定义.
◆ kFluidIntegrate
|
inline |
Viscosity + cohesion + adhesion + gravity + integration + SDF projection.
在文件 FluidGpuKernels.h 第 331 行定义.
◆ kSsfAnisotropicSplat
|
inlineconstexpr |
在文件 FluidSsfKernels.h 第 223 行定义.
◆ kSsfClear
|
inline |
Reset depth (0xFFFFFFFF), thickness, normal and color buffers.
在文件 FluidSsfKernels.h 第 37 行定义.
◆ kSsfColorClear
|
inline |
Clear lazily-created fixed-point multicolor accumulation buffers. @lifetime The returned pointer remains valid for the process lifetime.
- 返回
- Process-lifetime static read-only GLSL source; the caller must not free it.
在文件 FluidSsfKernels.h 第 142 行定义.
◆ kSsfColorSplat
|
inline |
Accumulate isotropic particle colors using the CPU tint pass' disc weights. @lifetime The returned pointer remains valid for the process lifetime.
- 返回
- Process-lifetime static read-only GLSL source; the caller must not free it.
在文件 FluidSsfKernels.h 第 164 行定义.
◆ kSsfNormal
|
inline |
Reconstruct view-space normals from the smoothed depth.
在文件 FluidSsfKernels.h 第 336 行定义.
◆ kSsfShade
|
inline |
Water/mud shading from depth + normal + thickness.
在文件 FluidSsfKernels.h 第 421 行定义.
◆ kSsfSmooth
|
inline |
One bilateral smoothing pass (read depthA, write depthB).
在文件 FluidSsfKernels.h 第 271 行定义.
◆ kSsfSplat
|
inline |
Splat particles into depth + thickness (atomic min / add).
在文件 FluidSsfKernels.h 第 67 行定义.