Shader.SetGlobalConstantBuffer
Declaration
public static void SetGlobalConstantBuffer(string name, ComputeBuffer value, int offset, int size);public static void SetGlobalConstantBuffer(int nameID, ComputeBuffer value, int offset, int size);public static void SetGlobalConstantBuffer(string name, GraphicsBuffer value, int offset, int size);public static void SetGlobalConstantBuffer(int nameID, GraphicsBuffer value, int offset, int size);Параметры
| Параметр | Описание |
|---|---|
| nameID | Имя ID постоянного буфера, полученного Shader.PropertyToID. |
| имя | Имя переопределяемого константного буфера. |
| значение | Буфер, значениями которого нужно переопределить константный буфер, либо null, чтобы снять привязку. |
| офсет | Смещение в байтах от начала буфера для привязки. Должно быть кратным SystemInfo.constantBufferOffsetAlignmentили 0, если это значение равно 0. |
| размер | Число байт для привязки. |
Описание
Устанавливает ComputeBuffer или GraphicsBuffer в качестве именованного постоянного буфера для всех типов шейдеров.
См. Material.SetConstantBuffer для использования. Если константный буфер связан как глобально, так и по материалу, используется буфер по материалу. Однако, если константный буфер связан глобально, он переопределяет все параметры шейдера во всех материалах, которые находятся в любом постоянном буфере с указанным именем. Используйте эту функцию с особой осторожностью, особенно когда вы используете часто используемые имена константных буферов, так как это может привести к непредвиденным последствиям.