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_ */
|