- Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathSWprogram.h
More file actions
Latest commit
56 lines (46 loc) · 2.64 KB
/
Copy pathSWprogram.h
File metadata and controls
56 lines (46 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndefSW_PROGRAM_H
#defineSW_PROGRAM_H
#include"SWcore.h"
#defineSW_MAX_VTX_ATTRIBS 16
#defineSW_MAX_UNIFORMS 32
typedefstructSWprogram {
vtx_shader_procv_proc;
SWintv_out_size;
frag_shader_procf_proc;
SWvtx_attributevertex_attributes[SW_MAX_VTX_ATTRIBS];
SWuintnum_attributes;
SWuniformuniforms[SW_MAX_UNIFORMS];
SWubyte*uniform_buf;
SWuintunifrom_buf_size;
} SWprogram;
voidswProgInit(SWprogram*p, SWubyte*uniform_buf, vtx_shader_procv_proc,
frag_shader_procf_proc, SWintv_out_floats);
voidswProgDestroy(SWprogram*p);
voidswProgSetVtxAttribPointer(SWprogram*p, SWcontext*ctx, SWuintindex, SWintsize,
SWintstride, constvoid*pointer);
voidswProgDisableVtxAttrib(SWprogram*p, SWuintindex);
voidswProgRegUniform(SWprogram*p, SWintindex, SWenumtype);
voidswProgRegUniformv(SWprogram*p, SWintindex, SWenumtype, SWintnum);
voidswProgSetProgramUniform(SWprogram*p, SWintindex, SWenumtype, constvoid*data);
voidswProgSetProgramUniformv(SWprogram*p, SWintindex, SWenumtype, SWintnum,
constvoid*data);
voidswProgDrawLinesArray(SWprogram*p, SWcontext*ctx, SWuintfirst, SWuintcount);
voidswProgDrawLineStripArray(SWprogram*p, SWcontext*ctx, SWuintfirst, SWuintcount);
voidswProgDrawLinesIndexed(SWprogram*p, SWcontext*ctx, SWuintcount, SWenumindex_type,
constvoid*indices);
voidswProgDrawLineStripIndexed(SWprogram*p, SWcontext*ctx, SWuintcount,
SWenumindex_type, constvoid*indices);
voidswProgDrawCurvesArray(SWprogram*p, SWcontext*ctx, SWuintfirst, SWuintcount);
voidswProgDrawCurveStripArray(SWprogram*p, SWcontext*ctx, SWuintfirst, SWuintcount);
voidswProgDrawCurvesIndexed(SWprogram*p, SWcontext*ctx, SWuintcount,
SWenumindex_type, constvoid*indices);
voidswProgDrawCurveStripIndexed(SWprogram*p, SWcontext*ctx, SWuintcount,
SWenumindex_type, constvoid*indices);
voidswProgDrawTrianglesArray(SWprogram*p, SWcontext*ctx, SWuintfirst, SWuintcount);
voidswProgDrawTriangleStripArray(SWprogram*p, SWcontext*ctx, SWuintfirst,
SWuintcount);
voidswProgDrawTrianglesIndexed(SWprogram*p, SWcontext*ctx, SWuintcount,
SWenumindex_type, constvoid*indices);
voidswProgDrawTriangleStripIndexed(SWprogram*p, SWcontext*ctx, SWuintcount,
SWenumindex_type, constvoid*indices);
#endif/* SW_PROGRAM_H */