Browse Source

Trade: added TextureData parameters.

Not adding border color (yet), as it is not supported in ES.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
dcebf1a7b9
  1. 59
      src/Trade/TextureData.h
  2. 2
      src/Trade/Trade.h

59
src/Trade/TextureData.h

@ -28,6 +28,9 @@
* @brief Class Magnum::Trade::TextureData
*/
#include "Array.h"
#include "Sampler.h"
namespace Magnum { namespace Trade {
/**
@ -35,6 +38,29 @@ namespace Magnum { namespace Trade {
*/
class TextureData {
public:
/**
* @brief Texture type
*
* @see type()
*/
enum class Type: UnsignedByte {
Texture1D, /**< One-dimensional texture */
Texture2D, /**< Two-dimensional texture */
Texture3D, /**< Three-dimensional texture */
Cube, /**< Cube map texture */
};
/**
* @brief Constructor
* @param type Texture type
* @param minificationFilter Minification filter
* @param magnificationFilter Magnification filter
* @param mipmapFilter Mipmap filter
* @param wrapping Wrapping
* @param image Texture image ID
*/
TextureData(Type type, Sampler::Filter minificationFilter, Sampler::Filter magnificationFilter, Sampler::Mipmap mipmapFilter, Array3D<Sampler::Wrapping> wrapping, UnsignedInt image): _type(type), _minificationFilter(minificationFilter), _magnificationFilter(magnificationFilter), _mipmapFilter(mipmapFilter), _wrapping(wrapping), _image(image) {}
/** @brief Copying is not allowed */
TextureData(const TextureData&) = delete;
@ -46,6 +72,39 @@ class TextureData {
/** @brief Move assignment */
TextureData& operator=(TextureData&&) = default;
/** @brief Texture type */
Type type() const { return _type; }
/** @brief Minification filter */
Sampler::Filter minificationFilter() const { return _minificationFilter; }
/** @brief Magnification filter */
Sampler::Filter magnificationFilter() const { return _magnificationFilter; }
/** @brief Mipmap filter */
Sampler::Mipmap mipmapFilter() const { return _mipmapFilter; }
/** @brief Wrapping */
Array3D<Sampler::Wrapping> wrapping() const { return _wrapping; }
/**
* @brief Image ID
*
* ID of 1D, 2D or 3D image based on texture type. If type is
* @ref Type "Type::Cube" the function returns first of six consecutive
* IDs of cube map sides, ordered +X, -X, +Y, -Y, +Z, -Z.
* @see @ref type(), @ref AbstractImporter::image1D(),
* @ref AbstractImporter::image2D(), @ref AbstractImporter::image3D()
*/
UnsignedInt image() const { return _image; }
private:
Type _type;
Sampler::Filter _minificationFilter, _magnificationFilter;
Sampler::Mipmap _mipmapFilter;
Array3D<Sampler::Wrapping> _wrapping;
UnsignedInt _image;
};
}}

2
src/Trade/Trade.h

@ -52,8 +52,8 @@ class MeshObjectData3D;
class ObjectData2D;
class ObjectData3D;
class PhongMaterialData;
class SceneData;
class TextureData;
class SceneData;
#endif
}}

Loading…
Cancel
Save