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

BufferID

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

Описание

Уникальный идентификатор для буфера памяти в устройстве.

BufferID служит в качестве непрозрачного манипулятора для буферов памяти, выделяемых через IDeviceContext.CreateBuffer. Буфер может находиться в CPU памяти, GPU памяти или унифицированной памяти, в зависимости от реализации.

BufferID скрывает детали управления памятью и даёт единый интерфейс для:

  • Межплатформенное выделение памяти.
  • Управление жизненным циклом памяти.
  • Тип-безопасные операции буфера через BufferSlice.

BufferIDs должен быть явно уничтожен с помощью IDeviceContext.DestroyBuffer для предотвращения утечки памяти.

// Create buffers for different data types
BufferID vertexBuffer = context.CreateBuffer(1000, 12); // 1000 Vector3s
BufferID resultBuffer = context.CreateBuffer(64, 108);  // 64 SphericalHarmonicsL2

// Create typed slices for safe operations var vertices = new BufferSlice<Vector3>(vertexBuffer, 0); var results = new BufferSlice<SphericalHarmonicsL2>(resultBuffer, 0);

// Use buffers with integrator operations integrator.Prepare(context, world, vertices, 0.1f, 2); var result = integrator.IntegrateDirectRadiance( context, 0, 64, 1024, false, results);

// Cleanup - important to prevent memory leaks context.DestroyBuffer(vertexBuffer); context.DestroyBuffer(resultBuffer);

Свойства

Свойство Описание
ValueБазовое значение идентификатора буфера.

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

Конструктор Описание
BufferIDСоздайте новый BufferID.

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

Метод Описание
SliceПостроение типизированного слоя из BufferID.