Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
Close Submission failedFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
Close Your name Your email Suggestion* Switch to ManualIn the Built-in Render Pipeline, Unity calls OnPreCull
on MonoBehaviours that are attached to the same GameObject as an enabled Camera component, just before that Camera performs the culling operation that determines what it can see. Use OnPreCull
to execute your own code at this point in the render loop; for example, you can change the Camera's settings before performing the culling operation, to affect what the Camera sees. OnPreCull
can be a coroutine.
For similar functionality that does not require the script to be on the same GameObject as a Camera component, see Camera.onPreCull. For similar functionality in the Scriptable Render Pipeline, see RenderPipelineManager.
// Attach this to the same GameObject as a Camera component. // This script inverts the view of the Camera, so that everything rendered by it is flippedusing UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { Camera cam;
void Start() { cam = GetComponent<Camera>(); }
void OnPreCull() { cam.ResetWorldToCameraMatrix(); cam.ResetProjectionMatrix(); cam.projectionMatrix = cam.projectionMatrix * Matrix4x4.Scale(new Vector3(1, -1, 1)); }
void OnPreRender() { GL.invertCulling = true; }
void OnPostRender() { GL.invertCulling = false; } }
Additional resources: Camera.onPreCull, MonoBehaviour.OnPreRender, MonoBehaviour.OnPostRender, CommandBuffer, Extending the Built-in Render Pipeline using CommandBuffers.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4