Covellite++  Version: 2.3.1 Revision: ??? Platform: x64 Build: 21:47 08.04.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 CreateTextureArray(const ComponentPtr_t &) override;
45 Render_t CreateShader(const ComponentPtr_t &) override;
46 Render_t CreateBuffer(const ComponentPtr_t &) override;
47 Render_t CreateTransform(const ComponentPtr_t &) override;
48 Render_t CreatePresentBuffer(const ComponentPtr_t &) override;
49
50private:
51 Render_t GetCameraCommon(const ComponentPtr_t &);
52 Render_t GetCameraOrthographic(const ComponentPtr_t &);
53 Render_t GetCameraPerspective(const ComponentPtr_t &);
54
55private:
56 class Buffer;
57
58private:
59 template<class>
60 class ConstantBuffer;
61 Render_t m_DrawElements = [](void) {};
62
63private:
64 class Programs;
65 using ProgramsPtr_t = ::std::shared_ptr<Programs>;
66 const ProgramsPtr_t m_pPrograms;
67
68public:
69 OpenGLCommonShader(const Data_t &, const String_t &, const ::std::string &);
70 OpenGLCommonShader(const OpenGLCommonShader &) = delete;
72 OpenGLCommonShader & operator= (const OpenGLCommonShader &) = delete;
73 OpenGLCommonShader & operator= (OpenGLCommonShader &&) = delete;
74 ~OpenGLCommonShader(void) = default;
75};
76
77} // namespace renderer
78
79} // namespace api
80
81} // 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:1310
Render_t CreateTransform(const ComponentPtr_t &) override
Definition OpenGLCommonShader.cpp:1067