示例#1
0
        public EffectPass(string rasterizer, string blend, string depthStencil,
            string shader, string vertexEntryPoint, string pixelEntryPoint, 
            TechniqueTags tags, Effect effect)
        {
            if (rasterizer != "")
            {
                _hasRasterizerState = true;
                _rasterizerState = MaterialManager.RenderStates.GetRasterizerState(rasterizer);
            }

            if (blend != "")
            {
                _hasBlendState = true;
                _blendState = MaterialManager.RenderStates.GetBlendState(blend);
            }

            if (depthStencil != "")
            {
                _hasDepthStencilState = true;
                _depthStencilState = MaterialManager.RenderStates.GetDepthStencilState(depthStencil);
            }

            _tags = tags;

            _shader = new Shader(shader, tags, true, pixelEntryPoint, vertexEntryPoint);
        }
        public void AddRasterizerState(string name, RasterizerState state)
        {
            rasterizerLastAdded++;
            rasterizerStates[rasterizerLastAdded] = state;

            rasterizerNames.Add(name, rasterizerLastAdded);
            state.SetNameAndIndex(name, rasterizerLastAdded);
        }
示例#3
0
 public static void SetRasterizerState(RasterizerState state)
 {
     DeviceContext.Rasterizer.State = state.NativeRasterizerState;
 }
 public void SetRasterizerState(RasterizerState state)
 {
     if (state == null)
         GraphicManager.SetRasterizerState(DefaultRasterizerState);
     else
         GraphicManager.SetRasterizerState(state);
 }