rs_graphics.rsh revision 1b937f5c0d66a65daf07a45554c98a9f2481b9ba
1#ifndef __RS_GRAPHICS_RSH__
2#define __RS_GRAPHICS_RSH__
3
4#include "rs_math.rsh"
5
6
7// context
8extern void rsgBindProgramFragment(rs_program_fragment);
9extern void rsgBindProgramStore(rs_program_store);
10extern void rsgBindProgramVertex(rs_program_vertex);
11extern void rsgBindProgramRaster(rs_program_raster);
12
13extern void rsgBindSampler(rs_program_fragment, int slot, rs_sampler);
14extern void rsgBindTexture(rs_program_fragment, int slot, rs_allocation);
15
16extern void rsgProgramVertexLoadModelMatrix(const rs_matrix4x4 *);
17extern void rsgProgramVertexLoadTextureMatrix(const rs_matrix4x4 *);
18
19extern int rsgGetWidth();
20extern int rsgGetHeight();
21
22extern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation);
23extern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation, int mipLevel);
24extern void rsgUploadToBufferObject(rs_allocation);
25//extern void rsgUploadMesh(rs_mesh);
26
27extern void rsgDrawRect(float x1, float y1, float x2, float y2, float z);
28extern void rsgDrawQuad(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4);
29extern void rsgDrawQuadTexCoords(float x1, float y1, float z1, float u1, float v1, float x2, float y2, float z2, float u2, float v2, float x3, float y3, float z3, float u3, float v3, float x4, float y4, float z4, float u4, float v4);
30//extern void rsgDrawSprite(float x, float y, float z, float w, float h);
31extern void rsgDrawSpriteScreenspace(float x, float y, float z, float w, float h);
32extern void rsgDrawLine(float x1, float y1, float z1, float x2, float y2, float z2);
33extern void rsgDrawPoint(float x1, float y1, float z1);
34extern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism);
35extern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism, int start, int len);
36
37extern void rsgClearColor(float, float, float, float);
38extern void rsgClearDepth(float);
39
40///////////////////////////////////////////////////////
41// misc
42extern void color(float, float, float, float);
43extern void hsb(float, float, float, float);
44extern void hsbToRgb(float, float, float, float*);
45extern int hsbToAbgr(float, float, float, float);
46
47#endif
48
49