PG
Size: a a a
PG
YK
b⛅
a
,
в отсутствие чего-либо во вводе REPL'а вызывает команду slime-handle-repl-shortcut
, которая выглядит полезной.a
(defun transform-matrix (transform)
(with-slots ((r rotation) (s scale) (tr translation)) transform
(let ((xx (* (quaternion-x r) (quaternion-x r)))
(xy (* (quaternion-x r) (quaternion-y r)))
(xz (* (quaternion-x r) (quaternion-z r)))
(xw (* (quaternion-x r) (quaternion-w r)))
(yy (* (quaternion-y r) (quaternion-y r)))
(yz (* (quaternion-y r) (quaternion-z r)))
(yw (* (quaternion-y r) (quaternion-w r)))
(zz (* (quaternion-z r) (quaternion-z r)))
(zw (* (quaternion-z r) (quaternion-w r))))
(make-float4x4 (* (float3-x s)
(- 1.0f0 (* 2.0f0 (+ yy zz))))
(* (float3-y s)
(* 2.0f0 (- xy zw)))
(* (float3-z s)
(* 2.0f0 (+ xz yw)))
(float3-x tr)
(* (float3-x s)
(* 2.0f0 (+ xy zw)))
(* (float3-y s)
(- 1.0f0 (* 2.0f0 (+ xx zz))))
(* (float3-z s)
(* 2.0f0 (- yz xw)))
(float3-y tr)
(* (float3-x s)
(* 2.0f0 (- xz yw)))
(* (float3-y s)
(* 2.0f0 (+ yz xw)))
(* (float3-z s)
(- 1.0f0 (* 2.0f0 (+ xx yy))))
(float3-z tr)
0.0f0
0.0f0
0.0f0
1.0f0))))
a
(defun transform-matrix (transform)
(with-slots ((r rotation) (s scale) (tr translation)) transform
(let ((xx (* (quaternion-x r) (quaternion-x r)))
(xy (* (quaternion-x r) (quaternion-y r)))
(xz (* (quaternion-x r) (quaternion-z r)))
(xw (* (quaternion-x r) (quaternion-w r)))
(yy (* (quaternion-y r) (quaternion-y r)))
(yz (* (quaternion-y r) (quaternion-z r)))
(yw (* (quaternion-y r) (quaternion-w r)))
(zz (* (quaternion-z r) (quaternion-z r)))
(zw (* (quaternion-z r) (quaternion-w r))))
(make-float4x4 (* (float3-x s)
(- 1.0f0 (* 2.0f0 (+ yy zz))))
(* (float3-y s)
(* 2.0f0 (- xy zw)))
(* (float3-z s)
(* 2.0f0 (+ xz yw)))
(float3-x tr)
(* (float3-x s)
(* 2.0f0 (+ xy zw)))
(* (float3-y s)
(- 1.0f0 (* 2.0f0 (+ xx zz))))
(* (float3-z s)
(* 2.0f0 (- yz xw)))
(float3-y tr)
(* (float3-x s)
(* 2.0f0 (- xz yw)))
(* (float3-y s)
(* 2.0f0 (+ yz xw)))
(* (float3-z s)
(- 1.0f0 (* 2.0f0 (+ xx yy))))
(float3-z tr)
0.0f0
0.0f0
0.0f0
1.0f0))))
tr
это что?AE
AE
AE
a
AE
AE
AE
AE
AE
AE
AE