11 Cubemap(
const uint32_t& 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 uint32_t& face,
const uint32_t& mip_level);
33 void fillTextureData(
const std::vector<std::byte>& data,
const uint32_t& face,
const uint32_t& mip_level);
39 uint32_t getSize()
const
44 virtual void enableBilinearFiltering(
bool enabled =
true)
override;
45 void generateMipMaps()
override;
51 bool _load_from_file(
const std::vector<std::string>& filenames,
const int& internal_format = 0,
const int& format = 0,
const int& type = 0);
53 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);
56 void _generate_cubemap(
const uint32_t& 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)
Texture(const uint32_t opengl_id)
Create a texture using an existing OpenGL handle.
glm::ivec2 getDimensions(const uint8_t mip_level=0) const
Get dimensions of the texture.