Covellite++  Version: 2.3.3 Revision: 2585 Platform: x64 Build: 21:20 20.09.2026
Кроссплатформенный фреймворк для разработки приложений на С++
Загрузка...
Поиск...
Не найдено
OpenGLES3.cpp
1
2#include "stdafx.h"
3#include "OpenGLES3.hpp"
4#include <Covellite.Egl\Egl.hpp>
5
6namespace covellite::api::renderer
7{
8
9OpenGLES3::OpenGLES3(const Data_t & _Data) :
10 OpenGLCommonShader(_Data, uT(""), AndroidShaderHeader),
11 m_pDisplay(::std::make_unique<covellite::egl::Display>()),
12 m_pConfig(::std::make_unique<covellite::egl::Config>(*m_pDisplay, ::covellite::any_cast<ANativeWindow *>(_Data.Handle))),
13 m_pSurface(::std::make_unique<covellite::egl::Surface>(*m_pDisplay, *m_pConfig, ::covellite::any_cast<ANativeWindow *>(_Data.Handle))),
14 m_pContext(::std::make_unique<covellite::egl::Context>(*m_pDisplay, *m_pConfig, 3))
15{
16 m_pContext->MakeCurrent(*m_pSurface);
17}
18
19OpenGLES3::~OpenGLES3(void) = default;
20
21void OpenGLES3::PresentFrame(void) /*override*/
22{
23 if (m_Top > 0)
24 {
25 // Для Android очищаем заголовок, иначе остается мусор под заголовком
26 // при повороте устройства.
27
28 glEnable(GL_SCISSOR_TEST);
29
30 // (0, 0) - левый нижний угол!
31 glScissor(0, m_Height - m_Top, m_Width, m_Top);
32
33 // 22 Май 2020 10:58 (unicornum.verum@gmail.com)
34 TODO("Цвет заголовка Android - в настройках?");
35 glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
36 glClear(GL_COLOR_BUFFER_BIT);
37
38 glDisable(GL_SCISSOR_TEST);
39 }
40
41 m_pSurface->SwapBuffers();
42
43 OpenGLCommonShader::PresentFrame();
44}
45
46} // nnamespace covellite::api::renderer
Класс входит в проект Covellite.Api Вспомогательный класс, содержащий общий для Windows и Android к...
Определения OpenGLCommonShader.hpp:32
void PresentFrame(void) override
Определения OpenGLES3.cpp:21