Ocular Engine
ColorPicker.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_UTILITIES_COLOR_PICKER__H__
19 #define __H__OCULAR_UTILITIES_COLOR_PICKER__H__
20 
21 #include <cstdint>
22 #include <vector>
23 
24 //------------------------------------------------------------------------------------------
25 
30 namespace Ocular
31 {
32  namespace Core
33  {
34  class SceneObject;
35  class Camera;
36  }
37 
38  namespace Graphics
39  {
40  class Material;
41  }
42 
47  namespace Utils
48  {
53  {
54  public:
55 
56  static Core::SceneObject* Pick(Core::Camera* camera, uint32_t x, uint32_t y);
57 
58  protected:
59 
60  static Graphics::Material* GetMaterial();
61  static void RenderObjects(std::vector<Core::SceneObject*>& objects, Graphics::Material* material);
62  static void Sort(std::vector<Core::SceneObject*>& objects);
63  static uint32_t GetPickedIndex(Core::Camera* camera, uint32_t x, uint32_t y);
64 
65  private:
66  };
67  }
71 }
76 //------------------------------------------------------------------------------------------
77 
78 #endif
Definition: ColorPicker.hpp:52
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Definition: SceneObject.hpp:93
Definition: Camera.hpp:79
Definition: Material.hpp:62