nds_test2

annotate src/ds3.h @ 2:dd8c9847bae9

cube
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 29 Jan 2018 14:40:45 +0200
parents d625ba001a62
children
rev   line source
nuclear@0 1 #ifndef DS3_H_
nuclear@0 2 #define DS3_H_
nuclear@0 3
nuclear@0 4 #include <stdint.h>
nuclear@0 5
nuclear@0 6 #define RGB15(r, g, b) (((r) & 0x1f) | (((g) & 0x1f) << 5) | (((b) & 0x1f) << 10))
nuclear@0 7
nuclear@1 8 #define DS3_TEXTURE_2D 0x0001
nuclear@1 9 #define DS3_SPECULAR 0x0002
nuclear@1 10 #define DS3_ALPHA_TEST 0x0004
nuclear@1 11 #define DS3_BLEND 0x0008
nuclear@1 12 #define DS3_POLYGON_SMOOTH 0x0010
nuclear@1 13 #define DS3_EDGE 0x0020
nuclear@1 14 #define DS3_FOG_ALPHA 0x0040
nuclear@1 15 #define DS3_FOG 0x0080
nuclear@1 16 #define DS3_CLEAR_BM 0x4000
nuclear@0 17
nuclear@0 18 #define DS3_TRIANGLES 0
nuclear@0 19 #define DS3_QUADS 1
nuclear@0 20 #define DS3_TRIANGLE_STRIP 2
nuclear@0 21 #define DS3_QUAD_STRIP 3
nuclear@0 22
nuclear@0 23 #define DS3_PROJECTION 0
nuclear@0 24 #define DS3_MODELVIEW 1
nuclear@0 25 #define DS3_TEXTURE 2
nuclear@0 26
nuclear@0 27 void ds3_enable(unsigned int x);
nuclear@0 28 void ds3_disable(unsigned int x);
nuclear@0 29
nuclear@0 30 void ds3_clear_color(uint16_t color, int a);
nuclear@0 31 void ds3_clear_depth(int z);
nuclear@0 32
nuclear@0 33 void ds3_viewport(int x, int y, int w, int h);
nuclear@0 34
nuclear@0 35 void ds3_matrix_mode(int mmode);
nuclear@0 36 void ds3_load_identity(void);
nuclear@0 37 void ds3_load_matrix(int32_t *m);
nuclear@1 38 void ds3_load_matrix4x3(int32_t *m);
nuclear@1 39 void ds3_mult_matrix(int32_t *m);
nuclear@1 40 void ds3_mult_matrix4x3(int32_t *m);
nuclear@1 41 void ds3_mult_matrix3x3(int32_t *m);
nuclear@0 42 void ds3_push_matrix(void);
nuclear@0 43 void ds3_pop_matrix(void);
nuclear@0 44 void ds3_translate(int32_t x, int32_t y, int32_t z);
nuclear@0 45 void ds3_scale(int32_t x, int32_t y, int32_t z);
nuclear@0 46
nuclear@0 47 void ds3_swap_buffers(void);
nuclear@0 48
nuclear@0 49 void ds3_begin(int prim);
nuclear@0 50 void ds3_end(void);
nuclear@0 51
nuclear@0 52 void ds3_vertex3(int32_t x, int32_t y, int32_t z);
nuclear@1 53 void ds3_vertex3f(float x, float y, float z);
nuclear@1 54 void ds3_vertex2(int32_t x, int32_t y);
nuclear@1 55 void ds3_vertex2f(float x, float y);
nuclear@0 56 void ds3_color(uint16_t color);
nuclear@0 57 void ds3_color3b(unsigned char r, unsigned char g, unsigned char b);
nuclear@1 58 void ds3_color3f(float r, float g, float b);
nuclear@1 59 void ds3_normal(int32_t x, int32_t y, int32_t z);
nuclear@1 60 void ds3_normal3f(float x, float y, float z);
nuclear@1 61 void ds3_texcoord2(int32_t s, int32_t t);
nuclear@1 62 void ds3_texcoord2f(float s, float t);
nuclear@1 63
nuclear@1 64 void ds3_ortho(int32_t left, int32_t right, int32_t top, int32_t bottom, int32_t znear, int32_t zfar);
nuclear@1 65 void ds3_orthof(float left, float right, float top, float bottom, float znear, float zfar);
nuclear@1 66
nuclear@1 67 void ds3_frustum(int32_t left, int32_t right, int32_t top, int32_t bottom, int32_t znear, int32_t zfar);
nuclear@1 68
nuclear@2 69 void ds3_perspectivef(float vfov_deg, float aspect, float znear, float zfar);
nuclear@2 70
nuclear@2 71 int32_t x16div(int32_t a, int32_t b);
nuclear@0 72
nuclear@0 73 #endif /* DS3_H_ */