1 /**
2  * Copyright:       Copyright (C) 2018 Gabriel Gheorghe, All Rights Reserved
3  * Authors:         $(Gabriel Gheorghe)
4  * License:         $(LINK2 https://www.gnu.org/licenses/gpl-3.0.txt, GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007)
5  * Source:          $(LINK2 https://github.com/GabyForceQ/LibertyEngine/blob/master/source/liberty/graphics/constants.d)
6  * Documentation:
7  * Coverage:
8 **/
9 module liberty.graphics.constants;
10 
11 /**
12  * Possible video card vendors.
13 **/
14 enum GfxVendor : byte {
15   /**
16    * AMD vendor.
17   **/
18   AMD = 0x00,
19 
20   /**
21    * Intel vendor.
22   **/
23   INTEL = 0x01,
24 
25   /**
26    * Nvidia vendor.
27   **/
28   NVIDIA = 0x02,
29 
30   /**
31    * Vendor is unknown.
32   **/
33   UNKNOWN = -0x01
34 }
35 
36 /**
37  *
38 **/
39 enum GfxBlending : byte {
40   /**
41    *
42   **/
43 	OPAQUE = 0x00,
44   
45 	/**
46    *
47   **/
48 	ALPHA_BLEND = 0x01,
49   
50 	/**
51    *
52   **/
53 	NON_PREMULTIPLIED = 0x02,
54  
55   /**
56    *
57   **/
58 	ADDITIVE = 0x03
59 }
60 
61 /**
62  *
63 **/
64 enum GfxSampling : byte {
65   /**
66    *
67   **/
68 	ANISOTROPIC_CLAMP = 0x00,
69   
70 	/**
71    *
72   **/
73 	ANISOTROPIC_WRAP = 0x01,
74   
75 	/**
76    *
77   **/
78 	LINEAR_CLAMP = 0x02,
79   
80 	/**
81    *
82   **/
83 	LINEAR_WRAP = 0x03,
84   
85 	/**
86    *
87   **/
88 	POINT_CLAMP = 0x04,
89   
90 	/**
91    *
92   **/
93 	POINT_WRAP = 0x05
94 }
95 
96 /**
97  *
98 **/
99 enum GfxVSyncState : byte {
100   /**
101    *
102   **/
103 	IMMEDIATE = 0x00,
104   
105 	/**
106    *
107   **/
108 	DEFAULT = 0x01,
109   
110 	/**
111    *
112   **/
113 	LATE_TEARING = -0x01
114 }
115 
116 /**
117  * Draw modes.
118 **/
119 enum GfxDrawMode : byte {
120   /**
121    * Draw triangles.
122   **/
123 	TRIANGLES = 0x00
124 }
125 
126 /**
127  *
128 **/
129 enum GfxVectorType : byte {
130   /**
131    * Unsigned integer.
132   **/
133 	UINT = 0x00
134 }