public void OnPreRender() { this._viewProj = Matrix4x4.op_Multiply(GL.GetGPUProjectionMatrix(Matrix4x4.Perspective(this._camera.get_fieldOfView(), this._camera.get_aspect(), 0.01f, this._camera.get_farClipPlane()), true), this._camera.get_worldToCameraMatrix()); this._preLightPass.Clear(); bool flag = SystemInfo.get_graphicsShaderLevel() > 40; if (this.Resolution == VolumetricLightRenderer.VolumtericResolution.Quarter) { Texture texture = (Texture)null; this._preLightPass.Blit(texture, RenderTargetIdentifier.op_Implicit((Texture)this._halfDepthBuffer), this._bilateralBlurMaterial, !flag ? 10 : 4); this._preLightPass.Blit(texture, RenderTargetIdentifier.op_Implicit((Texture)this._quarterDepthBuffer), this._bilateralBlurMaterial, !flag ? 11 : 6); this._preLightPass.SetRenderTarget(RenderTargetIdentifier.op_Implicit((Texture)this._quarterVolumeLightTexture)); } else if (this.Resolution == VolumetricLightRenderer.VolumtericResolution.Half) { this._preLightPass.Blit((Texture)null, RenderTargetIdentifier.op_Implicit((Texture)this._halfDepthBuffer), this._bilateralBlurMaterial, !flag ? 10 : 4); this._preLightPass.SetRenderTarget(RenderTargetIdentifier.op_Implicit((Texture)this._halfVolumeLightTexture)); } else { this._preLightPass.SetRenderTarget(RenderTargetIdentifier.op_Implicit((Texture)this._volumeLightTexture)); } this._preLightPass.ClearRenderTarget(false, true, new Color(0.0f, 0.0f, 0.0f, 1f)); this.UpdateMaterialParameters(); if (VolumetricLightRenderer.PreRenderEvent == null) { return; } VolumetricLightRenderer.PreRenderEvent(this, this._viewProj); }
public void OnPreRender() { Matrix4x4 matrix4x = Matrix4x4.Perspective(this._camera.fieldOfView, this._camera.aspect, 0.01f, this._camera.farClipPlane); matrix4x = GL.GetGPUProjectionMatrix(matrix4x, true); this._viewProj = matrix4x * this._camera.worldToCameraMatrix; this._preLightPass.Clear(); bool flag = SystemInfo.graphicsShaderLevel > 40; if (this.Resolution == VolumetricLightRenderer.VolumtericResolution.Quarter) { Texture source = null; this._preLightPass.Blit(source, this._halfDepthBuffer, this._bilateralBlurMaterial, (!flag) ? 10 : 4); this._preLightPass.Blit(source, this._quarterDepthBuffer, this._bilateralBlurMaterial, (!flag) ? 11 : 6); this._preLightPass.SetRenderTarget(this._quarterVolumeLightTexture); } else if (this.Resolution == VolumetricLightRenderer.VolumtericResolution.Half) { Texture source2 = null; this._preLightPass.Blit(source2, this._halfDepthBuffer, this._bilateralBlurMaterial, (!flag) ? 10 : 4); this._preLightPass.SetRenderTarget(this._halfVolumeLightTexture); } else { this._preLightPass.SetRenderTarget(this._volumeLightTexture); } this._preLightPass.ClearRenderTarget(false, true, new Color(0f, 0f, 0f, 1f)); this.UpdateMaterialParameters(); if (VolumetricLightRenderer.PreRenderEvent != null) { VolumetricLightRenderer.PreRenderEvent(this, this._viewProj); } }