Mercurial > games > semicongine
comparison semiconginev2/core/matrix.nim @ 1254:b0f4c8ccd49a
did: stuff to test gltf importer
| author | sam <sam@basx.dev> |
|---|---|
| date | Sat, 27 Jul 2024 20:47:54 +0700 |
| parents | c4f98eb4bb05 |
| children | e9b8d87b9883 |
comparison
equal
deleted
inserted
replaced
| 1253:c4f98eb4bb05 | 1254:b0f4c8ccd49a |
|---|---|
| 21 TMat43*[T: SomeNumber] = object | 21 TMat43*[T: SomeNumber] = object |
| 22 data*: array[12, T] | 22 data*: array[12, T] |
| 23 TMat4*[T: SomeNumber] = object | 23 TMat4*[T: SomeNumber] = object |
| 24 data*: array[16, T] | 24 data*: array[16, T] |
| 25 TMat* = TMat2|TMat3|TMat4|TMat23|TMat32|TMat34|TMat43 | 25 TMat* = TMat2|TMat3|TMat4|TMat23|TMat32|TMat34|TMat43 |
| 26 TSquareMat = TMat2|TMat3|TMat4 | |
| 26 Mat2* = TMat2[float32] | 27 Mat2* = TMat2[float32] |
| 27 Mat23* = TMat23[float32] | 28 Mat23* = TMat23[float32] |
| 28 Mat32* = TMat32[float32] | 29 Mat32* = TMat32[float32] |
| 29 Mat3* = TMat3[float32] | 30 Mat3* = TMat3[float32] |
| 30 Mat34* = TMat34[float32] | 31 Mat34* = TMat34[float32] |
| 310 result.add(createVecMatMultiplicationOperator(TMat3, TVec3)) | 311 result.add(createVecMatMultiplicationOperator(TMat3, TVec3)) |
| 311 result.add(createVecMatMultiplicationOperator(TMat4, TVec4)) | 312 result.add(createVecMatMultiplicationOperator(TMat4, TVec4)) |
| 312 | 313 |
| 313 createAllMultiplicationOperators() | 314 createAllMultiplicationOperators() |
| 314 | 315 |
| 316 proc `+=`*[T1: TSquareMat, T2: TSquareMat|SomeNumber](a: var T1, b: T2) = | |
| 317 a = a + b | |
| 318 | |
| 319 proc `-=`*[T1: TSquareMat, T2: TSquareMat|SomeNumber](a: var T1, b: T2) = | |
| 320 a = a + b | |
| 321 | |
| 322 proc `*=`*[T1: TSquareMat, T2: TSquareMat|SomeNumber](a: var T1, b: T2) = | |
| 323 a = a * b | |
| 324 | |
| 315 func `*`*(mat: Mat4, vec: Vec3f): Vec3f = | 325 func `*`*(mat: Mat4, vec: Vec3f): Vec3f = |
| 316 (mat * vec.ToVec4(1)).ToVec3 | 326 (mat * vec.ToVec4(1)).ToVec3 |
| 317 | 327 |
| 318 func Transposed*[T](m: TMat2[T]): TMat2[T] = TMat2[T](data: [ | 328 func Transposed*[T](m: TMat2[T]): TMat2[T] = TMat2[T](data: [ |
| 319 m[0, 0], m[1, 0], | 329 m[0, 0], m[1, 0], |
