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.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							62 lines
						
					
					
						
							2.1 KiB
						
					
					
				/// @brief Include to copy textures or a subset of either textures. These operations are performed without memory allocations. | 
						|
/// @file gli/copy.hpp | 
						|
 | 
						|
#pragma once | 
						|
 | 
						|
#include "type.hpp" | 
						|
 | 
						|
namespace gli | 
						|
{ | 
						|
	/// Copy a specific image of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy( | 
						|
		texture_src_type const& TextureSrc, size_t LayerSrc, size_t FaceSrc, size_t LevelSrc, | 
						|
		texture_dst_type& TextureDst, size_t LayerDst, size_t FaceDst, size_t LevelDst); | 
						|
 | 
						|
	/// Copy a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy( | 
						|
		texture_src_type const& TextureSrc, | 
						|
		texture_dst_type& TextureDst); | 
						|
 | 
						|
	// Copy an entire level of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_level( | 
						|
		texture_src_type const& TextureSrc, size_t BaseLevelSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseLevelDst); | 
						|
 | 
						|
	// Copy multiple levels of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_level( | 
						|
		texture_src_type const& TextureSrc, size_t BaseLevelSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseLevelDst, | 
						|
		size_t LevelCount); | 
						|
 | 
						|
	// Copy an entire face of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_face( | 
						|
		texture_src_type const& TextureSrc, size_t BaseFaceSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseFaceDst); | 
						|
 | 
						|
	// Copy multiple faces of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_face( | 
						|
		texture_src_type const& TextureSrc, size_t BaseFaceSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseFaceDst, | 
						|
		size_t FaceCount); | 
						|
 | 
						|
	// Copy an entire layer of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_layer( | 
						|
		texture_src_type const& TextureSrc, size_t BaseLayerSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseLayerDst); | 
						|
 | 
						|
	// Copy multiple layers of a texture | 
						|
	template <typename texture_src_type, typename texture_dst_type> | 
						|
	void copy_layer( | 
						|
		texture_src_type const& TextureSrc, size_t BaseLayerSrc, | 
						|
		texture_dst_type& TextureDst, size_t BaseLayerDst, | 
						|
		size_t LayerCount); | 
						|
}//namespace gli | 
						|
 | 
						|
#include "./core/copy.inl"
 | 
						|
 |