#ifndef TEXTURE_CUBEMAP_HPP
#define TEXTURE_CUBEMAP_HPP
#include "Texture.hpp"
#include <wren/texture_cubemap.h>
namespace wren {
class Transform;
class TextureCubeMap : public Texture {
public:
static TextureCubeMap *createTextureCubeMap() { return new TextureCubeMap(); }
void setData(const char *data, WrTextureOrientation orientation) { mDatas[orientation] = data; }
WrTextureType type() const override { return WR_TEXTURE_TYPE_CUBEMAP; }
unsigned int glName() const override { return mGlName; }
void generateMipMaps(bool regenerate = false) override;
void bind(const Texture::UsageParams ¶ms) override;
void release() override;
void setGlName(unsigned int glName) override { mGlName = glName; }
void disableAutomaticMipMapGeneration() { mHaveMipMapsBeenGenerated = true; }
private:
TextureCubeMap();
~TextureCubeMap() {}
void prepareGl() override;
const void *mDatas[WR_TEXTURE_CUBEMAP_COUNT];
unsigned int mGlName;
};
}
#endif