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