Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.

64 righe
1.3 KiB

  1. //
  2. // Lol Engine
  3. //
  4. // Copyright © 2010—2019 Sam Hocevar <sam@hocevar.net>
  5. //
  6. // Lol Engine is free software. It comes without any warranty, to
  7. // the extent permitted by applicable law. You can redistribute it
  8. // and/or modify it under the terms of the Do What the Fuck You Want
  9. // to Public License, Version 2, as published by the WTFPL Task Force.
  10. // See http://www.wtfpl.net/ for more details.
  11. //
  12. #pragma once
  13. //
  14. // The Video interface
  15. // -------------------
  16. // Helper GL functions to set up the scene.
  17. //
  18. #include <stdint.h>
  19. namespace lol
  20. {
  21. struct DebugRenderMode
  22. {
  23. enum Value
  24. {
  25. //Add your new rendermode at your convenience
  26. Default,
  27. Flat,
  28. Wireframe,
  29. Lighting,
  30. Normal,
  31. UV,
  32. Max
  33. }
  34. m_value;
  35. inline DebugRenderMode() : m_value(Default) {}
  36. inline DebugRenderMode(Value v) : m_value(v) {}
  37. inline DebugRenderMode(int v) : m_value((Value)v) {}
  38. inline operator Value() { return m_value; }
  39. };
  40. class Video
  41. {
  42. public:
  43. static void Setup(ivec2 size);
  44. static void Destroy();
  45. static void Resize(ivec2 size);
  46. static ivec2 GetSize();
  47. static void SetDebugRenderMode(DebugRenderMode d);
  48. static DebugRenderMode GetDebugRenderMode();
  49. static void Capture(uint32_t *buffer);
  50. };
  51. } /* namespace lol */