45 lines
1.4 KiB
C#
45 lines
1.4 KiB
C#
// Curved World <http://u3d.as/1W8h>
|
|
// Copyright (c) Amazing Assets <https://amazingassets.world>
|
|
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering;
|
|
|
|
|
|
namespace AmazingAssets.CurvedWorld.Examples
|
|
{
|
|
public class ManualControllerUpdate : MonoBehaviour
|
|
{
|
|
public CurvedWorldController curvedWorldController;
|
|
|
|
|
|
void Start()
|
|
{
|
|
//Check if using Scriptable render pipeline
|
|
if(GraphicsSettings.defaultRenderPipeline != null)
|
|
RenderPipelineManager.beginCameraRendering += BeginCameraRendering;
|
|
}
|
|
|
|
|
|
//OnPreRender - is used only with built-in render pipeline
|
|
private void OnPreRender()
|
|
{
|
|
if (curvedWorldController != null)
|
|
curvedWorldController.ManualUpdate();
|
|
}
|
|
|
|
|
|
//BeginCameraRendering - is used only with Scriptable render pipeline, as there is no 'OnPreRender' method to use.
|
|
void BeginCameraRendering(ScriptableRenderContext context, Camera camera)
|
|
{
|
|
ManualControllerUpdate thisScript = camera.GetComponent<ManualControllerUpdate>();
|
|
|
|
|
|
//Befor rendering THIS camera, force Curved World Controller to update shader data based on its properties.
|
|
if (thisScript != null && thisScript.curvedWorldController != null)
|
|
{
|
|
thisScript.curvedWorldController.ManualUpdate();
|
|
}
|
|
}
|
|
}
|
|
}
|