forkkmuopengl/BaseGLProject/SceneContext.h

42 lines
675 B
C++

#pragma once
#include <map>
#include <glm/mat3x3.hpp>
#include <glm/mat4x4.hpp>
#include <glm/vec3.hpp>
#include "Texture.h"
#include "Light.h"
enum RenderMode
{
GBUF_DEBUG,
DEFERRED_LIGHT,
FORWARD_LIGHT
};
struct SceneContext
{
std::vector<Light> lights;
std::map<std::string, float> floatValues;
glm::mat4x4 viewMatrix;
glm::mat4x4 projectionMatrix;
glm::mat4x4 mvpMatrix;
glm::mat4x4 modelViewMatrix;
glm::mat4x4 modelMatrix;
glm::mat3x3 normalMatrix;
GLuint skyboxTex;
std::map<std::string, Texture> textures;
GLuint height;
GLuint width;
glm::vec4 bg;
std::string fboDisplayName;
glm::vec3 camPos;
RenderMode renderMode;
bool firstRedraw;
};