11 Cubemap(
const unsigned int& size,
const int& internal_format = 0,
const int& format = 0,
const int& type = 0,
const int& max_mip = 5);
13 Cubemap(
const std::string& equirectangular_filename,
const float& brightness_multiplier = 1.0f,
const int& max_mips = 5);
15 Cubemap(
const std::string& folder,
const std::string& extension,
const bool is_hdr =
false,
const std::vector<std::string>& faces = {
"posx",
"negx",
"posy",
"negy",
"posz",
"negz"});
17 Cubemap(
const std::vector<std::string>& filenames,
const bool is_hdr =
false);
24 const std::function<glm::vec4(
const uint8_t face,
const uint32_t i,
const uint32_t j)> generator,
25 const int& max_mips = 5
31 std::vector<std::byte> fetchTextureData(
const unsigned int& face,
const unsigned int& mip_level);
33 void fillTextureData(
const std::vector<std::byte>& data,
const unsigned int& face,
const unsigned int& mip_level);
39 unsigned int getSize()
const {
return _size; }
40 virtual void enableBilinearFiltering(
bool enabled =
true)
override;
41 void generateMipMaps()
override;
44 virtual void use(
const uint8_t& layer)
override;
48 bool _load_from_file(
const std::vector<std::string>& filenames,
const int& internal_format = 0,
const int& format = 0,
const int& type = 0);
50 void _construct_cubemap(
const std::vector<std::string>& filenames,
const int& internal_format = 0,
const int& format = 0,
const int& type = 0,
const int& max_mips = 5);
54 void _generate_cubemap(
const unsigned int& size,
oe::render::Shader* shader, T* texture,
const int& max_mips);
Cubemap(const uint32_t size, const std::function< glm::vec4(const uint8_t face, const uint32_t i, const uint32_t j)> generator, const int &max_mips=5)