srp
software rendering pipeline
Loading...
Searching...
No Matches
vec.h
Go to the documentation of this file.
1// Software Rendering Pipeline (SRP) library
2// Licensed under GNU GPLv3
3
4#pragma once
5
9#include <stdint.h>
10
14#pragma pack(push, 1)
15
17typedef struct vec2 { float x, y; } vec2;
19typedef struct vec2d { double x, y; } vec2d;
20#define VEC2_ZERO (vec2) {0, 0}
21#define VEC2D_ZERO (vec2d) {0, 0}
22
24typedef struct vec3 { float x, y, z; } vec3;
26typedef struct vec3d { double x, y, z; } vec3d;
27#define VEC3_ZERO (vec3) {0, 0, 0}
28#define VEC3D_ZERO (vec3d) {0, 0, 0}
29
31typedef struct vec4 { float x, y, z, w; } vec4;
33typedef struct vec4d { double x, y, z, w; } vec4d;
34#define VEC4_ZERO (vec4) {0, 0, 0, 0}
35#define VEC4D_ZERO (vec4d) {0, 0, 0, 0}
36
37#pragma pack(pop)
38
43
55double vec4dIndex(vec4d a, uint8_t index);
56
// defgroup Vector
58
Definition vec.h:17
Definition vec.h:19
Definition vec.h:24
Definition vec.h:26
Definition vec.h:31
Definition vec.h:33
vec4d vec4dAdd(vec4d a, vec4d b)
Definition vec.c:18
vec3d vec3dSubtract(vec3d a, vec3d b)
Definition vec.c:8
vec4d vec4dMultiplyScalar(vec4d a, double b)
Definition vec.c:28
double vec4dIndex(vec4d a, uint8_t index)
Definition vec.c:38