Ejemplo n.º 1
0
        protected virtual void CloneCore(MaterialInstance source)
        {
            Material = source.Material;

              // Clone effect parameter bindings for all render passes.
              _bindingsPerPass = new Dictionary<string, EffectBinding>(source.Count);
              foreach (var effectBindingPerPass in source)
              {
            string pass = effectBindingPerPass.Key;
            var effectBinding = effectBindingPerPass.Value;
            _bindingsPerPass.Add(pass, effectBinding.Clone());
              }
        }
        protected virtual void CloneCore(MaterialInstance source)
        {
            Material = source.Material;

            // Clone effect parameter bindings for all render passes.
            _bindingsPerPass = new Dictionary <string, EffectBinding>(source.Count);
            foreach (var effectBindingPerPass in source)
            {
                string pass          = effectBindingPerPass.Key;
                var    effectBinding = effectBindingPerPass.Value;
                _bindingsPerPass.Add(pass, effectBinding.Clone());
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TerrainClearLayer"/> class.
        /// </summary>
        /// <param name="graphicService">The graphic service.</param>
        /// <exception cref="ArgumentNullException">
        /// <paramref name="graphicService"/> is <see langword="null"/>.
        /// </exception>
        public TerrainClearLayer(IGraphicsService graphicService)
        {
            if (graphicService == null)
            throw new ArgumentNullException("graphicService");

              var effect = graphicService.Content.Load<Effect>("DigitalRune/Terrain/TerrainClearLayer");
              var effectBinding = new EffectBinding(graphicService, effect, null, EffectParameterHint.Material);
              Material = new Material
              {
            { "Base", effectBinding },
            { "Detail", effectBinding }
              };
              MaterialInstance = new MaterialInstance(Material);
        }