1 module polyplex.core.render.enums;
2 
3 
4 public enum VSyncState {
5 	LateTearing = -1,
6 	Immidiate = 0,
7 	VSync = 1
8 }
9 
10 public enum Blending {
11 	Opqaue,
12 	AlphaBlend,
13 	NonPremultiplied,
14 	Additive 
15 }
16 
17 public enum ProjectionState {
18 	Orthographic,
19 	Perspective
20 }
21 
22 public enum Sampling {
23 	AnisotropicClamp,
24 	AnisotropicWrap,
25 	AnisotropicMirror,
26 	LinearClamp,
27 	LinearWrap,
28 	LinearMirror,
29 	PointClamp,
30 	PointMirror,
31 	PointWrap
32 }
33 
34 public enum SpriteSorting {
35 	BackToFront,
36 	Deferred,
37 	FrontToBack,
38 	Immediate,
39 	Texture
40 }
41 
42 public struct RasterizerState {
43 public:
44 	static RasterizerState Default() {
45 		return RasterizerState(true, false, false, false, 0f);
46 	}
47 
48 	bool BackfaceCulling;
49 	bool DepthTest;
50 	bool ScissorTest;
51 	bool MSAA;
52 	float SlopeScaleBias;
53 }
54 
55 /*
56 public enum Stencil {
57 	Default,
58 	DepthRead,
59 	None
60 }*/
61 
62 public enum SpriteFlip {
63 	None = 0x0,
64 	FlipVertical = 0x1,
65 	FlipHorizontal = 0x2
66 }
67 
68 enum ShaderType {
69 	Vertex,
70 	Geometry,
71 	Fragment,
72 	
73 	Stencil,
74 	Compute
75 }
76 
77 enum ShaderLang {
78 	PPSL,
79 	GLSL
80 }