1
// Copyright (C) 2002-2011 Nikolaus Gebhardt
2
// This file is part of the "Irrlicht Engine".
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
5
#ifndef __E_DRIVER_FEATURES_H_INCLUDED__
6
#define __E_DRIVER_FEATURES_H_INCLUDED__
13
//! enumeration for querying features of the video driver.
14
enum E_VIDEO_DRIVER_FEATURE
16
//! Is driver able to render to a surface?
17
EVDF_RENDER_TO_TARGET = 0,
19
//! Is hardeware transform and lighting supported?
22
//! Are multiple textures per material possible?
25
//! Is driver able to render with a bilinear filter applied?
28
//! Can the driver handle mip maps?
31
//! Can the driver update mip maps automatically?
32
EVDF_MIP_MAP_AUTO_UPDATE,
34
//! Are stencilbuffers switched on and does the device support stencil buffers?
37
//! Is Vertex Shader 1.1 supported?
38
EVDF_VERTEX_SHADER_1_1,
40
//! Is Vertex Shader 2.0 supported?
41
EVDF_VERTEX_SHADER_2_0,
43
//! Is Vertex Shader 3.0 supported?
44
EVDF_VERTEX_SHADER_3_0,
46
//! Is Pixel Shader 1.1 supported?
47
EVDF_PIXEL_SHADER_1_1,
49
//! Is Pixel Shader 1.2 supported?
50
EVDF_PIXEL_SHADER_1_2,
52
//! Is Pixel Shader 1.3 supported?
53
EVDF_PIXEL_SHADER_1_3,
55
//! Is Pixel Shader 1.4 supported?
56
EVDF_PIXEL_SHADER_1_4,
58
//! Is Pixel Shader 2.0 supported?
59
EVDF_PIXEL_SHADER_2_0,
61
//! Is Pixel Shader 3.0 supported?
62
EVDF_PIXEL_SHADER_3_0,
64
//! Are ARB vertex programs v1.0 supported?
65
EVDF_ARB_VERTEX_PROGRAM_1,
67
//! Are ARB fragment programs v1.0 supported?
68
EVDF_ARB_FRAGMENT_PROGRAM_1,
70
//! Is GLSL supported?
73
//! Is HLSL supported?
76
//! Are non-square textures supported?
79
//! Are non-power-of-two textures supported?
82
//! Are framebuffer objects supported?
83
EVDF_FRAMEBUFFER_OBJECT,
85
//! Are vertex buffer objects supported?
86
EVDF_VERTEX_BUFFER_OBJECT,
88
//! Supports Alpha To Coverage
89
EVDF_ALPHA_TO_COVERAGE,
91
//! Supports Color masks (disabling color planes in output)
94
//! Supports multiple render targets at once
95
EVDF_MULTIPLE_RENDER_TARGETS,
97
//! Supports separate blend settings for multiple render targets
100
//! Supports separate color masks for multiple render targets
103
//! Supports separate blend functions for multiple render targets
106
//! Supports geometry shaders
107
EVDF_GEOMETRY_SHADER,
109
//! Supports occlusion queries
110
EVDF_OCCLUSION_QUERY,
112
//! Supports polygon offset/depth bias for avoiding z-fighting
115
//! Support for different blend functions. Without, only ADD is available
116
EVDF_BLEND_OPERATIONS,
118
//! Support for texture coord transformation via texture matrix
121
//! Only used for counting the elements of this enum
125
} // end namespace video
126
} // end namespace irr