52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/// @brief Include to use the target enum and query properties of targets.
 | 
						|
/// @file gli/target.hpp
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
namespace gli
 | 
						|
{
 | 
						|
	/// Texture target: type/shape of the texture storage_linear
 | 
						|
	enum target
 | 
						|
	{
 | 
						|
		TARGET_1D = 0, TARGET_FIRST = TARGET_1D,
 | 
						|
		TARGET_1D_ARRAY,
 | 
						|
		TARGET_2D,
 | 
						|
		TARGET_2D_ARRAY,
 | 
						|
		TARGET_3D,
 | 
						|
		TARGET_RECT,
 | 
						|
		TARGET_RECT_ARRAY,
 | 
						|
		TARGET_CUBE,
 | 
						|
		TARGET_CUBE_ARRAY, TARGET_LAST = TARGET_CUBE_ARRAY
 | 
						|
	};
 | 
						|
 | 
						|
	enum
 | 
						|
	{
 | 
						|
		TARGET_COUNT = TARGET_LAST - TARGET_FIRST + 1,
 | 
						|
		TARGET_INVALID = -1
 | 
						|
	};
 | 
						|
 | 
						|
	/// Check whether a target is a 1D target
 | 
						|
	inline bool is_target_1d(target Target)
 | 
						|
	{
 | 
						|
		return Target == TARGET_1D || Target == TARGET_1D_ARRAY;
 | 
						|
	}
 | 
						|
 | 
						|
	/// Check whether a target is an array target
 | 
						|
	inline bool is_target_array(target Target)
 | 
						|
	{
 | 
						|
		return Target == TARGET_1D_ARRAY || Target == TARGET_2D_ARRAY || Target == TARGET_CUBE_ARRAY;
 | 
						|
	}
 | 
						|
 | 
						|
	/// Check whether a target is a cube map target
 | 
						|
	inline bool is_target_cube(target Target)
 | 
						|
	{
 | 
						|
		return Target == TARGET_CUBE || Target == TARGET_CUBE_ARRAY;
 | 
						|
	}
 | 
						|
	
 | 
						|
	/// Check whether a target is a rectangle target
 | 
						|
	inline bool is_target_rect(target Target)
 | 
						|
	{
 | 
						|
		return Target == TARGET_RECT || Target == TARGET_RECT_ARRAY;
 | 
						|
	}
 | 
						|
}//namespace gli
 |