forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package kha.graphics5;
 | |
| 
 | |
| @:headerCode('
 | |
| #include <Kore/Graphics5/CommandList.h>
 | |
| ')
 | |
| @:headerClassCode("Kore::Graphics5::CommandList* commandList;")
 | |
| class CommandList {
 | |
| 	public function new() {
 | |
| 		init();
 | |
| 	}
 | |
| 
 | |
| 	@:functionCode('commandList = new Kore::Graphics5::CommandList();')
 | |
| 	private function init(): Void {}
 | |
| 
 | |
| 	public function begin(): Void {
 | |
| 		untyped __cpp__("commandList->begin();");
 | |
| 	}
 | |
| 
 | |
| 	public function end(): Void {
 | |
| 		untyped __cpp__("commandList->end();");
 | |
| 	}
 | |
| 
 | |
| 	public function renderTargetToFramebufferBarrier(renderTarget: RenderTarget): Void {
 | |
| 		untyped __cpp__("commandList->renderTargetToFramebufferBarrier(renderTarget->renderTarget);");
 | |
| 	}
 | |
| 
 | |
| 	public function framebufferToRenderTargetBarrier(renderTarget: RenderTarget): Void {
 | |
| 		untyped __cpp__("commandList->framebufferToRenderTargetBarrier(renderTarget->renderTarget);");
 | |
| 	}
 | |
| 
 | |
| 	public function setRenderTargets(targets: Array<RenderTarget>): Void {
 | |
| 		var len = targets.length;
 | |
| 		var image1 = targets[0];
 | |
| 		var image2 = targets[1];
 | |
| 		var image3 = targets[2];
 | |
| 		var image4 = targets[3];
 | |
| 		var image5 = targets[4];
 | |
| 		var image6 = targets[5];
 | |
| 		var image7 = targets[6];
 | |
| 		untyped __cpp__("Kore::Graphics5::RenderTarget* renderTargets[8] = { image1 == null() ? nullptr : image1->renderTarget, image2 == null() ? nullptr : image2->renderTarget, image3 == null() ? nullptr : image3->renderTarget, image4 == null() ? nullptr : image4->renderTarget, image5 == null() ? nullptr : image5->renderTarget, image6 == null() ? nullptr : image6->renderTarget, image7 == null() ? nullptr : image7->renderTarget }; commandList->setRenderTargets(renderTargets, len);");
 | |
| 	}
 | |
| 
 | |
| 	public function drawIndexedVertices(start: Int = 0, count: Int = -1): Void {
 | |
| 		untyped __cpp__("commandList->drawIndexedVertices();");
 | |
| 	}
 | |
| 
 | |
| 	public function setIndexBuffer(indexBuffer: IndexBuffer): Void {
 | |
| 		untyped __cpp__("commandList->setIndexBuffer(*indexBuffer->buffer);");
 | |
| 	}
 | |
| 
 | |
| 	public function setVertexBuffers(vertexBuffers: Array<VertexBuffer>, offsets: Array<Int>): Void {
 | |
| 		var vb = vertexBuffers[0];
 | |
| 		untyped __cpp__("int offs[1] = { 0 }; Kore::Graphics5::VertexBuffer* buffers[1] = { vb->buffer }; commandList->setVertexBuffers(buffers, offs, 1);");
 | |
| 	}
 | |
| 
 | |
| 	public function setPipelineLayout(): Void {
 | |
| 		untyped __cpp__("commandList->setPipelineLayout();");
 | |
| 	}
 | |
| 
 | |
| 	public function setPipeline(pipeline: PipelineState): Void {
 | |
| 		untyped __cpp__("commandList->setPipeline(pipeline->pipeline);");
 | |
| 	}
 | |
| 
 | |
| 	public function clear(target: RenderTarget, ?color: Color, ?depth: Float, ?stencil: Int): Void {
 | |
| 		untyped __cpp__("commandList->clear(target->renderTarget, Kore::Graphics5::ClearColorFlag);");
 | |
| 	}
 | |
| 
 | |
| 	public function upload(indexBuffer: IndexBuffer): Void {
 | |
| 		untyped __cpp__("commandList->upload(indexBuffer->buffer);");
 | |
| 	}
 | |
| }
 |