~baltix/+junk/irrlicht-test

« back to all changes in this revision

Viewing changes to include/EDriverFeatures.h

  • Committer: Mantas Kriaučiūnas
  • Date: 2011-07-18 13:06:25 UTC
  • Revision ID: mantas@akl.lt-20110718130625-c5pvifp61e7kj1ol
Included whole irrlicht SVN libraries to work around launchpad recipe issue with quilt, see https://answers.launchpad.net/launchpad/+question/165193

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
4
 
 
5
#ifndef __E_DRIVER_FEATURES_H_INCLUDED__
 
6
#define __E_DRIVER_FEATURES_H_INCLUDED__
 
7
 
 
8
namespace irr
 
9
{
 
10
namespace video
 
11
{
 
12
 
 
13
        //! enumeration for querying features of the video driver.
 
14
        enum E_VIDEO_DRIVER_FEATURE
 
15
        {
 
16
                //! Is driver able to render to a surface?
 
17
                EVDF_RENDER_TO_TARGET = 0,
 
18
 
 
19
                //! Is hardeware transform and lighting supported?
 
20
                EVDF_HARDWARE_TL,
 
21
 
 
22
                //! Are multiple textures per material possible?
 
23
                EVDF_MULTITEXTURE,
 
24
 
 
25
                //! Is driver able to render with a bilinear filter applied?
 
26
                EVDF_BILINEAR_FILTER,
 
27
 
 
28
                //! Can the driver handle mip maps?
 
29
                EVDF_MIP_MAP,
 
30
 
 
31
                //! Can the driver update mip maps automatically?
 
32
                EVDF_MIP_MAP_AUTO_UPDATE,
 
33
 
 
34
                //! Are stencilbuffers switched on and does the device support stencil buffers?
 
35
                EVDF_STENCIL_BUFFER,
 
36
 
 
37
                //! Is Vertex Shader 1.1 supported?
 
38
                EVDF_VERTEX_SHADER_1_1,
 
39
 
 
40
                //! Is Vertex Shader 2.0 supported?
 
41
                EVDF_VERTEX_SHADER_2_0,
 
42
 
 
43
                //! Is Vertex Shader 3.0 supported?
 
44
                EVDF_VERTEX_SHADER_3_0,
 
45
 
 
46
                //! Is Pixel Shader 1.1 supported?
 
47
                EVDF_PIXEL_SHADER_1_1,
 
48
 
 
49
                //! Is Pixel Shader 1.2 supported?
 
50
                EVDF_PIXEL_SHADER_1_2,
 
51
 
 
52
                //! Is Pixel Shader 1.3 supported?
 
53
                EVDF_PIXEL_SHADER_1_3,
 
54
 
 
55
                //! Is Pixel Shader 1.4 supported?
 
56
                EVDF_PIXEL_SHADER_1_4,
 
57
 
 
58
                //! Is Pixel Shader 2.0 supported?
 
59
                EVDF_PIXEL_SHADER_2_0,
 
60
 
 
61
                //! Is Pixel Shader 3.0 supported?
 
62
                EVDF_PIXEL_SHADER_3_0,
 
63
 
 
64
                //! Are ARB vertex programs v1.0 supported?
 
65
                EVDF_ARB_VERTEX_PROGRAM_1,
 
66
 
 
67
                //! Are ARB fragment programs v1.0 supported?
 
68
                EVDF_ARB_FRAGMENT_PROGRAM_1,
 
69
 
 
70
                //! Is GLSL supported?
 
71
                EVDF_ARB_GLSL,
 
72
 
 
73
                //! Is HLSL supported?
 
74
                EVDF_HLSL,
 
75
 
 
76
                //! Are non-square textures supported?
 
77
                EVDF_TEXTURE_NSQUARE,
 
78
 
 
79
                //! Are non-power-of-two textures supported?
 
80
                EVDF_TEXTURE_NPOT,
 
81
 
 
82
                //! Are framebuffer objects supported?
 
83
                EVDF_FRAMEBUFFER_OBJECT,
 
84
 
 
85
                //! Are vertex buffer objects supported?
 
86
                EVDF_VERTEX_BUFFER_OBJECT,
 
87
 
 
88
                //! Supports Alpha To Coverage
 
89
                EVDF_ALPHA_TO_COVERAGE,
 
90
 
 
91
                //! Supports Color masks (disabling color planes in output)
 
92
                EVDF_COLOR_MASK,
 
93
 
 
94
                //! Supports multiple render targets at once
 
95
                EVDF_MULTIPLE_RENDER_TARGETS,
 
96
 
 
97
                //! Supports separate blend settings for multiple render targets
 
98
                EVDF_MRT_BLEND,
 
99
 
 
100
                //! Supports separate color masks for multiple render targets
 
101
                EVDF_MRT_COLOR_MASK,
 
102
 
 
103
                //! Supports separate blend functions for multiple render targets
 
104
                EVDF_MRT_BLEND_FUNC,
 
105
 
 
106
                //! Supports geometry shaders
 
107
                EVDF_GEOMETRY_SHADER,
 
108
 
 
109
                //! Supports occlusion queries
 
110
                EVDF_OCCLUSION_QUERY,
 
111
 
 
112
                //! Supports polygon offset/depth bias for avoiding z-fighting
 
113
                EVDF_POLYGON_OFFSET,
 
114
 
 
115
                //! Support for different blend functions. Without, only ADD is available
 
116
                EVDF_BLEND_OPERATIONS,
 
117
 
 
118
                //! Support for texture coord transformation via texture matrix
 
119
                EVDF_TEXTURE_MATRIX,
 
120
 
 
121
                //! Only used for counting the elements of this enum
 
122
                EVDF_COUNT
 
123
        };
 
124
 
 
125
} // end namespace video
 
126
} // end namespace irr
 
127
 
 
128
 
 
129
#endif
 
130