Unity API CommandBuffer 学习
简介
根据官方文档的描述,CommandBuffer 就是一个渲染命令缓冲区,而我们可以使用CommandBuffer 的相关API,自定义渲染时的一些事情.
如何使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| //创建一个CommandBuffer CommandBuffer commandBuffer = new CommandBuffer() { name = "CameraCmdBuffer" }; //为摄像机添加CommandBuffer cam.AddCommandBuffer(CameraEvent.BeforeDepthTexture, commandBuffer);
using UnityEngine; using UnityEngine.Rendering;
[ExecuteInEditMode] public class TestCommandBuffer : MonoBehaviour { public Shader shader; private void OnEnable() { CommandBuffer buf = new CommandBuffer(); //设置自己的渲染。 buf.DrawRenderer(GetComponent<Renderer>(), new Material(shader)); //不透明物体渲染完后执行 Camera.main.AddCommandBuffer(CameraEvent.AfterForwardOpaque, buf); } }
|
未完待续