blob: 0f03732a17f98be232bfb9aa38c42bf133b84b72 [file] [log] [blame]
Jason Sams51f36ab2010-03-18 14:36:05 -07001
2
Jason Samsf2bcce72010-03-26 15:33:42 -07003extern float rand(float max);
4
Jason Sams51f36ab2010-03-18 14:36:05 -07005extern float2 vec2Rand(float len);
6
7extern float3 float3Norm(float3);
8extern float float3Length(float3);
9extern float3 float3Add(float3 lhs, float3 rhs);
10extern float3 float3Sub(float3 lhs, float3 rhs);
11extern float3 float3Cross(float3 lhs, float3 rhs);
12extern float float3Dot(float3 lhs, float3 rhs);
13extern float3 float3Scale(float3 v, float scale);
14
15extern float4 float4Add(float4 lhs, float4 rhs);
16extern float4 float4Sub(float4 lhs, float4 rhs);
17extern float4 float4Cross(float4 lhs, float4 rhs);
18extern float float4Dot(float4 lhs, float4 rhs);
19extern float4 float4Scale(float4 v, float scale);
20
21 // context
22extern void bindProgramFragment(rs_program_fragment);
23extern void bindProgramStore(rs_program_store);
24extern void bindProgramVertex(rs_program_vertex);
25
26extern void bindSampler(rs_program_fragment, int slot, rs_sampler);
27extern void bindSampler(rs_program_fragment, int slot, rs_allocation);
28
29extern void vpLoadModelMatrix(const float *);
30extern void vpLoadTextureMatrix(const float *);
31
32
33// drawing
34extern void drawRect(float x1, float y1, float x2, float y2, float z);
35extern void drawQuad(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4);
36extern void drawQuadTexCoords(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);
37extern void drawSprite(float x, float y, float z, float w, float h);
38extern void drawSpriteScreenspace(float x, float y, float z, float w, float h);
39extern void drawLine(float x1, float y1, float z1, float x2, float y2, float z2);
40extern void drawPoint(float x1, float y1, float z1);
41extern void drawSimpleMesh(int ism);
42extern void drawSimpleMeshRange(int ism, int start, int len);
43
44// misc
45extern void pfClearColor(float, float, float, float);
46extern void color(float, float, float, float);
47extern void hsb(float, float, float, float);
48extern void hsbToRgb(float, float, float, float*);
49extern int hsbToAbgr(float, float, float, float);
50
51extern void uploadToTexture(int, int);
52extern void uploadToBufferObject(int);
53
54extern int colorFloatRGBAtoUNorm8(float, float, float, float);
55extern int colorFloatRGBto565(float, float, float);
56
57extern int getWidth();
58extern int getHeight();
59
60extern int sendToClient(void *data, int cmdID, int len, int waitForSpace);
61
62extern void debugF(const char *, float);
63extern void debugI32(const char *, int);
64extern void debugHexI32(const char *, int);
65
66
67