Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
OpenGLCommonShader.hpp
1
2#pragma once
3#include "OpenGLCommon.hpp"
4
5namespace covellite
6{
7
8namespace api
9{
10
11namespace renderer
12{
13
31 public OpenGLCommon
32{
33public:
34 // Интерфейс IGraphicApi:
35 String_t GetUsingApi(void) const override;
36 void PresentFrame(void) override;
37
38protected:
39 // Интефейс GraphicApi
40 Render_t CreateCamera(const ComponentPtr_t &) override;
41 Render_t CreateBkSurface(const ComponentPtr_t &) override;
42 Render_t CreateState(const ComponentPtr_t &) override;
43 Render_t CreateTexture(const ComponentPtr_t &) override;
44 Render_t CreateShader(const ComponentPtr_t &) override;
45 Render_t CreateBuffer(const ComponentPtr_t &) override;
46 Render_t CreateTransform(const ComponentPtr_t &) override;
47 Render_t CreatePresentBuffer(const ComponentPtr_t &) override;
48
49private:
50 Render_t GetCameraCommon(const ComponentPtr_t &);
51 Render_t GetCameraOrthographic(const ComponentPtr_t &);
52 Render_t GetCameraPerspective(const ComponentPtr_t &);
53
54private:
55 class Buffer;
56
57private:
58 template<class>
59 class ConstantBuffer;
60 Render_t m_DrawElements = [](void) {};
61
62private:
63 class Programs;
64 using ProgramsPtr_t = ::std::shared_ptr<Programs>;
65 const ProgramsPtr_t m_pPrograms;
66
67public:
68 OpenGLCommonShader(const Data_t &, const String_t &, const ::std::string &);
69 OpenGLCommonShader(const OpenGLCommonShader &) = delete;
71 OpenGLCommonShader & operator= (const OpenGLCommonShader &) = delete;
72 OpenGLCommonShader & operator= (OpenGLCommonShader &&) = delete;
73 ~OpenGLCommonShader(void) = default;
74};
75
76} // namespace renderer
77
78} // namespace api
79
80} // namespace covellite
Класс для передачи значений настроек программы реализации рендера.
Definition IGraphicApi.hpp:62
Класс входит в проект Covellite.Api Вспомогательный класс, содержащий общий для Windows и Android к...
Definition OpenGLCommon.hpp:38
Класс входит в проект Covellite.Api Вспомогательный класс, содержащий общий для Windows и Android к...
Definition OpenGLCommonShader.hpp:32
Render_t GetCameraOrthographic(const ComponentPtr_t &)
Definition OpenGLCommonShader.cpp:1263
Render_t CreateTransform(const ComponentPtr_t &) override
Definition OpenGLCommonShader.cpp:1020