예제 #1
0
    public override void Create()
    {
        instance = this;
        FilterSettings filter = settings.filterSettings;

        m_ScriptablePass = new FurRenderPass(settings, this, filter);
        // Configures where the render pass should be injected.
        m_ScriptablePass.renderPassEvent = settings.PassEvent;
    }
예제 #2
0
        public FurRenderPass(PassSettings setting, FurRenderFeature render, FilterSettings filterSettings)
        {
            m_ProfilerTag = setting.passTag;
            string[] shaderTags = filterSettings.PassNames;
            this.settings        = setting;
            this.renderQueueType = filterSettings.RenderQueueType;
            furRenderFeature     = render;
            //过滤设定
            RenderQueueRange queue = new RenderQueueRange();

            queue.lowerBound = setting.QueueMin;
            queue.upperBound = setting.QueueMax;
            filter           = new FilteringSettings(queue, filterSettings.LayerMask);
            if (shaderTags != null && shaderTags.Length > 0)
            {
                foreach (var passName in shaderTags)
                {
                    m_ShaderTagIdList.Add(new ShaderTagId(passName));
                }
            }
        }