blob: 4696fb33c2198b4309e25530e57449834b9b269c [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 Samsbe36bf32010-05-11 14:03:58 -07005//extern void vec2Rand(float *, float len);
Jason Sams51f36ab2010-03-18 14:36:05 -07006extern float2 vec2Rand(float len);
7
8extern float3 float3Norm(float3);
9extern float float3Length(float3);
10extern float3 float3Add(float3 lhs, float3 rhs);
11extern float3 float3Sub(float3 lhs, float3 rhs);
12extern float3 float3Cross(float3 lhs, float3 rhs);
13extern float float3Dot(float3 lhs, float3 rhs);
14extern float3 float3Scale(float3 v, float scale);
15
16extern float4 float4Add(float4 lhs, float4 rhs);
17extern float4 float4Sub(float4 lhs, float4 rhs);
18extern float4 float4Cross(float4 lhs, float4 rhs);
19extern float float4Dot(float4 lhs, float4 rhs);
20extern float4 float4Scale(float4 v, float scale);
21
22 // context
23extern void bindProgramFragment(rs_program_fragment);
24extern void bindProgramStore(rs_program_store);
25extern void bindProgramVertex(rs_program_vertex);
26
27extern void bindSampler(rs_program_fragment, int slot, rs_sampler);
28extern void bindSampler(rs_program_fragment, int slot, rs_allocation);
29
30extern void vpLoadModelMatrix(const float *);
31extern void vpLoadTextureMatrix(const float *);
32
33
34// drawing
35extern void drawRect(float x1, float y1, float x2, float y2, float z);
36extern 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);
37extern 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);
38extern void drawSprite(float x, float y, float z, float w, float h);
39extern void drawSpriteScreenspace(float x, float y, float z, float w, float h);
40extern void drawLine(float x1, float y1, float z1, float x2, float y2, float z2);
41extern void drawPoint(float x1, float y1, float z1);
42extern void drawSimpleMesh(int ism);
43extern void drawSimpleMeshRange(int ism, int start, int len);
44
45// misc
46extern void pfClearColor(float, float, float, float);
47extern void color(float, float, float, float);
48extern void hsb(float, float, float, float);
49extern void hsbToRgb(float, float, float, float*);
50extern int hsbToAbgr(float, float, float, float);
51
52extern void uploadToTexture(int, int);
53extern void uploadToBufferObject(int);
54
55extern int colorFloatRGBAtoUNorm8(float, float, float, float);
56extern int colorFloatRGBto565(float, float, float);
57
58extern int getWidth();
59extern int getHeight();
60
61extern int sendToClient(void *data, int cmdID, int len, int waitForSpace);
62
Jason Samsbe36bf32010-05-11 14:03:58 -070063extern uint32_t allocGetDimX(rs_allocation);
64extern uint32_t allocGetDimY(rs_allocation);
65extern uint32_t allocGetDimZ(rs_allocation);
66extern uint32_t allocGetDimLOD(rs_allocation);
67extern uint32_t allocGetDimFaces(rs_allocation);
Jason Sams51f36ab2010-03-18 14:36:05 -070068
Jason Samsbe36bf32010-05-11 14:03:58 -070069//
70extern float normf(float start, float stop, float value);
71extern float clampf(float amount, float low, float high);
72extern float turbulencef2(float x, float y, float octaves);
73extern float turbulencef3(float x, float y, float z, float octaves);
74
75extern uchar4 __attribute__((overloadable)) convertColorTo8888(float r, float g, float b);
76extern uchar4 __attribute__((overloadable)) convertColorTo8888(float r, float g, float b, float a);
77extern uchar4 __attribute__((overloadable)) convertColorTo8888(float3);
78extern uchar4 __attribute__((overloadable)) convertColorTo8888(float4);
Jason Sams51f36ab2010-03-18 14:36:05 -070079
80