← index
LostMasterPiece2/src/include/intro.hpp
Source: LostMasterPiece2/src/include/intro.hpp
#ifndef _INTRO_H__

#define _INTRO_H__


#include <iostream>

#include "mx.hpp"

#include "gl.hpp"

#include "shader_library.hpp"


class Intro : public gl::GLObject {
public:
    Intro() {}
    virtual void load(gl::GLWindow *win) override {
        int index = mx::generateRandomInt(0, 10);
        std::cout << "Loading...: " << library->getShader(index)->filename << "\n";
        gl::ShaderProgram &prog = library->getShader(index)->shader();
        setShader(&prog);
        program->useProgram();
        intro.initSize(win->w, win->h);
        intro.loadTexture(program, win->util.getFilePath("data/intro.png"), 0.0f, 0.0f, win->w, win->h);
    }
    void setShader(gl::ShaderProgram *shader) { program = shader; }
    virtual void event(gl::GLWindow *win, SDL_Event &e) override;
    virtual void draw(gl::GLWindow *win) override;
private:
    gl::ShaderProgram *program;
    gl::GLSprite intro;
    Uint32 lastUpdateTime = 0;
    float fade = 1.0f;
};


#endif