36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package kha.graphics5; | ||
|  | 
 | ||
|  | @:headerCode('
 | ||
|  | #include <Kore/Graphics5/Graphics.h> | ||
|  | ')
 | ||
|  | @:headerClassCode("Kore::Graphics5::RenderTarget* renderTarget;") | ||
|  | class RenderTarget { | ||
|  | 	public function new(width: Int, height: Int, depthBufferBits: Int, antialiasing: Bool, format: TextureFormat, stencilBufferBits: Int, contextId: Int) { | ||
|  | 		init(width, height, depthBufferBits, antialiasing, getRenderTargetFormat(format), stencilBufferBits, contextId); | ||
|  | 	} | ||
|  | 
 | ||
|  | 	@:functionCode('renderTarget = new Kore::Graphics5::RenderTarget(width, height, depthBufferBits, antialiasing, (Kore::Graphics5::RenderTargetFormat)format, stencilBufferBits, contextId);') | ||
|  | 	private function init(width: Int, height: Int, depthBufferBits: Int, antialiasing: Bool, format: Int, stencilBufferBits: Int, contextId: Int): Void {} | ||
|  | 
 | ||
|  | 	private static function getRenderTargetFormat(format: TextureFormat): Int { | ||
|  | 		switch (format) { | ||
|  | 			case RGBA32: // Target32Bit | ||
|  | 				return 0; | ||
|  | 			case RGBA64: // Target64BitFloat | ||
|  | 				return 1; | ||
|  | 			case A32: // Target32BitRedFloat | ||
|  | 				return 2; | ||
|  | 			case RGBA128: // Target128BitFloat | ||
|  | 				return 3; | ||
|  | 			case DEPTH16: // Target16BitDepth | ||
|  | 				return 4; | ||
|  | 			case L8: | ||
|  | 				return 5; // Target8BitRed | ||
|  | 			case A16: | ||
|  | 				return 6; // Target16BitRedFloat | ||
|  | 			default: | ||
|  | 				return 0; | ||
|  | 		} | ||
|  | 	} | ||
|  | } |