版本:Unity 6 (6000.0)
语言英语
  • C#

BatchRendererGroup.AddBatch

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有意见,但我们确实阅读用户建议的每条更改意见,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public Rendering.BatchID AddBatch(NativeArray<MetadataValue> batchMetadata, GraphicsBufferHandle buffer);

声明

public Rendering.BatchID AddBatch(NativeArray<MetadataValue> batchMetadata, GraphicsBufferHandle buffer, uint bufferOffset, uint windowSize);

参数

batchMetadata 该批处理的元数据属性。
buffer 与该批处理关联的 GraphicsBufferGraphicsBufferHandle
bufferOffset 要绑定到 Uniform Buffer Object (UBO) 中的数据偏移量。此值默认为零,即缓冲区的开始位置。如果这是常量缓冲区,则此值必须是 BatchRendererGroup.GetConstantBufferOffsetAlignment 的整数倍。
windowSize 从 bufferOffset 值开始,要绑定的缓冲区中的数据量。默认为零。如果这是常量缓冲区,则此值必须小于或等于 BatchRendererGroup.GetConstantBufferMaxWindowSize

返回

BatchID Unity 创建的批处理 ID。

描述

创建一个绘制命令批处理,它共享一组元数据值和一个 GraphicsBuffer

您传递到此方法的每个缓冲区必须具有活动图形 API 的正确缓冲区目标。使用 BatchRendererGroup.BatchBufferTarget 查询来找出您应该使用哪个缓冲区目标。如果目标是 BatchBufferTarget.RawBuffer,则 bufferOffset 和 windowSize 都必须为零。如果目标是 BatchBufferTarget.ConstantBuffer,则 bufferOffset 必须是 BatchRendererGroup.GetConstantBufferOffsetAlignment 值的整数倍(允许为零),并且 windowSize 必须小于或等于 BatchRendererGroup.GetConstantBufferMaxWindowSize 值。bufferOffset 和 windowSize 的组合值必须小于或等于 ConstantBuffer 的大小。