Files
PhotonMF/environment.hpp
2017-01-17 17:09:25 -04:00

38 lines
709 B
C++

#pragma once
#ifndef ENVIRONMENT_HPP
#define ENVIRONMENT_HPP
#include <FreeImage.h>
#include <glm/vec3.hpp>
#include "ray.hpp"
using glm::vec3;
class Environment {
public:
Environment(const char * tex_file = NULL, bool light_probe = false, vec3 bckg = vec3(1.0f)): m_bckg_color(bckg), m_probe(light_probe) {
FREE_IMAGE_FORMAT fif;
if (tex_file != NULL) {
fif = FreeImage_GetFIFFromFilename(tex_file);
m_texture = FreeImage_Load(fif, tex_file, 0);
} else
m_texture = NULL;
}
~Environment() {
if (m_texture != NULL)
FreeImage_Unload(m_texture);
}
vec3 get_color(Ray & r);
private:
vec3 m_bckg_color;
FIBITMAP * m_texture;
bool m_probe;
};
#endif