EDriverTypes.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. #ifndef IRR_E_DRIVER_TYPES_H_INCLUDED
  5. #define IRR_E_DRIVER_TYPES_H_INCLUDED
  6. #include "irrTypes.h"
  7. namespace irr
  8. {
  9. namespace video
  10. {
  11. //! An enum for all types of drivers the Irrlicht Engine supports.
  12. enum E_DRIVER_TYPE
  13. {
  14. //! Null driver, useful for applications to run the engine without visualization.
  15. /** The null device is able to load textures, but does not
  16. render and display any graphics. */
  17. EDT_NULL,
  18. //! The Irrlicht Engine Software renderer.
  19. /** Runs on all platforms, with every hardware. It should only
  20. be used for 2d graphics, but it can also perform some primitive
  21. 3d functions. These 3d drawing functions are quite fast, but
  22. very inaccurate, and don't even support clipping in 3D mode. */
  23. EDT_SOFTWARE,
  24. //! The Burning's Software Renderer, an alternative software renderer
  25. /** Basically it can be described as the Irrlicht Software
  26. renderer on steroids. It rasterizes 3D geometry perfectly: It
  27. is able to perform correct 3d clipping, perspective correct
  28. texture mapping, perspective correct color mapping, and renders
  29. sub pixel correct, sub texel correct primitives. In addition,
  30. it does bilinear texel filtering and supports more materials
  31. than the EDT_SOFTWARE driver. This renderer has been written
  32. entirely by Thomas Alten, thanks a lot for this huge
  33. contribution. */
  34. EDT_BURNINGSVIDEO,
  35. //! Direct3D8 device is longer supported in Irrlicht. You have to go back to Irrlicht 1.8 if you still need that.
  36. DEPRECATED_EDT_DIRECT3D8_NO_LONGER_EXISTS, // keep enum to avoid breaking enumeration order (might be used in ini-files, serialization, etc)
  37. //! Direct3D 9 device, only available on Win32 platforms.
  38. /** Performs hardware accelerated rendering of 3D and 2D
  39. primitives. */
  40. EDT_DIRECT3D9,
  41. //! OpenGL device, available on most platforms.
  42. /** Performs hardware accelerated rendering of 3D and 2D
  43. primitives. */
  44. EDT_OPENGL,
  45. //! No driver, just for counting the elements
  46. EDT_COUNT
  47. };
  48. const c8* const DRIVER_TYPE_NAMES[] =
  49. {
  50. "NullDriver",
  51. "Software Renderer",
  52. "Burning's Video",
  53. "Direct3D 8.1",
  54. "Direct3D 9.0c",
  55. "OpenGL 1.x/2.x/3.x",
  56. 0
  57. };
  58. const c8* const DRIVER_TYPE_NAMES_SHORT[] =
  59. {
  60. "null",
  61. "software",
  62. "burning",
  63. "d3d8",
  64. "d3d9",
  65. "opengl",
  66. 0
  67. };
  68. } // end namespace video
  69. } // end namespace irr
  70. #endif