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;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |