EVideoTypes.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. #pragma once
  5. #include "SMaterial.h" // MATERIAL_MAX_TEXTURES
  6. namespace irr::video
  7. {
  8. //! enumeration for geometry transformation states
  9. enum E_TRANSFORMATION_STATE
  10. {
  11. //! View transformation
  12. ETS_VIEW = 0,
  13. //! World transformation
  14. ETS_WORLD,
  15. //! Projection transformation
  16. ETS_PROJECTION,
  17. //! Texture 0 transformation
  18. //! Use E_TRANSFORMATION_STATE(ETS_TEXTURE_0 + texture_number) to access other texture transformations
  19. ETS_TEXTURE_0,
  20. //! Only used internally
  21. ETS_COUNT = ETS_TEXTURE_0 + MATERIAL_MAX_TEXTURES
  22. };
  23. //! Special render targets, which usually map to dedicated hardware
  24. /** These render targets (besides 0 and 1) need not be supported by gfx cards */
  25. enum E_RENDER_TARGET
  26. {
  27. //! Render target is the main color frame buffer
  28. ERT_FRAME_BUFFER = 0,
  29. //! Render target is a render texture
  30. ERT_RENDER_TEXTURE,
  31. //! Multi-Render target textures
  32. ERT_MULTI_RENDER_TEXTURES,
  33. //! Render target is the main color frame buffer
  34. ERT_STEREO_LEFT_BUFFER,
  35. //! Render target is the right color buffer (left is the main buffer)
  36. ERT_STEREO_RIGHT_BUFFER,
  37. //! Render to both stereo buffers at once
  38. ERT_STEREO_BOTH_BUFFERS,
  39. //! Auxiliary buffer 0
  40. ERT_AUX_BUFFER0,
  41. //! Auxiliary buffer 1
  42. ERT_AUX_BUFFER1,
  43. //! Auxiliary buffer 2
  44. ERT_AUX_BUFFER2,
  45. //! Auxiliary buffer 3
  46. ERT_AUX_BUFFER3,
  47. //! Auxiliary buffer 4
  48. ERT_AUX_BUFFER4
  49. };
  50. //! Enum for the flags of clear buffer
  51. enum E_CLEAR_BUFFER_FLAG
  52. {
  53. ECBF_NONE = 0,
  54. ECBF_COLOR = 1,
  55. ECBF_DEPTH = 2,
  56. ECBF_STENCIL = 4,
  57. ECBF_ALL = ECBF_COLOR | ECBF_DEPTH | ECBF_STENCIL
  58. };
  59. //! Enum for the types of fog distributions to choose from
  60. enum E_FOG_TYPE
  61. {
  62. EFT_FOG_EXP = 0,
  63. EFT_FOG_LINEAR,
  64. EFT_FOG_EXP2
  65. };
  66. } // irr::video