public void OnRenderImage(RenderTexture source, RenderTexture destination) { if (mPostMaterial == null) { mPostMaterial = new Material(Shader.Find("Custom/PostHandle")); } if (!mIsRendered) { ComputeController computeController = new ComputeController(shader); computeController.RunShader(); mPostMaterial.SetFloat("_Sample", mCurrentSample); mScreenTexture = Util.RenderTextureToTexture2D(source, mScreenWidth, mScreenHeight); mRayTraceRender.Init(ref mTexture, mScreenWidth, mScreenHeight, ref mLightList, mScreenTexture); mRayTraceRender.Render(); mTexture.Apply(); mIsRendered = true; // Render(); } Graphics.Blit(mTexture, destination, mPostMaterial); mCurrentSample++; }