sienaiwun / Unity_PlanarShadow

A demo to show rendering custom draw calls in the Unity's SRP framework. Take planar shadow rendering for example.

Repository from Github https://github.comsienaiwun/Unity_PlanarShadowRepository from Github https://github.comsienaiwun/Unity_PlanarShadow

license PRs Welcome

Unity_PlanarShadow

In the Unity's Scriptable Rendering Pipeline(SRP) framework, MonoBehaviour.OnRenderObject() is deprecated. However, there are always some needs to add custom per-mesh or per-object drawings besides their own materials' rendering drawing calls. For example, the planar shadow call, which is a very cheap and efficient way to add a shadow to a object, needs a custom drawing to the objects which casts shadow.

planer_shadow

In this demo, we restore OnRenderObject() in the Universal Rendering Pipeline using SRP.  We give a demo to add custom draws - which are the planar-shadow drawing calls- to a mesh (the sphere) and a prefab (the props). We can also specify the drawing's order in the drawing script.

Cons:

  1. Command buffer draw calls cannot be batched very easily.
  2. Custom culling or disableing this draw call is needed if this draw does not contribute to the final view.

About

A demo to show rendering custom draw calls in the Unity's SRP framework. Take planar shadow rendering for example.


Languages

Language:C# 79.6%Language:HLSL 15.4%Language:ShaderLab 4.6%Language:Mathematica 0.3%