版本:Unity 6 (6000.0)
语言英语
  • C#

ComputeBuffer.GetNativeBufferPtr

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法采纳所有提交的建议,但我们确实会阅读用户提出的每一项修改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public IntPtr GetNativeBufferPtr();

返回值

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

描述

检索缓冲区的本机(底层图形 API)指针。

使用此函数检索与计算缓冲区对应的指针/句柄,因为它在原生图形 API 中表示。这可用于启用来自原生代码插件的计算缓冲区数据操作。

注意:当您使用 Unity API 修改缓冲区数据时,它会更改底层图形 API 原生指针。调用 GetNativeBufferPtr 以获取新的原生指针。

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

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

其他资源:原生代码插件