Method: CGLM::Mat4#decompose

Defined in:
ext/cglm/rb_cglm_affine.c

#decompose(t, r, s) ⇒ self

Decomposes self into a translation Vec4 t, rotation Mat4 r and scale Vec3 s.

Returns:

  • (self)


296
297
298
299
300
301
302
303
304
305
306
# File 'ext/cglm/rb_cglm_affine.c', line 296

VALUE rb_cglm_decompose(VALUE self, VALUE trans, VALUE rot, VALUE scale) {
  mat4 *m, *r;
  vec3 *s;
  vec4 *t;
  m = &VAL2MAT4(self);
  t = &VAL2VEC4(trans);
  r = &VAL2MAT4(rot);
  s = &VAL2VEC3(scale);
  glm_decompose(*m, *t, *r, *s);
  return self;
}