32 public Registator_t<IGraphicApi>
34 using Components_t = ::std::deque<ComponentPtr_t>;
41 void PresentFrame(
void)
override;
42 const Creators_t & GetCreators(
void)
const noexcept final;
45 virtual Render_t CreateCamera(
const ComponentPtr_t &) = 0;
46 virtual Render_t CreateBkSurface(
const ComponentPtr_t &) = 0;
47 virtual Render_t CreateState(
const ComponentPtr_t &) = 0;
48 virtual Render_t CreateShader(
const ComponentPtr_t &) = 0;
49 virtual Render_t CreateTexture(
const ComponentPtr_t &) = 0;
50 virtual Render_t CreateTextureArray(
const ComponentPtr_t &) = 0;
51 virtual Render_t CreateBuffer(
const ComponentPtr_t &) = 0;
52 virtual Render_t CreateTransform(
const ComponentPtr_t &) = 0;
53 virtual Render_t CreatePresentBuffer(
const ComponentPtr_t &) = 0;
56 template<
class TColor>
57 static TColor ARGBtoFloat4(uint32_t);
60 Render_t CreateUpdater(
const ComponentPtr_t &)
const;
87 using Kind_t = ::alicorn::extension::std::String;
88 using Services_t = ::std::vector<ComponentPtr_t>;
89 using Expected_t = ::std::vector<::std::pair<Kind_t, ComponentPtr_t>>;
90 using Hadler_t = ::std::function<void(
const ComponentPtr_t &)>;
91 using Handlers_t = ::std::map<Kind_t, Hadler_t>;
94 static Services_t
Get(
const ComponentPtr_t &,
const Expected_t &);
95 static void Process(
const ComponentPtr_t &,
const Handlers_t &);
99 bool m_IsResizeWindow =
false;
100 const uint8_t Align1[7] = { 0 };
103 using TimePoint_t = ::std::chrono::system_clock::time_point;
104 const TimePoint_t m_StartProgram;
105 float m_CurrentFrameTime;
106 const uint8_t Align2[4] = { 0 };
110 ::std::shared_ptr<Constants> m_pConstants;
111 template<
template <
class>
class TBuffer,
class ... TArgs>
112 void MakeConstants(TArgs && ...);
115 Creators_t m_Creators;
119 GraphicApi(
const GraphicApi &) =
delete;
120 GraphicApi(GraphicApi &&) =
delete;
121 GraphicApi & operator= (
const GraphicApi &) =
delete;
122 GraphicApi & operator= (GraphicApi &&) =
delete;
123 ~GraphicApi(
void) =
default;
static void Process(const ComponentPtr_t &, const Handlers_t &)
Функция для последовательной обработки очереди вспомогательных компонентов.
Definition GraphicApi.CapturingServiceComponent.cpp:92