66 lines
1.6 KiB
C++
66 lines
1.6 KiB
C++
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// OpenGL Image Copyright (c) 2008 - 2011 G-Truc Creation (www.g-truc.net)
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// Created : 2011-04-06
|
|
// Updated : 2011-04-06
|
|
// Licence : This source is under MIT License
|
|
// File : gli/core/texture_cube.hpp
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef GLI_CORE_TEXTURE_CUBE_INCLUDED
|
|
#define GLI_CORE_TEXTURE_CUBE_INCLUDED
|
|
|
|
#include "texture2d.hpp"
|
|
|
|
namespace gli
|
|
{
|
|
enum face
|
|
{
|
|
POSITIVE_X,
|
|
NEGATIVE_X,
|
|
POSITIVE_Y,
|
|
NEGATIVE_Y,
|
|
POSITIVE_Z,
|
|
NEGATIVE_Z,
|
|
FACE_MAX
|
|
};
|
|
|
|
class textureCube
|
|
{
|
|
public:
|
|
typedef texture2D::dimensions_type dimensions_type;
|
|
typedef texture2D::texcoord_type texcoord_type;
|
|
typedef texture2D::size_type size_type;
|
|
typedef texture2D::value_type value_type;
|
|
typedef texture2D::format_type format_type;
|
|
typedef texture2D::data_type data_type;
|
|
typedef texture2D::level_type level_type;
|
|
typedef face face_type;
|
|
|
|
public:
|
|
textureCube();
|
|
|
|
explicit textureCube(level_type const & Levels);
|
|
|
|
~textureCube();
|
|
|
|
texture2D & operator[] (
|
|
face_type const & Face);
|
|
texture2D const & operator[] (
|
|
face_type const & Face) const;
|
|
|
|
bool empty() const;
|
|
format_type format() const;
|
|
level_type levels() const;
|
|
void resize(level_type const & Levels);
|
|
|
|
private:
|
|
std::vector<texture2D> Faces;
|
|
};
|
|
|
|
}//namespace gli
|
|
|
|
#include "texture_cube.inl"
|
|
|
|
#endif//GLI_CORE_TEXTURE_CUBE_INCLUDED
|