Пример #1
0
    /// <summary>
    /// dispose.
    /// </summary>
    /// <param name="disposing">whether is disposing.</param>
    protected override void Dispose(bool disposing)
    {
        if (null != _tutorial)
        {
            _tutorial.Dispose(disposing);
            _tutorial = null;
        }

        if (null != _accelerationStructure)
        {
            _accelerationStructure.Dispose();
            _accelerationStructure = null;
        }
    }
Пример #2
0
    /// <summary>
    /// constructor.
    /// </summary>
    /// <param name="asset">the render pipeline asset.</param>
    public RayTracingRenderPipeline(RayTracingRenderPipelineAsset asset)
    {
        _asset = asset;
        _accelerationStructure = new RayTracingAccelerationStructure();

        _tutorial = _asset.tutorialAsset.CreateTutorial();
        if (_tutorial == null)
        {
            Debug.LogError("Can't create tutorial.");
            return;
        }

        if (_tutorial.Init(this) == false)
        {
            _tutorial = null;
            Debug.LogError("Initialize tutorial failed.");
            return;
        }
    }
    public RayTracingRenderPipeline(RayTracingRenderPipelineAsset vAsset)
    {
        _rayTracingRenderPipelineAsset   = vAsset;
        _rayTracingAccelerationStructure = new RayTracingAccelerationStructure();
        _rayTracingTutorial = _rayTracingRenderPipelineAsset._rayTracingTutorialAsset.CreateTutorial();

        if (null == _rayTracingTutorial)
        {
            Debug.LogError("Can't create tutorial.");
            return;
        }

        if (!_rayTracingTutorial.Init(this))
        {
            _rayTracingTutorial = null;
            Debug.LogError("Initialize tutorial failed.");
            return;
        }
    }
Пример #4
0
    /// <summary>
    /// dispose.
    /// </summary>
    /// <param name="disposing">whether is disposing.</param>
    protected override void Dispose(bool disposing)
    {
        if (null != _tutorial)
        {
            _tutorial.Dispose(disposing);
            _tutorial = null;
        }

        foreach (var pair in _PRNGStates)
        {
            pair.Value.Release();
        }
        _PRNGStates.Clear();

        if (null != _accelerationStructure)
        {
            _accelerationStructure.Dispose();
            _accelerationStructure = null;
        }
    }
    protected override void Dispose(bool vIsDisposing)
    {
        if (null != _rayTracingTutorial)
        {
            _rayTracingTutorial.Dispose(vIsDisposing);
            _rayTracingTutorial = null;
        }

        foreach (var TempPair in _PRNGStates)
        {
            TempPair.Value.Release();
        }
        _PRNGStates.Clear();

        if (null != _rayTracingAccelerationStructure)
        {
            _rayTracingAccelerationStructure.Dispose();
            _rayTracingAccelerationStructure = null;
        }
    }