Exemplo n.º 1
0
        public static QuaterNode Create()
        {
            var model       = new QuaterModel();
            var vs          = new VertexShader(vertexCode);
            var fs          = new FragmentShader(fragmentCode);
            var array       = new ShaderArray(vs, fs);
            var map         = new AttributeMap();
            var stencilFunc = new StencilFuncState(EStencilFunc.Always, 1, 0xFF, EStencilFunc.Equal, 1, 0xFF);
            var stencilOp   = new StencilOpState(EStencilOp.Keep, EStencilOp.Keep, EStencilOp.Replace, EStencilOp.Keep, EStencilOp.Keep, EStencilOp.Keep);
            var stencilMask = new StencilMaskState(0xFF, 0x00);
            var colorMask   = new ColorMaskState(false, false, false, false);
            var depthMask   = new DepthMaskState(false);
            var clearBuffer = new UserDefineState();

            clearBuffer.TurnOn += clearBuffer_On;

            var builder = new RenderMethodBuilder(array, map, stencilFunc, stencilOp, stencilMask, colorMask, depthMask, clearBuffer);
            var node    = new QuaterNode(model, builder);

            node.Initialize();

            return(node);
        }
 /// <param name="DepthBoundsTestEnable">Optional (depth_bounds_test)</param>
 public PipelineDepthStencilStateCreateInfo(Bool32 DepthTestEnable, Bool32 DepthWriteEnable, CompareOp DepthCompareOp, Bool32 DepthBoundsTestEnable, Bool32 StencilTestEnable, StencilOpState Front, StencilOpState Back, Single MinDepthBounds, Single MaxDepthBounds) : this()
 {
     this.DepthTestEnable       = DepthTestEnable;
     this.DepthWriteEnable      = DepthWriteEnable;
     this.DepthCompareOp        = DepthCompareOp;
     this.DepthBoundsTestEnable = DepthBoundsTestEnable;
     this.StencilTestEnable     = StencilTestEnable;
     this.Front          = Front;
     this.Back           = Back;
     this.MinDepthBounds = MinDepthBounds;
     this.MaxDepthBounds = MaxDepthBounds;
 }