private void SetCurrentFrameRenderInformationToLargeWaterAreaManager(LargeWaterAreaManager largeWaterAreaManager, bool renderRefraction, bool renderReflection, Matrix4x4 projectionMatrix, Matrix4x4 worldToVisibleAreaMatrix, Camera currentRenderingCamera) { var materialModule = _materialModule as WaterMaterialModule; if (!materialModule.IsFakePerspectiveEnabled) { if (renderRefraction) { largeWaterAreaManager.RefractionRenderTexture = Refraction.RenderTexture; } if (renderReflection) { largeWaterAreaManager.ReflectionRenderTexture = Reflection.RenderTexture; } } else { if (renderRefraction) { largeWaterAreaManager.RefractionRenderTexture = Refraction.RenderTexture; largeWaterAreaManager.RefractionPartiallySubmergedObjectsRenderTexture = RefractionPartiallySubmergedObjects.RenderTexture; } if (renderReflection) { largeWaterAreaManager.ReflectionRenderTexture = Reflection.RenderTexture; largeWaterAreaManager.ReflectionPartiallySubmergedObjectsRenderTexture = ReflectionPartiallySubmergedObjects.RenderTexture; } } largeWaterAreaManager.WorlToVisibleAreaMatrix = worldToVisibleAreaMatrix; largeWaterAreaManager.ProjectionMatrix = projectionMatrix; largeWaterAreaManager.MarkCurrentFrameAsRendered(currentRenderingCamera); }
private void GetCurrentFrameRenderInformationFromLargeWaterAreaManager(LargeWaterAreaManager largeWaterAreaManager, bool renderRefraction, bool renderReflection) { var materialModule = _materialModule as WaterMaterialModule; if (!materialModule.IsFakePerspectiveEnabled) { if (renderRefraction) { materialModule.SetRefractionRenderTexture(largeWaterAreaManager.RefractionRenderTexture); } if (renderReflection) { materialModule.SetReflectionRenderTexture(largeWaterAreaManager.ReflectionRenderTexture); } } else { if (renderRefraction) { materialModule.SetRefractionRenderTexture(largeWaterAreaManager.RefractionRenderTexture); materialModule.SetRefractionPartiallySubmergedObjectsRenderTexture(largeWaterAreaManager.RefractionPartiallySubmergedObjectsRenderTexture); } if (renderReflection) { materialModule.SetReflectionRenderTexture(largeWaterAreaManager.ReflectionRenderTexture); materialModule.SetReflectionPartiallySubmergedObjectsRenderTexture(largeWaterAreaManager.ReflectionPartiallySubmergedObjectsRenderTexture); } } materialModule.SetWaterMatrix(largeWaterAreaManager.ProjectionMatrix * largeWaterAreaManager.WorlToVisibleAreaMatrix * _mainModule.LocalToWorldMatrix); materialModule.SetReflectionLowerLimit(_mainModule.Height * 0.5f); materialModule.ValidateMaterialPropertyBlock(); }