public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hash = 17; hash = hash * 23 + StencilCompareFunction.GetHashCode(); hash = hash * 23 + DepthFailure.GetHashCode(); hash = hash * 23 + DepthStencilPass.GetHashCode(); hash = hash * 23 + ReadMask.GetHashCode(); hash = hash * 23 + StencilFailure.GetHashCode(); hash = hash * 23 + WriteMask.GetHashCode(); //hash = hash * 23 + StencilReference.GetHashCode(); return(hash); } }
public StencilMode(StencilOperationFunction depthPass, StencilOperationFunction depthFail, StencilOperationFunction stencilFail, StencilCompareFunction compare, int reference, uint mask) : this(new StencilOperation(depthPass, depthFail, stencilFail), new StencilFunction(compare, reference, mask)) { }
public StencilFunction(StencilCompareFunction func, int reference, uint mask) { Function = func; Reference = reference; Mask = mask; }
public StencilMode(StencilOperationFunction frontDepthPass, StencilOperationFunction frontDepthFail, StencilOperationFunction frontStencilFail, StencilCompareFunction frontCompare, int frontReference, uint frontMask, StencilOperationFunction backDepthPass, StencilOperationFunction backDepthFail, StencilOperationFunction backStencilFail, StencilCompareFunction backCompare, int backReference, uint backMask) : this(new StencilOperation(frontDepthPass, frontDepthFail, frontStencilFail), new StencilFunction(frontCompare, frontReference, frontMask), new StencilOperation(backDepthPass, backDepthFail, backStencilFail), new StencilFunction(backCompare, backReference, backMask)) { }