summaryrefslogtreecommitdiff
path: root/src/core/stencil.h
blob: 8af73d02a6b89e189f6826b196d9f08784aae60b (plain)
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
#ifndef _SOFTSHADEROOM_STENCIL_H_
#define _SOFTSHADEROOM_STENCIL_H_

#include "../util/type.h"

typedef bool(*StencilFunc)(byte src, byte ref);

bool stencil_always(byte src, byte ref);
bool stencil_never(byte src, byte ref);
bool stencil_less(byte src, byte ref);
bool stencil_equal(byte src, byte ref);
bool stencil_leuqal(byte src, byte ref);
bool stencil_greater(byte src, byte ref);
bool stencil_notequal(byte src, byte ref);
bool stencil_gequer(byte src, byte ref);

typedef byte (*StencilOp)(byte src, byte ref);

byte stencilop_keep(byte src, byte ref);
byte stencilop_zero(byte src, byte ref);
byte stencilop_replace(byte src, byte ref);
byte stencilop_incr(byte src, byte ref);
byte stencilop_incrwrap(byte src, byte ref);
byte stencilop_decr(byte src, byte ref);
byte stencilop_decrwrap(byte src, byte ref);
byte stencilop_invert(byte src, byte ref);

#endif