1 // Copyright (C) 2002-2012 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_TYPES_H_INCLUDED__ 6 #define __E_DRIVER_TYPES_H_INCLUDED__ 7 8 namespace irr 9 { 10 namespace video 11 { 12 13 //! An enum for all types of drivers the Irrlicht Engine supports. 14 enum E_DRIVER_TYPE 15 { 16 //! Null driver, useful for applications to run the engine without visualisation. 17 /** The null device is able to load textures, but does not 18 render and display any graphics. */ 19 EDT_NULL, 20 21 //! The Irrlicht Engine Software renderer. 22 /** Runs on all platforms, with every hardware. It should only 23 be used for 2d graphics, but it can also perform some primitive 24 3d functions. These 3d drawing functions are quite fast, but 25 very inaccurate, and don't even support clipping in 3D mode. */ 26 EDT_SOFTWARE, 27 28 //! The Burning's Software Renderer, an alternative software renderer 29 /** Basically it can be described as the Irrlicht Software 30 renderer on steroids. It rasterizes 3D geometry perfectly: It 31 is able to perform correct 3d clipping, perspective correct 32 texture mapping, perspective correct color mapping, and renders 33 sub pixel correct, sub texel correct primitives. In addition, 34 it does bilinear texel filtering and supports more materials 35 than the EDT_SOFTWARE driver. This renderer has been written 36 entirely by Thomas Alten, thanks a lot for this huge 37 contribution. */ 38 EDT_BURNINGSVIDEO, 39 40 //! Direct3D8 device, only available on Win32 platforms. 41 /** Performs hardware accelerated rendering of 3D and 2D 42 primitives. */ 43 EDT_DIRECT3D8, 44 45 //! Direct3D 9 device, only available on Win32 platforms. 46 /** Performs hardware accelerated rendering of 3D and 2D 47 primitives. */ 48 EDT_DIRECT3D9, 49 50 //! OpenGL device, available on most platforms. 51 /** Performs hardware accelerated rendering of 3D and 2D 52 primitives. */ 53 EDT_OPENGL, 54 55 //! OpenGL-ES 2.x driver, for embedded and mobile systems 56 /** Supports shaders etc. */ 57 EDT_OGLES2, 58 59 //! No driver, just for counting the elements 60 EDT_COUNT 61 }; 62 63 } // end namespace video 64 } // end namespace irr 65 66 67 #endif 68 69