diff options
Diffstat (limited to 'include/EDriverFeatures.h')
| -rw-r--r-- | include/EDriverFeatures.h | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/include/EDriverFeatures.h b/include/EDriverFeatures.h new file mode 100644 index 0000000..a0bf307 --- /dev/null +++ b/include/EDriverFeatures.h @@ -0,0 +1,133 @@ +// Copyright (C) 2002-2012 Nikolaus Gebhardt
+// This file is part of the "Irrlicht Engine".
+// For conditions of distribution and use, see copyright notice in irrlicht.h
+
+#ifndef __E_DRIVER_FEATURES_H_INCLUDED__
+#define __E_DRIVER_FEATURES_H_INCLUDED__
+
+namespace irr
+{
+namespace video
+{
+
+ //! enumeration for querying features of the video driver.
+ enum E_VIDEO_DRIVER_FEATURE
+ {
+ //! Is driver able to render to a surface?
+ EVDF_RENDER_TO_TARGET = 0,
+
+ //! Is hardeware transform and lighting supported?
+ EVDF_HARDWARE_TL,
+
+ //! Are multiple textures per material possible?
+ EVDF_MULTITEXTURE,
+
+ //! Is driver able to render with a bilinear filter applied?
+ EVDF_BILINEAR_FILTER,
+
+ //! Can the driver handle mip maps?
+ EVDF_MIP_MAP,
+
+ //! Can the driver update mip maps automatically?
+ EVDF_MIP_MAP_AUTO_UPDATE,
+
+ //! Are stencilbuffers switched on and does the device support stencil buffers?
+ EVDF_STENCIL_BUFFER,
+
+ //! Is Vertex Shader 1.1 supported?
+ EVDF_VERTEX_SHADER_1_1,
+
+ //! Is Vertex Shader 2.0 supported?
+ EVDF_VERTEX_SHADER_2_0,
+
+ //! Is Vertex Shader 3.0 supported?
+ EVDF_VERTEX_SHADER_3_0,
+
+ //! Is Pixel Shader 1.1 supported?
+ EVDF_PIXEL_SHADER_1_1,
+
+ //! Is Pixel Shader 1.2 supported?
+ EVDF_PIXEL_SHADER_1_2,
+
+ //! Is Pixel Shader 1.3 supported?
+ EVDF_PIXEL_SHADER_1_3,
+
+ //! Is Pixel Shader 1.4 supported?
+ EVDF_PIXEL_SHADER_1_4,
+
+ //! Is Pixel Shader 2.0 supported?
+ EVDF_PIXEL_SHADER_2_0,
+
+ //! Is Pixel Shader 3.0 supported?
+ EVDF_PIXEL_SHADER_3_0,
+
+ //! Are ARB vertex programs v1.0 supported?
+ EVDF_ARB_VERTEX_PROGRAM_1,
+
+ //! Are ARB fragment programs v1.0 supported?
+ EVDF_ARB_FRAGMENT_PROGRAM_1,
+
+ //! Is GLSL supported?
+ EVDF_ARB_GLSL,
+
+ //! Is HLSL supported?
+ EVDF_HLSL,
+
+ //! Are non-square textures supported?
+ EVDF_TEXTURE_NSQUARE,
+
+ //! Are non-power-of-two textures supported?
+ EVDF_TEXTURE_NPOT,
+
+ //! Are framebuffer objects supported?
+ EVDF_FRAMEBUFFER_OBJECT,
+
+ //! Are vertex buffer objects supported?
+ EVDF_VERTEX_BUFFER_OBJECT,
+
+ //! Supports Alpha To Coverage
+ EVDF_ALPHA_TO_COVERAGE,
+
+ //! Supports Color masks (disabling color planes in output)
+ EVDF_COLOR_MASK,
+
+ //! Supports multiple render targets at once
+ EVDF_MULTIPLE_RENDER_TARGETS,
+
+ //! Supports separate blend settings for multiple render targets
+ EVDF_MRT_BLEND,
+
+ //! Supports separate color masks for multiple render targets
+ EVDF_MRT_COLOR_MASK,
+
+ //! Supports separate blend functions for multiple render targets
+ EVDF_MRT_BLEND_FUNC,
+
+ //! Supports geometry shaders
+ EVDF_GEOMETRY_SHADER,
+
+ //! Supports occlusion queries
+ EVDF_OCCLUSION_QUERY,
+
+ //! Supports polygon offset/depth bias for avoiding z-fighting
+ EVDF_POLYGON_OFFSET,
+
+ //! Support for different blend functions. Without, only ADD is available
+ EVDF_BLEND_OPERATIONS,
+
+ //! Support for texture coord transformation via texture matrix
+ EVDF_TEXTURE_MATRIX,
+
+ //! Support for NVidia's CG shader language
+ EVDF_CG,
+
+ //! Only used for counting the elements of this enum
+ EVDF_COUNT
+ };
+
+} // end namespace video
+} // end namespace irr
+
+
+#endif
+
|
