public VXGIRenderPipeline(VXGIRenderPipelineAsset asset)
    {
        _renderer = new VXGIRenderer(this);
        _command  = new CommandBuffer()
        {
            name = "VXGI.RenderPipeline"
        };
        _filterSettings = new FilterRenderersSettings(true)
        {
            renderQueueRange = RenderQueueRange.opaque
        };

        _drawRendererFlags = DrawRendererFlags.None;
        if (asset.dynamicBatching)
        {
            _drawRendererFlags |= DrawRendererFlags.EnableDynamicBatching;
        }

        _rendererConfiguration = RendererConfiguration.None;

        if (asset.environmentLighting)
        {
            _rendererConfiguration |= RendererConfiguration.PerObjectLightProbe;
        }
        if (asset.environmentReflections)
        {
            _rendererConfiguration |= RendererConfiguration.PerObjectReflectionProbes;
        }

        Shader.globalRenderPipeline = "VXGI";

        GraphicsSettings.lightsUseLinearIntensity            = true;
        GraphicsSettings.useScriptableRenderPipelineBatching = asset.SRPBatching;
    }
Beispiel #2
0
    public VXGIRenderPipeline(VXGIRenderPipelineAsset asset)
    {
        _renderer = new VXGIRenderer(this);
        _command  = new CommandBuffer()
        {
            name = "VXGI.RenderPipeline"
        };
        _filterSettings = new FilteringSettings()
        {
            renderQueueRange = RenderQueueRange.opaque
        };



        _perObjectData = PerObjectData.None;

        if (asset.environmentLighting)
        {
            _perObjectData |= PerObjectData.LightProbe;
        }
        if (asset.environmentReflections)
        {
            _perObjectData |= PerObjectData.ReflectionProbes;
        }

        Shader.globalRenderPipeline = "VXGI";

        GraphicsSettings.lightsUseLinearIntensity            = true;
        GraphicsSettings.useScriptableRenderPipelineBatching = asset.SRPBatching;
    }
Beispiel #3
0
    public VXGIRenderPipeline(VXGIRenderPipelineAsset asset)
    {
        _renderer = new VXGIRenderer(this);
        _command  = new CommandBuffer()
        {
            name = "VXGI.RenderPipeline"
        };
        _filteringSettings = FilteringSettings.defaultValue;

        PerObjectData = asset.perObjectData;
        Shader.globalRenderPipeline = "VXGI";
        GraphicsSettings.lightsUseLinearIntensity            = true;
        GraphicsSettings.useScriptableRenderPipelineBatching = asset.SRPBatching;
    }
Beispiel #4
0
  public VXGIRenderPipeline(VXGIRenderPipelineAsset asset) {
    _renderer = new VXGIRenderer(this);
    _command = new CommandBuffer() { name = "VXGIRenderPipeline" };
    _filterSettings = new FilterRenderersSettings(true) { renderQueueRange = RenderQueueRange.opaque };

    _drawRendererFlags = DrawRendererFlags.None;
    if (asset.dynamicBatching) _drawRendererFlags |= DrawRendererFlags.EnableDynamicBatching;

    Shader.globalRenderPipeline = "VXGI";
    Shader.SetGlobalVectorArray("LightColors", new Vector4[64]);
    Shader.SetGlobalVectorArray("LightPositions", new Vector4[64]);

    GraphicsSettings.useScriptableRenderPipelineBatching = asset.SRPBatching;
  }