summaryrefslogtreecommitdiff
path: root/platform/qt/src/qmapboxgl_renderer_backend.cpp
blob: c6de7c6d803233de493004bdc5ff5a9a1f2f9073 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "qmapboxgl_renderer_backend.hpp"

#include <QOpenGLContext>
#include <QtGlobal>

void QMapboxGLRendererBackend::updateAssumedState()
{
    assumeFramebufferBinding(ImplicitFramebufferBinding);
    assumeViewport(0, 0, m_size);
}

void QMapboxGLRendererBackend::bind()
{
    assert(mbgl::BackendScope::exists());

    setFramebufferBinding(m_fbo);
    setViewport(0, 0, m_size);
}

mbgl::Size QMapboxGLRendererBackend::getFramebufferSize() const
{
    return m_size;
}

void QMapboxGLRendererBackend::updateFramebuffer(quint32 fbo, const mbgl::Size &size)
{
    m_fbo = fbo;
    m_size = size;
}

/*!
    Initializes an OpenGL extension function such as Vertex Array Objects (VAOs),
    required by Mapbox GL Native engine.
*/
mbgl::gl::ProcAddress QMapboxGLRendererBackend::getExtensionFunctionPointer(const char* name)
{
    QOpenGLContext* thisContext = QOpenGLContext::currentContext();
    return thisContext->getProcAddress(name);
}