149 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
| package kha.graphics4;
 | |
| 
 | |
| class PipelineStateBase {
 | |
| 	public function new() {
 | |
| 		inputLayout = null;
 | |
| 		vertexShader = null;
 | |
| 		fragmentShader = null;
 | |
| 		geometryShader = null;
 | |
| 		tessellationControlShader = null;
 | |
| 		tessellationEvaluationShader = null;
 | |
| 
 | |
| 		cullMode = CullMode.None;
 | |
| 
 | |
| 		depthWrite = false;
 | |
| 		depthMode = CompareMode.Always;
 | |
| 
 | |
| 		stencilFrontMode = CompareMode.Always;
 | |
| 		stencilFrontBothPass = StencilAction.Keep;
 | |
| 		stencilFrontDepthFail = StencilAction.Keep;
 | |
| 		stencilFrontFail = StencilAction.Keep;
 | |
| 
 | |
| 		stencilBackMode = CompareMode.Always;
 | |
| 		stencilBackBothPass = StencilAction.Keep;
 | |
| 		stencilBackDepthFail = StencilAction.Keep;
 | |
| 		stencilBackFail = StencilAction.Keep;
 | |
| 
 | |
| 		stencilReferenceValue = Static(0);
 | |
| 		stencilReadMask = 0xff;
 | |
| 		stencilWriteMask = 0xff;
 | |
| 
 | |
| 		blendSource = BlendingFactor.BlendOne;
 | |
| 		blendDestination = BlendingFactor.BlendZero;
 | |
| 		blendOperation = BlendingOperation.Add;
 | |
| 		alphaBlendSource = BlendingFactor.BlendOne;
 | |
| 		alphaBlendDestination = BlendingFactor.BlendZero;
 | |
| 		alphaBlendOperation = BlendingOperation.Add;
 | |
| 
 | |
| 		colorWriteMasksRed = [];
 | |
| 		colorWriteMasksGreen = [];
 | |
| 		colorWriteMasksBlue = [];
 | |
| 		colorWriteMasksAlpha = [];
 | |
| 		for (i in 0...8)
 | |
| 			colorWriteMasksRed.push(true);
 | |
| 		for (i in 0...8)
 | |
| 			colorWriteMasksGreen.push(true);
 | |
| 		for (i in 0...8)
 | |
| 			colorWriteMasksBlue.push(true);
 | |
| 		for (i in 0...8)
 | |
| 			colorWriteMasksAlpha.push(true);
 | |
| 
 | |
| 		colorAttachmentCount = 1;
 | |
| 		colorAttachments = [];
 | |
| 		for (i in 0...8)
 | |
| 			colorAttachments.push(TextureFormat.RGBA32);
 | |
| 
 | |
| 		depthStencilAttachment = DepthStencilFormat.NoDepthAndStencil;
 | |
| 
 | |
| 		conservativeRasterization = false;
 | |
| 	}
 | |
| 
 | |
| 	public var inputLayout: Array<VertexStructure>;
 | |
| 	public var vertexShader: VertexShader;
 | |
| 	public var fragmentShader: FragmentShader;
 | |
| 	public var geometryShader: GeometryShader;
 | |
| 	public var tessellationControlShader: TessellationControlShader;
 | |
| 	public var tessellationEvaluationShader: TessellationEvaluationShader;
 | |
| 
 | |
| 	public var cullMode: CullMode;
 | |
| 
 | |
| 	public var depthWrite: Bool;
 | |
| 	public var depthMode: CompareMode;
 | |
| 
 | |
| 	public var stencilFrontMode: CompareMode;
 | |
| 	public var stencilFrontBothPass: StencilAction;
 | |
| 	public var stencilFrontDepthFail: StencilAction;
 | |
| 	public var stencilFrontFail: StencilAction;
 | |
| 
 | |
| 	public var stencilBackMode: CompareMode;
 | |
| 	public var stencilBackBothPass: StencilAction;
 | |
| 	public var stencilBackDepthFail: StencilAction;
 | |
| 	public var stencilBackFail: StencilAction;
 | |
| 
 | |
| 	public var stencilReferenceValue: StencilValue;
 | |
| 	public var stencilReadMask: Int;
 | |
| 	public var stencilWriteMask: Int;
 | |
| 
 | |
| 	// One, Zero deactivates blending
 | |
| 	public var blendSource: BlendingFactor;
 | |
| 	public var blendDestination: BlendingFactor;
 | |
| 	public var blendOperation: BlendingOperation;
 | |
| 	public var alphaBlendSource: BlendingFactor;
 | |
| 	public var alphaBlendDestination: BlendingFactor;
 | |
| 	public var alphaBlendOperation: BlendingOperation;
 | |
| 
 | |
| 	public var colorWriteMask(never, set): Bool;
 | |
| 	public var colorWriteMaskRed(get, set): Bool;
 | |
| 	public var colorWriteMaskGreen(get, set): Bool;
 | |
| 	public var colorWriteMaskBlue(get, set): Bool;
 | |
| 	public var colorWriteMaskAlpha(get, set): Bool;
 | |
| 
 | |
| 	public var colorWriteMasksRed: Array<Bool>;
 | |
| 	public var colorWriteMasksGreen: Array<Bool>;
 | |
| 	public var colorWriteMasksBlue: Array<Bool>;
 | |
| 	public var colorWriteMasksAlpha: Array<Bool>;
 | |
| 
 | |
| 	public var colorAttachmentCount: Int;
 | |
| 	public var colorAttachments: Array<TextureFormat>;
 | |
| 
 | |
| 	public var depthStencilAttachment: DepthStencilFormat;
 | |
| 
 | |
| 	inline function set_colorWriteMask(value: Bool): Bool {
 | |
| 		return colorWriteMaskRed = colorWriteMaskBlue = colorWriteMaskGreen = colorWriteMaskAlpha = value;
 | |
| 	}
 | |
| 
 | |
| 	inline function get_colorWriteMaskRed(): Bool {
 | |
| 		return colorWriteMasksRed[0];
 | |
| 	}
 | |
| 
 | |
| 	inline function set_colorWriteMaskRed(value: Bool): Bool {
 | |
| 		return colorWriteMasksRed[0] = value;
 | |
| 	}
 | |
| 
 | |
| 	inline function get_colorWriteMaskGreen(): Bool {
 | |
| 		return colorWriteMasksGreen[0];
 | |
| 	}
 | |
| 
 | |
| 	inline function set_colorWriteMaskGreen(value: Bool): Bool {
 | |
| 		return colorWriteMasksGreen[0] = value;
 | |
| 	}
 | |
| 
 | |
| 	inline function get_colorWriteMaskBlue(): Bool {
 | |
| 		return colorWriteMasksBlue[0];
 | |
| 	}
 | |
| 
 | |
| 	inline function set_colorWriteMaskBlue(value: Bool): Bool {
 | |
| 		return colorWriteMasksBlue[0] = value;
 | |
| 	}
 | |
| 
 | |
| 	inline function get_colorWriteMaskAlpha(): Bool {
 | |
| 		return colorWriteMasksAlpha[0];
 | |
| 	}
 | |
| 
 | |
| 	inline function set_colorWriteMaskAlpha(value: Bool): Bool {
 | |
| 		return colorWriteMasksAlpha[0] = value;
 | |
| 	}
 | |
| 
 | |
| 	public var conservativeRasterization: Bool;
 | |
| }
 |