rs_graphics.rsh revision d3e0ad43dc758c409fc23d1893dab67b18520c24
11b937f5c0d66a65daf07a45554c98a9f2481b9baJason Sams#ifndef __RS_GRAPHICS_RSH__ 21b937f5c0d66a65daf07a45554c98a9f2481b9baJason Sams#define __RS_GRAPHICS_RSH__ 31b937f5c0d66a65daf07a45554c98a9f2481b9baJason Sams 422fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams#include "rs_math.rsh" 551f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 651f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 722fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams// context 822fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindProgramFragment(rs_program_fragment); 922fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindProgramStore(rs_program_store); 1022fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindProgramVertex(rs_program_vertex); 1122fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindProgramRaster(rs_program_raster); 12f2bcce71dc7a2328355ce779028904772a85cc5fJason Sams 1322fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindSampler(rs_program_fragment, int slot, rs_sampler); 1422fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgBindTexture(rs_program_fragment, int slot, rs_allocation); 1551f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 1622fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgProgramVertexLoadModelMatrix(const rs_matrix4x4 *); 1722fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgProgramVertexLoadTextureMatrix(const rs_matrix4x4 *); 1851f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 1922fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern int rsgGetWidth(); 2022fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern int rsgGetHeight(); 2151f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 2222fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation); 2322fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void __attribute__((overloadable)) rsgUploadToTexture(rs_allocation, int mipLevel); 2422fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgUploadToBufferObject(rs_allocation); 2522fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams//extern void rsgUploadMesh(rs_mesh); 2651f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 2722fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgDrawRect(float x1, float y1, float x2, float y2, float z); 2822fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern 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); 2922fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern 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); 3022fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams//extern void rsgDrawSprite(float x, float y, float z, float w, float h); 3122fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgDrawSpriteScreenspace(float x, float y, float z, float w, float h); 3222fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism); 3322fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void __attribute__((overloadable)) rsgDrawSimpleMesh(rs_mesh ism, int start, int len); 3451f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 3522fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgClearColor(float, float, float, float); 3622fa371bf64b8aae786acfe5d711af21afb13a93Jason Samsextern void rsgClearDepth(float); 3751f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 38d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchoukextern void __attribute__((overloadable)) rsgDrawText(const char *, int x, int y); 39d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchoukextern void __attribute__((overloadable)) rsgDrawText(rs_allocation, int x, int y); 40d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchoukextern void rsgBindFont(rs_font); 41d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk 4222fa371bf64b8aae786acfe5d711af21afb13a93Jason Sams/////////////////////////////////////////////////////// 4351f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams// misc 4451f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Samsextern void color(float, float, float, float); 4551f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 461b937f5c0d66a65daf07a45554c98a9f2481b9baJason Sams#endif 4751f36ab783316b1c036bab4c3f7e0934dd564bd7Jason Sams 48