Unity 6.3
0 онлайн 22 гостей 3 в системе
Вход

BufferSlice<T0>

структура в UnityEngine.LightTransport

Описание

Представляет типизированное представление в части буфера устройства, обеспечивая эффективное управление памятью и операции с безопасным типом буфера.

С помощью структуры BufferSlice Unity делит одно крупное выделение буфера на буферы поменьше, каждый со своим явным типом. Это обеспечивает эффективное управление памятью: несколько логических буферов используют одно физическое выделение, сохраняя при этом типобезопасность.

BufferSlice обычно используется с:

  • IDeviceContext.ReadBuffer и IDeviceContext.WriteBuffer для передачи данных.
  • IProbeIntegrator методы для спецификации входно-выходных буферов.
  • Эффективное использование памяти при пакетировании связанных структур данных.

Срез поддерживает ссылку на базовый BufferID и указывает смещение, измеряемое в элементах типа T.

// Create a large buffer for multiple data types
BufferID sharedBuffer = context.CreateBuffer(1000, sizeof(float));

// Create different views into the same buffer var floatSlice = new BufferSlice<float>(sharedBuffer, 0); // Elements 0-499 var vectorSlice = new BufferSlice<Vector3>(sharedBuffer, 500); // Elements 500-998

// Write data through different slices var floatData = new NativeArray<float>(500, Allocator.Temp); var vectorData = new NativeArray<Vector3>(166, Allocator.Temp);

context.WriteBuffer(floatSlice, floatData); context.WriteBuffer(vectorSlice, vectorData);

Свойства

Свойство Описание
IdБуфер ID.
OffsetЧисло элементов, подлежащих смещению, измеряемое от начала буфера. Это значение не должно превышать конец выделения буфера.

Конструкторы

Конструктор Описание
BufferSlice_1Создаёт новую структуру BufferSlice, задавая смещение от начала буфера. Буфер определяется через BufferID.

Открытые методы

Метод Описание
SafeReinterpretПереинтерпретация слоя как имеющего иной тип данных (типовая путаница), выполнение проверок для обеспечения действительности переинтерпретации.
UnsafeReinterpretПереинтерпретация слоя как имеющего другой тип данных (типовое смешение), но не проверяет, является ли переинтерпретация действительной.