Covellite++  Version: 2.3.0 Revision: ??? Platform: x64 Build: 23:13 04.01.2025
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
OpenGLCommon.hpp
1
2#pragma once
3#include <glm/glm.force.hpp>
4#include "GraphicApi.hpp"
5
6namespace covellite
7{
8
9namespace api
10{
11
12namespace renderer
13{
14
37 public GraphicApi
38{
39public:
40 class Texture;
41 using MatrixBuilder_t = ::std::function<void(::glm::mat4 &)>;
42
43public:
44 // Интерфейс IGraphicApi:
45 String_t GetUsingApi(void) const override;
46 void ResizeWindow(const Rect &) noexcept final;
47
48protected:
49 // Интефейс GraphicApi
50 Render_t CreateState(const ComponentPtr_t &) override;
51
52protected:
53 Render_t GetDepthRender(const bool, const bool, const bool);
54 MatrixBuilder_t GetPreRenderGeometry(const ComponentPtr_t &);
55 MatrixBuilder_t GetPreRenderBillboardGeometry(const ComponentPtr_t &);
56
57protected:
58 class TexParameters final
59 {
60 public:
61 GLint MinFilter = 0;
62 GLint MagFilter = 0;
63 GLint WrapS = 0;
64 GLint WrapT = 0;
65 };
66
67 TexParameters m_TexParameters;
68
69protected:
70 int m_Top;
71 int m_Width = 0;
72 int m_Height = 0;
73 const uint8_t Align[4] = { 0 };
74 const String_t m_PreVersion;
75
76protected:
77 OpenGLCommon(const Data_t &, const String_t &);
78 OpenGLCommon(const OpenGLCommon &) = delete;
79 OpenGLCommon(OpenGLCommon &&) = delete;
80 OpenGLCommon & operator= (const OpenGLCommon &) = delete;
81 OpenGLCommon & operator= (OpenGLCommon &&) = delete;
82 ~OpenGLCommon(void) = default;
83};
84
85} // namespace renderer
86
87} // namespace api
88
89} // namespace covellite
Класс входит в проект Covellite.Api Вспомогательный класс, содержащий общий для всех реализаций код...
Definition GraphicApi.hpp:33
Класс для передачи значений настроек программы реализации рендера.
Definition IGraphicApi.hpp:62
Класс входит в проект Covellite.Api Вспомогательный класс, содержащий общий для Windows и Android к...
Definition OpenGLCommon.hpp:38