struct
CrShader::Compute::ParticleState
- CrShader::Compute::ParticleState
- Struct
- Value
- Object
Overview
Aligned 32-byte (2 x vec4) or 48-byte (3 x vec4) std430 particle state Layout in std430 storage buffer:
- vec4(px, py, pz, life)
- vec4(vx, vy, vz, max_life)
- vec4(r, g, b, scale)
Defined in:
crshader/compute/particle_simulation_core.crConstant Summary
-
BYTE_STRIDE =
48
Constructors
- .new(px : Float32 = 0.0_f32, py : Float32 = 0.0_f32, pz : Float32 = 0.0_f32, life : Float32 = 1.0_f32, vx : Float32 = 0.0_f32, vy : Float32 = 0.0_f32, vz : Float32 = 0.0_f32, max_life : Float32 = 1.0_f32, r : Float32 = 1.0_f32, g : Float32 = 1.0_f32, b : Float32 = 1.0_f32, scale : Float32 = 1.0_f32)
-
.read_from_bytes(buffer : Bytes, byte_offset : Int32 = 0) : ParticleState
Reads a ParticleState from a Slice(UInt8) at byte_offset
Instance Method Summary
- #alive? : Bool
- #b : Float32
- #b=(b : Float32)
- #g : Float32
- #g=(g : Float32)
- #life : Float32
- #life=(life : Float32)
- #max_life : Float32
- #max_life=(max_life : Float32)
- #normalized_age : Float32
- #px : Float32
- #px=(px : Float32)
- #py : Float32
- #py=(py : Float32)
- #pz : Float32
- #pz=(pz : Float32)
- #r : Float32
- #r=(r : Float32)
- #scale : Float32
- #scale=(scale : Float32)
- #speed : Float32
- #vx : Float32
- #vx=(vx : Float32)
- #vy : Float32
- #vy=(vy : Float32)
- #vz : Float32
- #vz=(vz : Float32)
-
#write_to_bytes(buffer : Bytes, byte_offset : Int32 = 0) : Void
Writes the 12 Float32 components (48 bytes) into a Slice(UInt8) at byte_offset
Constructor Detail
def self.new(px : Float32 = 0.0_f32, py : Float32 = 0.0_f32, pz : Float32 = 0.0_f32, life : Float32 = 1.0_f32, vx : Float32 = 0.0_f32, vy : Float32 = 0.0_f32, vz : Float32 = 0.0_f32, max_life : Float32 = 1.0_f32, r : Float32 = 1.0_f32, g : Float32 = 1.0_f32, b : Float32 = 1.0_f32, scale : Float32 = 1.0_f32)
#
Reads a ParticleState from a Slice(UInt8) at byte_offset
Instance Method Detail
def write_to_bytes(buffer : Bytes, byte_offset : Int32 = 0) : Void
#
Writes the 12 Float32 components (48 bytes) into a Slice(UInt8) at byte_offset