private void SwapRT() { TemporaryRenderTexture rt = this._RT1; this._RT1 = this._RT2; this._RT2 = rt; }
protected void ApplyComputeShader(RenderTexture target) { if (this._ShaderWeights == null) { this._ShaderWeights = new ComputeBuffer(4, 16); this._ShaderWeights.SetData(new Color[] { new Color(0.324f, 0.324f, 0.324f, 1f), new Color(0.232f, 0.232f, 0.232f, 1f), new Color(0.0855f, 0.0855f, 0.0855f, 1f), new Color(0.0205f, 0.0205f, 0.0205f, 1f) }); } int width = target.width; int num = (width != 128) ? ((width != 256) ? (this._ComputeShaderKernelIndex + 4) : (this._ComputeShaderKernelIndex + 2)) : this._ComputeShaderKernelIndex; TemporaryRenderTexture temporary = RenderTexturesCache.GetTemporary(target.width, target.height, 0, target.format, true, true, false); this._BlurComputeShader.SetBuffer(num, "weights", this._ShaderWeights); this._BlurComputeShader.SetTexture(num, "_MainTex", target); this._BlurComputeShader.SetTexture(num, "_Output", temporary); this._BlurComputeShader.Dispatch(num, 1, target.height, 1); num++; this._BlurComputeShader.SetBuffer(num, "weights", this._ShaderWeights); this._BlurComputeShader.SetTexture(num, "_MainTex", temporary); this._BlurComputeShader.SetTexture(num, "_Output", target); this._BlurComputeShader.Dispatch(num, target.width, 1, 1); temporary.Dispose(); }
public override void ComputeFFT(Texture tex, RenderTexture target) { TemporaryRenderTexture temporary = this._RenderTexturesSet.GetTemporary(); if (!target.IsCreated()) { target.enableRandomWrite = true; target.Create(); } this._Shader.SetTexture(this._KernelIndex, "_ButterflyTex", base.Butterfly); this._Shader.SetTexture(this._KernelIndex, "_SourceTex", tex); this._Shader.SetTexture(this._KernelIndex, "_TargetTex", temporary); this._Shader.Dispatch(this._KernelIndex, 1, tex.height, 1); this._Shader.SetTexture(this._KernelIndex + 1, "_ButterflyTex", base.Butterfly); this._Shader.SetTexture(this._KernelIndex + 1, "_SourceTex", temporary); this._Shader.SetTexture(this._KernelIndex + 1, "_TargetTex", target); this._Shader.Dispatch(this._KernelIndex + 1, 1, tex.height, 1); temporary.Dispose(); }