49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /// @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"
 | 
