Sure.
    
    
    type
      vector4_t* {.bycopy.} = object
        x*: cfloat
        y*: cfloat
        z*: cfloat
        w*: cfloat
    
    
    const
      RIGIDBODY_SIZE* = 64
    
    type
      rigidbody_t* {.bycopy.} = object
        len*: int
        position*: array[RIGIDBODY_SIZE, vector4_t]
        velocity*: array[RIGIDBODY_SIZE, vector4_t]
    
    
    proc physics_integrate*(rigidbody: rigidbody_t) =
      ##  Load
      let positions = rigidbody.position
      let velocities = rigidbody.velocity
      ##  Transform
      for i in 0..< rigidbody.len:
        ##  Load
        let position = positions[index]
        let velocity = velocities[index]
        ##  Transform
        let result = vector4_add(position, velocity)
        ##  Store
        positions[index] = result
      ##  Store
    
    
    
    Run

Reply via email to