<commit_before>#ifndef MOJAGAME_RENDERER_H
#define MOJAGAME_RENDERER_H

#ifdef MG_DESKTOP
    #include <GLFW/glfw3.h>
#endif

#include <Mojagame/Types.h>
#include <Mojagame/util/Colour.h>
#include <vector>

class Shader {
    public:
        Shader( std::string vertexSrc, std::string fragmentSrc );
        GLuint getProgram();
        bool upload();
    protected:
        std::string _vertexSrc;
        std::string _fragmentSrc;
        GLuint _program;

        GLuint _compileShader( const char* src, GLint length, GLuint type );
};

class Texture {
    // GL texture stuff
};

class RenderContext {
<commit_msg>Fix mac build<commit_after>#ifndef MOJAGAME_RENDERER_H
#define MOJAGAME_RENDERER_H

#ifdef MG_DESKTOP
    #include <GLFW/glfw3.h>
#endif

#include <Mojagame/Types.h>
#include <Mojagame/util/Colour.h>
#include <vector>
#include <string>

class Shader {
    public:
        Shader( std::string vertexSrc, std::string fragmentSrc );
        GLuint getProgram();
        bool upload();
    protected:
        std::string _vertexSrc;
        std::string _fragmentSrc;
        GLuint _program;

        GLuint _compileShader( const char* src, GLint length, GLuint type );
};

class Texture {
    // GL texture stuff
};

class RenderContext {

{'fraction_non_alphanumeric': 0.10446570972886762, 'fraction_numerical': 0.001594896331738437, 'mean_word_length': 3.2542372881355934, 'pattern_counts': {'":': 0, '<': 12, '<?xml version=': 0, '>': 12, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1178418', 'n_tokens_mistral': 431, 'n_tokens_neox': 426, 'n_words': 104}