Merge pull request #236 from recp/ivec

add missing ivec types
This commit is contained in:
Recep Aslantas
2022-01-07 00:23:32 +03:00
committed by GitHub
2 changed files with 82 additions and 1 deletions

View File

@@ -47,6 +47,21 @@ typedef union vec2s {
float x;
float y;
};
struct {
float r;
float i;
};
struct {
float u;
float v;
};
struct {
float s;
float t;
};
#endif
} vec2s;
@@ -58,9 +73,40 @@ typedef union vec3s {
float y;
float z;
};
struct {
float r;
float g;
float b;
};
#endif
} vec3s;
typedef union ivec2s {
ivec2 raw;
#if CGLM_USE_ANONYMOUS_STRUCT
struct {
int x;
int y;
};
struct {
int r;
int i;
};
struct {
int u;
int v;
};
struct {
int s;
int t;
};
#endif
} ivec2s;
typedef union ivec3s {
ivec3 raw;
#if CGLM_USE_ANONYMOUS_STRUCT
@@ -69,9 +115,34 @@ typedef union ivec3s {
int y;
int z;
};
struct {
int r;
int g;
int b;
};
#endif
} ivec3s;
typedef union ivec4s {
ivec4 raw;
#if CGLM_USE_ANONYMOUS_STRUCT
struct {
int x;
int y;
int z;
int w;
};
struct {
int r;
int g;
int b;
int a;
};
#endif
} ivec4s;
typedef union CGLM_ALIGN_IF(16) vec4s {
vec4 raw;
#if CGLM_USE_ANONYMOUS_STRUCT
@@ -81,6 +152,13 @@ typedef union CGLM_ALIGN_IF(16) vec4s {
float z;
float w;
};
struct {
float r;
float g;
float b;
float a;
};
#endif
} vec4s;

View File

@@ -42,9 +42,12 @@
#define CGLM_CASTPTR_ASSUME_ALIGNED(expr, type) \
((type*)CGLM_ASSUME_ALIGNED((expr), __alignof__(type)))
typedef int ivec2[2];
typedef int ivec3[3];
typedef int ivec4[4];
typedef float vec2[2];
typedef float vec3[3];
typedef int ivec3[3];
typedef CGLM_ALIGN_IF(16) float vec4[4];
typedef vec4 versor; /* |x, y, z, w| -> w is the last */
typedef vec3 mat3[3];