You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and dots ('.'), can be up to 35 characters long. Letters must be lowercase.
48 lines
1.4 KiB
48 lines
1.4 KiB
/// @brief Include to compute the number of mipmaps levels necessary to create a mipmap complete texture. |
|
/// @file gli/levels.hpp |
|
|
|
#pragma once |
|
|
|
#include "type.hpp" |
|
|
|
namespace gli |
|
{ |
|
/// Compute the number of mipmaps levels necessary to create a mipmap complete texture |
|
/// |
|
/// @param Extent Extent of the texture base level mipmap |
|
/// @tparam vecType Vector type used to express the dimensions of a texture of any kind. |
|
/// @code |
|
/// #include <gli/texture2d.hpp> |
|
/// #include <gli/levels.hpp> |
|
/// ... |
|
/// gli::texture2d::extent_type Extent(32, 10); |
|
/// gli::texture2d Texture(gli::levels(Extent)); |
|
/// @endcode |
|
template <typename T, precision P, template <typename, precision> class vecType> |
|
T levels(vecType<T, P> const& Extent); |
|
/* |
|
/// Compute the number of mipmaps levels necessary to create a mipmap complete texture |
|
/// |
|
/// @param Extent Extent of the texture base level mipmap |
|
/// @code |
|
/// #include <gli/texture2d.hpp> |
|
/// #include <gli/levels.hpp> |
|
/// ... |
|
/// gli::texture2d Texture(32); |
|
/// @endcode |
|
size_t levels(size_t Extent); |
|
|
|
/// Compute the number of mipmaps levels necessary to create a mipmap complete texture |
|
/// |
|
/// @param Extent Extent of the texture base level mipmap |
|
/// @code |
|
/// #include <gli/texture2d.hpp> |
|
/// #include <gli/levels.hpp> |
|
/// ... |
|
/// gli::texture2d Texture(32); |
|
/// @endcode |
|
int levels(int Extent); |
|
*/ |
|
}//namespace gli |
|
|
|
#include "./core/levels.inl"
|
|
|