public DepthStencilStateDesc(DepthStencilStateTypes type)
        {
            switch (type)
            {
                case DepthStencilStateTypes.None:
                    depthReadEnable = false;
                    depthWriteEnable = false;
                    depthFunc = X.CompareFunction.Less;

                    stencilEnable = false;
                    stencilFunc = X.CompareFunction.Never;
                    stencilFailOp = X.StencilOperation.Keep;
                    stencilDepthFailOp = X.StencilOperation.Keep;
                    stencilPassOp = X.StencilOperation.Keep;
                    break;

                case DepthStencilStateTypes.ReadWrite_Less:
                    depthReadEnable = true;
                    depthWriteEnable = true;
                    depthFunc = X.CompareFunction.Less;

                    stencilEnable = false;
                    stencilFunc = X.CompareFunction.Never;
                    stencilFailOp = X.StencilOperation.Keep;
                    stencilDepthFailOp = X.StencilOperation.Keep;
                    stencilPassOp = X.StencilOperation.Keep;
                    break;

                default:
                    Debug.ThrowError("DepthStencilStateDesc", "Unsuported DepthStencilStateType");
                    break;
            }
        }
예제 #2
0
        public DepthStencilStateDesc(DepthStencilStateTypes type)
        {
            switch (type)
            {
            case DepthStencilStateTypes.None:
                depthReadEnable  = false;
                depthWriteEnable = false;
                depthFunc        = X.CompareFunction.Less;

                stencilEnable      = false;
                stencilFunc        = X.CompareFunction.Never;
                stencilFailOp      = X.StencilOperation.Keep;
                stencilDepthFailOp = X.StencilOperation.Keep;
                stencilPassOp      = X.StencilOperation.Keep;
                break;

            case DepthStencilStateTypes.ReadWrite_Less:
                depthReadEnable  = true;
                depthWriteEnable = true;
                depthFunc        = X.CompareFunction.Less;

                stencilEnable      = false;
                stencilFunc        = X.CompareFunction.Never;
                stencilFailOp      = X.StencilOperation.Keep;
                stencilDepthFailOp = X.StencilOperation.Keep;
                stencilPassOp      = X.StencilOperation.Keep;
                break;

            default:
                Debug.ThrowError("DepthStencilStateDesc", "Unsuported DepthStencilStateType");
                break;
            }
        }
예제 #3
0
        public static Graphics.CompareFunction Convert(CompareFunction func)
        {
            switch (func)
            {
            case CompareFunction.Never:
                return(Graphics.CompareFunction.AlwaysFail);

            case CompareFunction.Always:
                return(Graphics.CompareFunction.AlwaysPass);

            case CompareFunction.Equal:
                return(Graphics.CompareFunction.Equal);

            case CompareFunction.Greater:
                return(Graphics.CompareFunction.Greater);

            case CompareFunction.GreaterEqual:
                return(Graphics.CompareFunction.GreaterEqual);

            case CompareFunction.Less:
                return(Graphics.CompareFunction.Less);

            case CompareFunction.LessEqual:
                return(Graphics.CompareFunction.LessEqual);

            case CompareFunction.NotEqual:
                return(Graphics.CompareFunction.NotEqual);
            }

            return(0);
        }
예제 #4
0
		public static Graphics.CompareFunction Convert( CompareFunction func )
		{
			switch ( func )
			{
				case CompareFunction.Never:
					return Graphics.CompareFunction.AlwaysFail;

				case CompareFunction.Always:
					return Graphics.CompareFunction.AlwaysPass;

				case CompareFunction.Equal:
					return Graphics.CompareFunction.Equal;

				case CompareFunction.Greater:
					return Graphics.CompareFunction.Greater;

				case CompareFunction.GreaterEqual:
					return Graphics.CompareFunction.GreaterEqual;

				case CompareFunction.Less:
					return Graphics.CompareFunction.Less;

				case CompareFunction.LessEqual:
					return Graphics.CompareFunction.LessEqual;

				case CompareFunction.NotEqual:
					return Graphics.CompareFunction.NotEqual;
			}

			return 0;
		}