| #ifndef __RS_GRAPHICS_RSH__ |
| #define __RS_GRAPHICS_RSH__ |
| |
| // Bind a ProgramFragment to the RS context. |
| extern void __attribute__((overloadable)) |
| rsgBindProgramFragment(rs_program_fragment); |
| extern void __attribute__((overloadable)) |
| rsgBindProgramStore(rs_program_store); |
| extern void __attribute__((overloadable)) |
| rsgBindProgramVertex(rs_program_vertex); |
| extern void __attribute__((overloadable)) |
| rsgBindProgramRaster(rs_program_raster); |
| |
| extern void __attribute__((overloadable)) |
| rsgBindSampler(rs_program_fragment, uint slot, rs_sampler); |
| extern void __attribute__((overloadable)) |
| rsgBindTexture(rs_program_fragment, uint slot, rs_allocation); |
| |
| extern void __attribute__((overloadable)) |
| rsgProgramVertexLoadProjectionMatrix(const rs_matrix4x4 *); |
| extern void __attribute__((overloadable)) |
| rsgProgramVertexLoadModelMatrix(const rs_matrix4x4 *); |
| extern void __attribute__((overloadable)) |
| rsgProgramVertexLoadTextureMatrix(const rs_matrix4x4 *); |
| |
| extern void __attribute__((overloadable)) |
| rsgProgramVertexGetProjectionMatrix(rs_matrix4x4 *); |
| |
| extern void __attribute__((overloadable)) |
| rsgProgramFragmentConstantColor(rs_program_fragment, float, float, float, float); |
| |
| extern uint __attribute__((overloadable)) |
| rsgGetWidth(void); |
| extern uint __attribute__((overloadable)) |
| rsgGetHeight(void); |
| |
| extern void __attribute__((overloadable)) |
| rsgAllocationSyncAll(rs_allocation); |
| |
| extern void __attribute__((overloadable)) |
| rsgDrawRect(float x1, float y1, float x2, float y2, float z); |
| extern void __attribute__((overloadable)) |
| 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); |
| extern void __attribute__((overloadable)) |
| 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); |
| extern void __attribute__((overloadable)) |
| rsgDrawSpriteScreenspace(float x, float y, float z, float w, float h); |
| |
| extern void __attribute__((overloadable)) |
| rsgDrawMesh(rs_mesh ism); |
| extern void __attribute__((overloadable)) |
| rsgDrawMesh(rs_mesh ism, uint primitiveIndex); |
| extern void __attribute__((overloadable)) |
| rsgDrawMesh(rs_mesh ism, uint primitiveIndex, uint start, uint len); |
| |
| extern void __attribute__((overloadable)) |
| rsgClearColor(float, float, float, float); |
| extern void __attribute__((overloadable)) |
| rsgClearDepth(float); |
| |
| extern void __attribute__((overloadable)) |
| rsgDrawText(const char *, int x, int y); |
| extern void __attribute__((overloadable)) |
| rsgDrawText(rs_allocation, int x, int y); |
| extern void __attribute__((overloadable)) |
| rsgBindFont(rs_font); |
| extern void __attribute__((overloadable)) |
| rsgFontColor(float, float, float, float); |
| // Returns the bounding box of the text relative to (0, 0) |
| // Any of left, right, top, bottom could be NULL |
| extern void __attribute__((overloadable)) |
| rsgMeasureText(const char *, int *left, int *right, int *top, int *bottom); |
| extern void __attribute__((overloadable)) |
| rsgMeasureText(rs_allocation, int *left, int *right, int *top, int *bottom); |
| |
| extern void __attribute__((overloadable)) |
| rsgMeshComputeBoundingBox(rs_mesh mesh, float *minX, float *minY, float *minZ, |
| float *maxX, float *maxY, float *maxZ); |
| __inline__ static void __attribute__((overloadable, always_inline)) |
| rsgMeshComputeBoundingBox(rs_mesh mesh, float3 *bBoxMin, float3 *bBoxMax) { |
| float x1, y1, z1, x2, y2, z2; |
| rsgMeshComputeBoundingBox(mesh, &x1, &y1, &z1, &x2, &y2, &z2); |
| bBoxMin->x = x1; |
| bBoxMin->y = y1; |
| bBoxMin->z = z1; |
| bBoxMax->x = x2; |
| bBoxMax->y = y2; |
| bBoxMax->z = z2; |
| } |
| |
| /////////////////////////////////////////////////////// |
| // misc |
| |
| // Depricated |
| extern void __attribute__((overloadable)) |
| color(float, float, float, float); |
| |
| #endif |
| |