void UpdateRequestFinished(DSPNodeUpdateRequest <SpectrumUpdateKernel, SpectrumNode.Parameters, SpectrumNode.Providers, SpectrumNode> request) { _Waiting = false; if (_Initialized == false) { return; } _ScopeDataBuffer?.SetData(_Buffer); Compute.SetInt("BufferSize", _Buffer.Length); Compute.SetInt("SampleRate", AudioSettings.GetConfiguration().sampleRate); Compute.SetTexture(_GridKernelId, "Result", SpectrumRT); Compute.Dispatch(_GridKernelId, SpectrumRT.width, SpectrumRT.height, 1); Compute.SetBuffer(_SpectrumKernelId, "SpectrumData", _ScopeDataBuffer); Compute.SetTexture(_SpectrumKernelId, "Result", SpectrumRT); Compute.Dispatch(_SpectrumKernelId, SpectrumRT.width, 1, 1); }
void UpdateRequestFinished(DSPNodeUpdateRequest <ScopeUpdateKernel, ScopeNode.Parameters, ScopeNode.Providers, ScopeNode> request) { _Waiting = false; if (_Initialized == false) { return; } _ScopeDataBuffer?.SetData(_BufferX); Compute.SetInt("InputChannelsX", request.UpdateJob.InputChannelsX); Compute.SetInt("MaxChannels", ScopeNode.MAX_CHANNELS); Compute.SetInt("BufferSize", ScopeNode.BUFFER_SIZE); Compute.SetInt("BufferIdx", request.UpdateJob.BufferIdx); Compute.SetFloat("TriggerThreshold", request.UpdateJob.TriggerThreshold); Compute.SetFloat("ScopeXHeight", Height); Compute.SetFloat("ScopeXOffset", Offset); Compute.SetTexture(_GridKernelId, "Result", ScopeRT); Compute.Dispatch(_GridKernelId, ScopeRT.width, ScopeRT.height, 1); Compute.SetBuffer(_ScopeKernelId, "ScopeData", _ScopeDataBuffer); Compute.SetTexture(_ScopeKernelId, "Result", ScopeRT); Compute.Dispatch(_ScopeKernelId, ScopeNode.BUFFER_SIZE, 1, 1); }