mirror of
https://github.com/recp/cglm.git
synced 2025-10-03 16:51:35 +00:00
changing from mat4 to mat3
This commit is contained in:
@@ -46,7 +46,7 @@ Functions documentation
|
|||||||
| *[in]* **aabb** bounding box
|
| *[in]* **aabb** bounding box
|
||||||
| *[out]* **dest** destination
|
| *[out]* **dest** destination
|
||||||
|
|
||||||
.. c:function:: void glm_aabb2d_transform(vec2 aabb[2], mat4 m, vec2 dest[2])
|
.. c:function:: void glm_aabb2d_transform(vec2 aabb[2], mat3 m, vec2 dest[2])
|
||||||
|
|
||||||
| apply transform to Axis-Aligned Bounding Box
|
| apply transform to Axis-Aligned Bounding Box
|
||||||
|
|
||||||
|
@@ -35,8 +35,8 @@ glm_aabb2d_copy(vec2 aabb[2], vec2 dest[2]) {
|
|||||||
*/
|
*/
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
void
|
void
|
||||||
glm_aabb2d_transform(vec2 aabb[2], mat4 m, vec2 dest[2]) {
|
glm_aabb2d_transform(vec2 aabb[2], mat3 m, vec2 dest[2]) {
|
||||||
vec2 v[2], xa, xb, ya, yb, za, zb;
|
vec2 v[2], xa, xb, ya, yb;
|
||||||
|
|
||||||
glm_vec2_scale(m[0], aabb[0][0], xa);
|
glm_vec2_scale(m[0], aabb[0][0], xa);
|
||||||
glm_vec2_scale(m[0], aabb[1][0], xb);
|
glm_vec2_scale(m[0], aabb[1][0], xb);
|
||||||
@@ -48,13 +48,11 @@ glm_aabb2d_transform(vec2 aabb[2], mat4 m, vec2 dest[2]) {
|
|||||||
glm_vec2(m[3], v[0]);
|
glm_vec2(m[3], v[0]);
|
||||||
glm_vec2_minadd(xa, xb, v[0]);
|
glm_vec2_minadd(xa, xb, v[0]);
|
||||||
glm_vec2_minadd(ya, yb, v[0]);
|
glm_vec2_minadd(ya, yb, v[0]);
|
||||||
glm_vec2_minadd(za, zb, v[0]);
|
|
||||||
|
|
||||||
/* translation + max(xa, xb) + max(ya, yb) + max(za, zb) */
|
/* translation + max(xa, xb) + max(ya, yb) + max(za, zb) */
|
||||||
glm_vec2(m[3], v[1]);
|
glm_vec2(m[3], v[1]);
|
||||||
glm_vec2_maxadd(xa, xb, v[1]);
|
glm_vec2_maxadd(xa, xb, v[1]);
|
||||||
glm_vec2_maxadd(ya, yb, v[1]);
|
glm_vec2_maxadd(ya, yb, v[1]);
|
||||||
glm_vec2_maxadd(za, zb, v[1]);
|
|
||||||
|
|
||||||
glm_vec2_copy(v[0], dest[0]);
|
glm_vec2_copy(v[0], dest[0]);
|
||||||
glm_vec2_copy(v[1], dest[1]);
|
glm_vec2_copy(v[1], dest[1]);
|
||||||
|
@@ -19,7 +19,7 @@ glmc_aabb2d_copy(vec2 aabb[2], vec2 dest[2]);
|
|||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
void
|
void
|
||||||
glmc_aabb2d_transform(vec2 aabb[2], mat4 m, vec2 dest[2]);
|
glmc_aabb2d_transform(vec2 aabb[2], mat3 m, vec2 dest[2]);
|
||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
void
|
void
|
||||||
|
@@ -27,7 +27,7 @@
|
|||||||
*/
|
*/
|
||||||
CGLM_INLINE
|
CGLM_INLINE
|
||||||
void
|
void
|
||||||
glms_aabb2d_(transform)(vec2s aabb[2], mat4s m, vec2s dest[2]) {
|
glms_aabb2d_(transform)(vec2s aabb[2], mat3s m, vec2s dest[2]) {
|
||||||
vec2 rawAabb[2];
|
vec2 rawAabb[2];
|
||||||
vec2 rawDest[2];
|
vec2 rawDest[2];
|
||||||
|
|
||||||
|
@@ -16,7 +16,7 @@ glmc_aabb2d_copy(vec2 aabb[2], vec2 dest[2]) {
|
|||||||
|
|
||||||
CGLM_EXPORT
|
CGLM_EXPORT
|
||||||
void
|
void
|
||||||
glmc_aabb2d_transform(vec2 aabb[2], mat4 m, vec2 dest[2]) {
|
glmc_aabb2d_transform(vec2 aabb[2], mat3 m, vec2 dest[2]) {
|
||||||
glm_aabb2d_transform(aabb, m, dest);
|
glm_aabb2d_transform(aabb, m, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user