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();
//设置自己的渲染�?/span>
buf.DrawRenderer(GetComponent<Renderer>(), new Material(shader));
//不透明物体渲染完后执行
Camera.main.AddCommandBuffer(CameraEvent.AfterForwardOpaque, buf);
}
}
未完待续
1 | //创建一个CommandBuffer |
关于本文
本文作�?Master Gong Sheng, 许可�?CC BY-NC 4.0.