CSPspEmu.Core.Gpu.Impl.Opengl.OpenglGpuImpl.PrepareState_Stencil C# (CSharp) Method

PrepareState_Stencil() private method

private PrepareState_Stencil ( GpuStateStruct GpuState ) : void
GpuState GpuStateStruct
return void
		private void PrepareState_Stencil(GpuStateStruct* GpuState)
		{
			if (!GL.EnableDisable(GL.GL_STENCIL_TEST, GpuState->StencilState.Enabled))
			{
				return;
			}

			//Console.Error.WriteLine("aaaaaa!");

			//if (state.stencilFuncFunc == 2) { outputDepthAndStencil(); assert(0); }

#if false
			Console.Error.WriteLine(
				"{0}:{1}:{2} - {3}, {4}, {5}",
				StencilFunctionTranslate[(int)GpuState->StencilState.Function],
				GpuState->StencilState.FunctionRef,
				GpuState->StencilState.FunctionMask,
				StencilOperationTranslate[(int)GpuState->StencilState.OperationFail],
				StencilOperationTranslate[(int)GpuState->StencilState.OperationZFail],
				StencilOperationTranslate[(int)GpuState->StencilState.OperationZPass]
			);
#endif
			GL.glStencilFunc(
				OpenglGpuImplConversionTables.StencilFunctionTranslate[(int)GpuState->StencilState.Function],
				GpuState->StencilState.FunctionRef,
				GpuState->StencilState.FunctionMask
			);

			GL.glStencilOp(
				OpenglGpuImplConversionTables.StencilOperationTranslate[(int)GpuState->StencilState.OperationFail],
				OpenglGpuImplConversionTables.StencilOperationTranslate[(int)GpuState->StencilState.OperationZFail],
				OpenglGpuImplConversionTables.StencilOperationTranslate[(int)GpuState->StencilState.OperationZPass]
			);
		}