forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			78 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package kha.graphics4;
 | |
| 
 | |
| import kha.arrays.Float32Array;
 | |
| import kha.arrays.Int32Array;
 | |
| import kha.Color;
 | |
| import kha.FastFloat;
 | |
| import kha.Image;
 | |
| import kha.math.FastMatrix3;
 | |
| import kha.math.FastMatrix4;
 | |
| import kha.math.FastVector2;
 | |
| import kha.math.FastVector3;
 | |
| import kha.math.FastVector4;
 | |
| import kha.Video;
 | |
| 
 | |
| interface Graphics {
 | |
| 	function begin(additionalRenderTargets: Array<Canvas> = null): Void;
 | |
| 	function beginFace(face: Int): Void;
 | |
| 	function beginEye(eye: Int): Void;
 | |
| 	function end(): Void;
 | |
| 
 | |
| 	function vsynced(): Bool;
 | |
| 	function refreshRate(): Int;
 | |
| 
 | |
| 	function clear(?color: Color, ?depth: Float, ?stencil: Int): Void;
 | |
| 
 | |
| 	function viewport(x: Int, y: Int, width: Int, height: Int): Void;
 | |
| 	function scissor(x: Int, y: Int, width: Int, height: Int): Void;
 | |
| 
 | |
| 	function disableScissor(): Void;
 | |
| 	function setVertexBuffer(vertexBuffer: VertexBuffer): Void;
 | |
| 	function setVertexBuffers(vertexBuffers: Array<kha.graphics4.VertexBuffer>): Void;
 | |
| 	function setIndexBuffer(indexBuffer: IndexBuffer): Void;
 | |
| 
 | |
| 	function setTexture(unit: TextureUnit, texture: Image): Void;
 | |
| 	function setTextureDepth(unit: TextureUnit, texture: Image): Void;
 | |
| 	function setTextureArray(unit: TextureUnit, texture: Image): Void;
 | |
| 	function setVideoTexture(unit: TextureUnit, texture: Video): Void;
 | |
| 	function setImageTexture(unit: TextureUnit, texture: Image): Void;
 | |
| 	function setTextureParameters(texunit: TextureUnit, uAddressing: TextureAddressing, vAddressing: TextureAddressing, minificationFilter: TextureFilter,
 | |
| 		magnificationFilter: TextureFilter, mipmapFilter: MipMapFilter): Void;
 | |
| 	function setTexture3DParameters(texunit: TextureUnit, uAddressing: TextureAddressing, vAddressing: TextureAddressing, wAddressing: TextureAddressing,
 | |
| 		minificationFilter: TextureFilter, magnificationFilter: TextureFilter, mipmapFilter: MipMapFilter): Void;
 | |
| 	function setTextureCompareMode(texunit: TextureUnit, enabled: Bool): Void;
 | |
| 	function setCubeMapCompareMode(texunit: TextureUnit, enabled: Bool): Void;
 | |
| 	function setCubeMap(unit: TextureUnit, cubeMap: CubeMap): Void;
 | |
| 	function setCubeMapDepth(unit: TextureUnit, cubeMap: CubeMap): Void;
 | |
| 	function maxBoundTextures(): Int;
 | |
| 	// function maxTextureSize(): Int;
 | |
| 	// function supportsNonPow2Textures(): Bool;
 | |
| 	function setStencilReferenceValue(value: Int): Void;
 | |
| 
 | |
| 	function instancedRenderingAvailable(): Bool;
 | |
| 
 | |
| 	function setPipeline(pipeline: PipelineState): Void;
 | |
| 
 | |
| 	function setBool(location: ConstantLocation, value: Bool): Void;
 | |
| 	function setInt(location: ConstantLocation, value: Int): Void;
 | |
| 	function setInt2(location: ConstantLocation, value1: Int, value2: Int): Void;
 | |
| 	function setInt3(location: ConstantLocation, value1: Int, value2: Int, value3: Int): Void;
 | |
| 	function setInt4(location: ConstantLocation, value1: Int, value2: Int, value3: Int, value4: Int): Void;
 | |
| 	function setInts(location: ConstantLocation, ints: Int32Array): Void;
 | |
| 	function setFloat(location: ConstantLocation, value: FastFloat): Void;
 | |
| 	function setFloat2(location: ConstantLocation, value1: FastFloat, value2: FastFloat): Void;
 | |
| 	function setFloat3(location: ConstantLocation, value1: FastFloat, value2: FastFloat, value3: FastFloat): Void;
 | |
| 	function setFloat4(location: ConstantLocation, value1: FastFloat, value2: FastFloat, value3: FastFloat, value4: FastFloat): Void;
 | |
| 	function setFloats(location: ConstantLocation, floats: Float32Array): Void;
 | |
| 	function setVector2(location: ConstantLocation, value: FastVector2): Void;
 | |
| 	function setVector3(location: ConstantLocation, value: FastVector3): Void;
 | |
| 	function setVector4(location: ConstantLocation, value: FastVector4): Void;
 | |
| 	function setMatrix(location: ConstantLocation, value: FastMatrix4): Void;
 | |
| 	function setMatrix3(location: ConstantLocation, value: FastMatrix3): Void;
 | |
| 
 | |
| 	function drawIndexedVertices(start: Int = 0, count: Int = -1): Void;
 | |
| 	function drawIndexedVerticesInstanced(instanceCount: Int, start: Int = 0, count: Int = -1): Void;
 | |
| 
 | |
| 	function flush(): Void;
 | |
| }
 |