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