Oxygen Engine
Modern C++ 3D Engine using OpenGL
Loading...
Searching...
No Matches
oe::render::DynamicCubemap Class Reference
Inheritance diagram for oe::render::DynamicCubemap:
Collaboration diagram for oe::render::DynamicCubemap:

Public Member Functions

 DynamicCubemap (const int32_t size=1024, const int32_t internal_format=0, const int32_t format=0, const int32_t type=0)
void generate (const std::function< void(scene::Camera &camera)> &render_scene)
void generateMipmaps (const std::function< void(scene::Camera &camera, const uint8_t mip)> &render_scene, const uint8_t max_mips)
scene::Camera getCamera () const
void fillFaceFromTexture (oe::render::Texture *texture, const int32_t x, const int32_t y, const uint32_t face, const uint32_t mip_level)
Public Member Functions inherited from oe::render::Cubemap
 Cubemap (const uint32_t &size, const int &internal_format=0, const int &format=0, const int &type=0, const int &max_mip=5)
 Cubemap (const std::string &equirectangular_filename, const float &brightness_multiplier=1.0f, const int &max_mips=5)
 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"})
 Cubemap (const std::vector< std::string > &filenames, const bool is_hdr=false)
 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)
std::vector< std::byte > fetchTextureData (const uint32_t &face, const uint32_t &mip_level)
void fillTextureData (const std::vector< std::byte > &data, const uint32_t &face, const uint32_t &mip_level)
uint32_t getSize () const
virtual void enableBilinearFiltering (bool enabled=true) override
void generateMipMaps () override
void useMipMaps ()
Public Member Functions inherited from oe::render::Texture
 Texture (const uint32_t opengl_id)
 Create a texture using an existing OpenGL handle.
 Texture (const Texture &)=delete
Textureoperator= (const Texture &)=delete
 Texture (Texture &&other) noexcept
 Texture (const int32_t width, const int32_t height, const uint8_t *data, const int32_t nb_channels=0, const int32_t internal_format=0, const int32_t format=0, const int32_t type=0, const uint8_t max_mips=1)
 Load texture from raw gpu image data.
 Texture (const ByteSpan data, const ColorSpace color_space, const int32_t wanted_channels=4, const uint8_t max_mips=1)
 Load texture from an image stored in memory.
 Texture (const std::string &filename, const ColorSpace color_space, const uint8_t max_mips=1)
 Load texture from a file.
 Texture (const uint32_t width, const uint32_t height, const std::function< glm::vec4(const uint32_t i, const uint32_t j)> generator, const uint8_t max_mips=1)
 Generate a RGBA texture from a function returning a vec4.
 Texture (const uint32_t width, const uint32_t height, const oe::scene::Material &generator, const int32_t nb_channels=0, const int32_t internal_format=0, const int32_t format=0, const int32_t type=0, const uint8_t max_mips=1)
 Generate a texture from a material.
void use (const uint8_t layer)
void clampToEdge ()
void wrapRepeat ()
void fillTextureData (ByteSpan data, const uint32_t face, const uint32_t mip_level)
ByteArray fetchTextureData (const uint32_t face, const uint32_t mip_level)
 Get texture data from OpenGL memory.
glm::ivec2 getDimensions (const uint8_t mip_level=0) const
 Get dimensions of the texture.
uint32_t releaseOwnership ()
 Get ownership of the internal handle (to prevent external texture being destroyed) Only do this if you know what you are doing.

Friends

class oe::render::Cubemap

Additional Inherited Members

Protected Member Functions inherited from oe::render::Cubemap
bool _load_from_file (const std::vector< std::string > &filenames, const int &internal_format=0, const int &format=0, const int &type=0)
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)
template<typename T>
void _generate_cubemap (const uint32_t &size, oe::render::Shader *shader, T *texture, const int &max_mips)
Protected Member Functions inherited from oe::render::Texture
void _generate_texture (const int32_t width, const int32_t height, const uint8_t *data, const int32_t nb_channels=0, const int32_t internal_format=0, const int32_t format=0, const int32_t type=0, const uint8_t max_mips=1)
Protected Attributes inherited from oe::render::Texture
uint32_t _internal_id = 0
int32_t _internal_format = 0
int32_t _format = 0
int32_t _type = 0

The documentation for this class was generated from the following file: