Structs
GeometryGroup
geometry.hpp
DataTransferObject for geometry group
| u32 | start | Starting vertex/index |
| u32 | count | Number of vertices/indices |
| u32 | materialIndex | Material index to use |
Intersection
octree.hpp
DataTransferObject for octree intersection methods
| Vector3 | normal | |
| Vector3 | point | |
| f32 | depth |
RayIntersection
octree.hpp
DataTransferObject for octree ray intersection only
| f32 | distance | |
| Triangle * | triangle | |
| Vector3 | position |
State
particle.hpp
a State decribes a particles position and velocity at a certain moment in time
| Vector3 | position | |
| Vector3 | velocity |
ParticleSettings
particleSystem.hpp
DTO for particle system (Points / GX_POINTS). Volume, size/color over life, burst, explosion.
| VolumeType | volume | VOLUME_BOX or VOLUME_SPHERE |
| Vector3 | boundsMin | spawn volume min (box), world space |
| Vector3 | boundsMax | spawn volume max (box), world space |
| Vector3 | positionBase | center for VOLUME_SPHERE / EMIT_EXPLOSION (ignored for box) |
| f32 | volumeRadius | radius when volume is SPHERE |
| f32 | life | lifetime in seconds per particle |
| f32 | mass | per |
| Vector3 | velocity | used when EmitMode is EMIT_LINEAR |
| Vector3 | gravity | acceleration; applied as force = gravity * mass via Particle::applyForce |
| f32 | drag | velocity damping per second (e.g. 2 = slows down fast), 0 = none |
| EmitMode | emitMode | EMIT_LINEAR or EMIT_EXPLOSION |
| f32 | spreadBase | min speed for EXPLOSION |
| f32 | spreadMax | max speed for EXPLOSION |
| f32 | sizeInit | size at birth |
| f32 | size | size at end of life |
| Color | colorStart | color at birth (incl. alpha) |
| Color | colorEnd | color at end of life (incl. alpha) |
| f32 | rotation | init rotation amount (rad), random per particle (not used for GX_POINTS) |
| f32 | rotationSpeed | rad per second (not used for GX_POINTS) |
| u32 | maxCount | max live particles (pool size) |
| f32 | rate | spawns per second when !burst |
| bool | burst | true = no rate spawn, use addParticles(burstCount) |
| u32 | burstCount | particles per burst |
| bool | repeat | when burst: true = fire again when empty, false = once only |
| f32 | burstDelay | when repeat: seconds to wait after empty before next burst (0 = immediate) |
EmitParticle
particleSystem.hpp
one particle: physics (Particle for applyForce/update), life, size, color, rotation.
| Particle | physics | position/velocity via applyForce + update(dt) |
| f32 | life | |
| f32 | maxLife | |
| f32 | currentSize | |
| f32 | rotation | |
| Color | color |