Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

Mesh.GetNativeIndexBufferPtr

Объявление

public IntPtr GetNativeIndexBufferPtr();

Возвращает

IntPtr Указатель на базовый индексный буфер графического API.

Описание

Извлекает собственный (основной графический API) указатель на индексный буфер.

Используйте эту функцию для получения указателя/дескриптора, соответствующего буферу индекса Mesh, как он представлен в родном API графики. Это можно использовать для включения манипулирования Mesh из плагинов собственного кода.

Данные индексного буфера имеют 16- или 32-битный размер на индекс, в зависимости от indexFormat. В остальном макет индексного буфера зависит от используемой MeshTopology (см. SetIndices). Наиболее распространенным случаем являются сетки, состоящие из списков треугольников, которые имеют индексные буферы с тремя индексами на треугольник.

Тип возвращаемых данных зависит от базового графического API:

  • ID3D11Buffer on D3D11
  • ID3D12Resource on D3D12
  • id on Metal
  • buffer "name" (as GLuint) on OpenGL/ES
  • internal representation on Vulkan, that should be accessed via IUnityGraphicsVulkan interface

В большинстве случаев (при записи данных сетки из нативного кода) необходимо пометить сетку как "динамическую". (см. MarkDynamic) перед получением собственного указателя на буфер. Как правило, это переключает буферы на запись ЦП.

Обратите внимание, что вызов этой функции при использовании многопоточного рендеринга будет синхронизироваться с потоком рендеринга (медленная операция), поэтому рекомендуется устанавливать необходимые указатели на буфер только во время инициализации.

Смотрите так же: Native code plugins, GetNativeVertexBufferPtr, SetIndices.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3