summaryrefslogtreecommitdiff
path: root/src/render/momo/momo.c
blob: 8b1b78db21168b2c2527fe42742bc470004b1191 (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
#define AL_LOG_SECTION "momo"
#include <al/log.h>

#include "momo.h"

#define CRT_BACKGROUND_COLOR (1.f / 7.5f)

bool MOMO_Init(MOMO_Renderer *mmr,
#ifdef STELA_API_OPENGL
    bool (*MakeCurrent)(void *),
    void (*ReleaseCurrent)(void *),
    void (*SwapBuffers)(void *),
#endif
    void *Private)
{
    mmr->Private = Private;
#ifdef STELA_API_OPENGL
    mmr->GL.MakeCurrent = MakeCurrent;
    mmr->GL.ReleaseCurrent = ReleaseCurrent;
    mmr->GL.SwapBuffers = SwapBuffers;
    mmr->GL.MakeCurrent(mmr->Private);
    glClearColor(CRT_BACKGROUND_COLOR, CRT_BACKGROUND_COLOR, CRT_BACKGROUND_COLOR, 1.f);
    const char *gl_version = (const char *)glGetString(GL_VERSION);
    if (gl_version) {
        log_info("GL context version: %s.", gl_version);
    } else {
        log_warn("Somehow failed to retrive GL_VERSION.");
    }
#endif
    return true;
}

void MOMO_Render(MOMO_Renderer *mmr)
{
#ifdef STELA_API_OPENGL
    glClear(GL_COLOR_BUFFER_BIT);
    mmr->GL.SwapBuffers(mmr->Private);
#endif
}