blob: 626f26758adcc6e598e85839b117c77dbd2f880c [file] [log] [blame]
Jason Sams22fa3712010-05-19 17:22:57 -07001#include "rs_math.rsh"
Jason Sams51f36ab2010-03-18 14:36:05 -07002
3
Jason Sams22fa3712010-05-19 17:22:57 -07004// context
5extern void rsgBindProgramFragment(rs_program_fragment);
6extern void rsgBindProgramStore(rs_program_store);
7extern void rsgBindProgramVertex(rs_program_vertex);
8extern void rsgBindProgramRaster(rs_program_raster);
Jason Samsf2bcce72010-03-26 15:33:42 -07009
Jason Sams22fa3712010-05-19 17:22:57 -070010extern void rsgBindSampler(rs_program_fragment, int slot, rs_sampler);
11extern void rsgBindTexture(rs_program_fragment, int slot, rs_allocation);
Jason Sams51f36ab2010-03-18 14:36:05 -070012
Jason Sams22fa3712010-05-19 17:22:57 -070013extern void rsgProgramVertexLoadModelMatrix(const rs_matrix4x4 *);
14extern void rsgProgramVertexLoadTextureMatrix(const rs_matrix4x4 *);
Jason Sams51f36ab2010-03-18 14:36:05 -070015
Jason Sams22fa3712010-05-19 17:22:57 -070016extern int rsgGetWidth();
17extern int rsgGetHeight();
Jason Sams51f36ab2010-03-18 14:36:05 -070018
Jason Sams22fa3712010-05-19 17:22:57 -070019extern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation);
20extern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation, int mipLevel);
21extern void rsgUploadToBufferObject(rs_allocation);
22//extern void rsgUploadMesh(rs_mesh);
Jason Sams51f36ab2010-03-18 14:36:05 -070023
Jason Sams22fa3712010-05-19 17:22:57 -070024extern void rsgDrawRect(float x1, float y1, float x2, float y2, float z);
25extern 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);
26extern 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);
27//extern void rsgDrawSprite(float x, float y, float z, float w, float h);
28extern void rsgDrawSpriteScreenspace(float x, float y, float z, float w, float h);
29extern void rsgDrawLine(float x1, float y1, float z1, float x2, float y2, float z2);
30extern void rsgDrawPoint(float x1, float y1, float z1);
31extern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism);
32extern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism, int start, int len);
Jason Sams51f36ab2010-03-18 14:36:05 -070033
Jason Sams22fa3712010-05-19 17:22:57 -070034extern void rsgClearColor(float, float, float, float);
35extern void rsgClearDepth(float);
Jason Sams51f36ab2010-03-18 14:36:05 -070036
Jason Sams22fa3712010-05-19 17:22:57 -070037///////////////////////////////////////////////////////
Jason Sams51f36ab2010-03-18 14:36:05 -070038// misc
Jason Sams51f36ab2010-03-18 14:36:05 -070039extern void color(float, float, float, float);
40extern void hsb(float, float, float, float);
41extern void hsbToRgb(float, float, float, float*);
42extern int hsbToAbgr(float, float, float, float);
43
Jason Sams51f36ab2010-03-18 14:36:05 -070044
45