Version: 2023.2

ComputeBuffer.GetNativeBufferPtr

切换到手册
public IntPtr GetNativeBufferPtr ();

返回

IntPtr 指向底层图形 API 缓冲区的指针。

描述

获取指向该缓冲区的原生(底层图形 API)指针。

使用此函数可检索与该计算缓冲区对应的指针/句柄, 因为它以原生图形 API 表示。这可用于通过 native code plugins 启用 计算缓冲区数据操作。

注意:使用 Unity API 修改缓冲区数据时,会更改基础图形 API 原生指针。调用 GetNativeBufferPtr 可获取新的原生指针。

返回的数据类型取决于底层图形 API:D3D11 上为 ID3D11Buffer、 D3D12 上为 ID3D12Resource、OpenGL/ES 上为缓冲区“名称”(例如 GLuint)、Metal 上为 MTLBuffer。不支持 计算着色器的平台将始终返回 NULL。

注意,在使用多线程渲染时调用此函数将与正在渲染的线程(慢速操作)同步, 因此最佳做法是仅在初始化时设置所需的 缓冲区指针。

另请参阅:Native code plugins