BufferID.Slice
Declaration
public BufferSlice<T> Slice(ulong offset);Параметры
| Параметр | Описание |
|---|---|
| офсет | Смещение, используемое для сегмента, измеряемое в элементах указанного типа. |
Возвращаемое значение
BufferSlice<T> Типированный сегмент, псевдоним BufferID.
Описание
Построение типизированного слоя из BufferID.
Создает BufferSlice, который предоставляет типизированное представление в буфере начиная с указанного смещения. Это удобный метод, эквивалентный построению BufferSlice вручную.
Смещение измеряется в элементах типа T, а не в байтах. Этот метод обеспечивает безопасность типа и помогает предотвратить распространенные ошибки расчета смещения.
Дополнительные ресурсы: BufferSlice для подробных операций срезания и примеров.
// Create a large buffer for mixed data BufferID sharedBuffer = context.CreateBuffer(1000, sizeof(float));
// Create slices using the convenience method var firstSection = sharedBuffer.Slice<float>(0); // Elements 0-299 var secondSection = sharedBuffer.Slice<Vector3>(300); // Elements 300-399 as Vector3s
// Equivalent to manual BufferSlice construction var manualSlice = new BufferSlice<float>(sharedBuffer, 0); Debug.Assert(firstSection.Id.Value == manualSlice.Id.Value); Debug.Assert(firstSection.Offset == manualSlice.Offset);