LkEngine 0.1.2
 
Loading...
Searching...
No Matches
TextureEnum.h
1#pragma once
2
4#include "LkEngine/Core/Assert.h"
5//#include "LkEngine/Core/Log/Log.h"
6
7
8namespace LkEngine {
9
13 enum class EImageFormat
14 {
15 None = 0,
16 RED8UN,
17 RED8UI,
18 RED16UI,
19 RED32UI,
20 RED32F,
21 RG8,
22 RG16F,
23 RG32F,
24 RGB,
25 RGBA,
26
27 RGB8,
28 RGBA8,
29
30 RGBA16F,
31 RGBA32F,
32
33 B10R11G11UF,
34
35 SRGB,
36 SRGBA,
37
38 DEPTH32FSTENCIL8UINT,
39 DEPTH32F,
40 DEPTH24STENCIL8,
41
42 Depth = DEPTH24STENCIL8,
43 };
44
48 enum class EImageUsage
49 {
50 None = 0,
51 Texture,
52 Attachment,
53 Storage,
54 };
55
59 enum class ETextureWrap
60 {
61 None = 0,
62 Clamp,
63 Repeat
64 };
65
69 enum class ETextureFilter
70 {
71 None = 0,
72 Linear,
73 Nearest
74 };
75
79 enum class ETextureType
80 {
81 None = 0,
82 Texture2D,
83 TextureCube
84 };
85
89 enum class ETextureAnistropicFiltering
90 {
91 None = 0,
92 Bilnear,
93 Trilnear
94 };
95
99 enum class ETextureUniformType : uint8_t
100 {
101 Diffuse = 0,
102 Specular,
103 Normal,
104 Height,
105 Emissive,
106 DiffuseRoughness,
107 };
108
112 enum class EArrayTextureDimension
113 {
114 Dim_200x200,
115 Dim_512x512,
116 Dim_1024x1024,
117 Dim_2048x2048,
118 Dim_4096x4096,
119 };
120
121 enum class EPrimitiveTopology
122 {
123 None = 0,
124 Points,
125 Lines,
126 Triangles,
127 LineStrip,
128 TriangleStrip,
129 TriangleFan
130 };
131
132 enum class EDepthCompareOperator
133 {
134 None = 0,
135 Never,
136 NotEqual,
137 Less,
138 LessOrEqual,
139 Greater,
140 GreaterOrEqual,
141 Equal,
142 Always,
143 };
144
145
146 namespace Enum
147 {
148 inline static constexpr const char* ToString(const EDepthCompareOperator CompareOperator)
149 {
150 switch (CompareOperator)
151 {
152 case EDepthCompareOperator::None: return "None";
153 case EDepthCompareOperator::Never: return "Never";
154 case EDepthCompareOperator::NotEqual: return "NotEqual";
155 case EDepthCompareOperator::Less: return "Less";
156 case EDepthCompareOperator::LessOrEqual: return "LessOrEqual";
157 case EDepthCompareOperator::Greater: return "Greater";
158 case EDepthCompareOperator::GreaterOrEqual: return "GreaterOrEqual";
159 case EDepthCompareOperator::Equal: return "Equal";
160 case EDepthCompareOperator::Always: return "Always";
161 }
162
163 LK_CORE_ASSERT(false, "Invalid EDepthCompareOperator value");
164 return nullptr;
165 }
166
167 inline static constexpr const char* ToString(const EPrimitiveTopology Topology)
168 {
169 switch (Topology)
170 {
171 case EPrimitiveTopology::None: return "None";
172 case EPrimitiveTopology::Points: return "Points";
173 case EPrimitiveTopology::Lines: return "Lines";
174 case EPrimitiveTopology::Triangles: return "Triangles";
175 case EPrimitiveTopology::LineStrip: return "LineStrip";
176 case EPrimitiveTopology::TriangleStrip: return "TriangleStrip";
177 case EPrimitiveTopology::TriangleFan: return "TriangleFan";
178 }
179
180 LK_CORE_ASSERT(false, "Invalid EPrimitiveTopology value");
181 return nullptr;
182 }
183 }
184
185
186}
Core types.
Definition Asset.h:11