mirror of
https://github.com/minetest/irrlicht.git
synced 2024-12-27 00:17:30 +01:00
0c6385cb92
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED. Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well). While this touches every header it shouldn't affect users (I hope). Also a few whitespace changes to unify whitespace usage a bit. And a bunch of spelling fixes in comments. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
156 lines
3.8 KiB
C++
156 lines
3.8 KiB
C++
// 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 IRR_E_DRIVER_FEATURES_H_INCLUDED
|
|
#define IRR_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 hardware 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 separate blending for RGB and Alpha.
|
|
EVDF_BLEND_SEPARATE,
|
|
|
|
//! Support for texture coord transformation via texture matrix
|
|
EVDF_TEXTURE_MATRIX,
|
|
|
|
//! Support for DXTn compressed textures.
|
|
EVDF_TEXTURE_COMPRESSED_DXT,
|
|
|
|
//! Support for PVRTC compressed textures.
|
|
EVDF_TEXTURE_COMPRESSED_PVRTC,
|
|
|
|
//! Support for PVRTC2 compressed textures.
|
|
EVDF_TEXTURE_COMPRESSED_PVRTC2,
|
|
|
|
//! Support for ETC1 compressed textures.
|
|
EVDF_TEXTURE_COMPRESSED_ETC1,
|
|
|
|
//! Support for ETC2 compressed textures.
|
|
EVDF_TEXTURE_COMPRESSED_ETC2,
|
|
|
|
//! Support for cube map textures.
|
|
EVDF_TEXTURE_CUBEMAP,
|
|
|
|
//! Support for filtering across different faces of the cubemap
|
|
EVDF_TEXTURE_CUBEMAP_SEAMLESS,
|
|
|
|
//! Support for clamping vertices beyond far-plane to depth instead of capping them.
|
|
EVDF_DEPTH_CLAMP,
|
|
|
|
//! Only used for counting the elements of this enum
|
|
EVDF_COUNT
|
|
};
|
|
|
|
} // end namespace video
|
|
} // end namespace irr
|
|
|
|
#endif
|