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 }