Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

61 linhas
1.1 KiB

  1. //
  2. // Lol Engine
  3. //
  4. // Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net>
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the Do What The Fuck You Want To
  7. // Public License, Version 2, as published by Sam Hocevar. See
  8. // http://www.wtfpl.net/ for more details.
  9. //
  10. //
  11. // The Scene class
  12. // ---------------
  13. //
  14. #if !defined __LOL_SCENE_H__
  15. #define __LOL_SCENE_H__
  16. #include <stdint.h>
  17. #include "tileset.h"
  18. #include "light.h"
  19. #include "camera.h"
  20. namespace lol
  21. {
  22. class SceneData;
  23. class Scene
  24. {
  25. public:
  26. Scene();
  27. ~Scene();
  28. static Scene *GetDefault();
  29. Camera *GetCamera();
  30. void PushCamera(Camera *cam);
  31. void PopCamera(Camera *cam);
  32. void Reset();
  33. void Render();
  34. /* FIXME: this should be deprecated -- it doesn't really match
  35. * the architecture we want to build */
  36. void AddTile(TileSet *tileset, int id, vec3 pos, int o, vec2 scale);
  37. void AddLine(vec3 a, vec3 b, vec4 color);
  38. void AddLight(Light *light);
  39. Array<Light *> const &GetLights() const;
  40. private:
  41. SceneData *data;
  42. };
  43. } /* namespace lol */
  44. #endif // __LOL_SCENE_H__