Select Git revision
OpenGLWrapper.h
-
Woohyung Choi authoredWoohyung Choi authored
OpenGLWrapper.h 2.78 KiB
#pragma once
#include <vector>
#include <GL/glew.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include "Camera.h"
#include "FileSystem.h"
#include "Logger.h"
enum ImageType
{
REPEAT,
CLAMP
};
class Mesh
{
private:
GLuint nVertex;
GLuint VAO;
GLuint *VBOs;
public:
Mesh(GLuint _nVertex, GLuint _VAO, GLuint *_VBOs);
GLuint get_vertex_count();
GLuint get_VAO();
GLuint *get_VBOs();
};
void draw_mesh(Mesh &mesh);
class Material
{
private:
GLuint prog;
GLuint diffuseMap;
GLuint specularMap;
public:
Material(GLuint _prog, GLuint _diffuseMap, GLuint _specularMap);
GLuint get_program();
GLuint get_diffuseMap();
GLuint get_specularMap();
};
class Transform
{
private:
glm::mat4 model;
glm::vec3 translate;
glm::vec3 rotate;
glm::vec3 scale;
glm::vec3 front;
glm::vec3 up;
glm::vec3 right;
void update_model_matrix();
void update_directional_vector();
public:
Transform();