Unity 之 Graphics Command Buffers

Graphics Command Buffers

Command Buffers

how Cameras use the Forward or Deferred pipeline to render a Scene in Unity

在这里插入图片描述

Camera.AddCommandBuffer

public void AddCommandBuffer(Rendering.CameraEvent evt, Rendering.CommandBuffer buffer);
参数解释
CameraEvent evt相机事件(其实就是上图的渲染管线中的蓝色节点)
bufferThe buffer to Execute
描述

Add a command buffer to be executed at a specified place.
在指定的地方添加命令buffer 用于实现自己额外的渲染.

CommandBuffer.GetTemporaryRT

API

public void GetTemporaryRT(int nameID, int width, int height, int depthBuffer, FilterMode filter, RenderTextureFormat format, RenderTextureReadWrite readWrite, int antiAliasing, bool enableRandomWrite);
public void GetTemporaryRT(int nameID, RenderTextureDescriptor desc, FilterMode filter);

参数
参数名解释
widthWidth in pixels, or -1 for “camera pixel width”
描述

Add a “get a temporary render texture” command.

This creates a temporary render texture with given parameters, and sets it up as a global shader property with nameID. Use Shader.PropertyToID to create the integer name.

创建给定参数的临时纹理空间.
且这里纹理空间是全局Shader共享的属性?
通过NameID可以访问.
PropertyToID 是整型的.

CommandBuffer.Blit


public void Blit(Texture source, Rendering.RenderTargetIdentifier dest);
public void Blit(Texture source, Rendering.RenderTargetIdentifier dest, Material mat);
public void Blit(Texture source, Rendering.RenderTargetIdentifier dest, Material mat, int pass);
public void Blit(Texture source, Rendering.RenderTargetIdentifier dest, Vector2 scale, Vector2 offset);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, Material mat);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, Material mat, int pass);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, Vector2 scale, Vector2 offset);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, int sourceDepthSlice, int destDepthSlice);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, Vector2 scale, Vector2 offset, int sourceDepthSlice, int destDepthSlice);
public void Blit(Rendering.RenderTargetIdentifier source, Rendering.RenderTargetIdentifier dest, Material mat, int pass, int destDepthSlice);

参数
参数名解释
source源纹理
dest目标
mat使用的材质
pass要使用的Shader Pass(默认为-1,代表所有)
scale应用于源纹理的缩放因子
offset应用于源纹理的偏移
sourceDepthSliceThe texture array source slice to perform the blit from
destDepthSliceThe texture array destination slice to perform the blit to
描述

添加“blit到渲染纹理”命令。

it is mostly for copying from one (render)texture into another, potentially using a custom shader.
使用一个shader将一个纹理拷贝到一个纹理.

Note that Blit changes the currently active render target. After Blit executes, dest becomes the active render target.
dset 编程激活的纹理目标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值