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

Mesh.GetNativeIndexBufferPtr

建议更改

成功!

感谢您帮助我们提高 Unity 文档质量。尽管我们无法接受所有提交内容,但我们确实会阅读用户提出的每项建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,无法提交您建议的更改。请在几分钟后<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档质量。

关闭

取消

切换到手册

声明

public IntPtr GetNativeIndexBufferPtr();

返回

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

说明

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

使用此函数检索与网格索引缓冲区相对应的指针/句柄,因为它在本地图形 API 中表示。它可用于从原生代码插件中启用网格操作。

索引缓冲区数据每个索引为 16 或 32 位,具体取决于 indexFormat。否则,索引缓冲区的布局取决于使用的MeshTopology(参见SetIndices)。最常见的情况是网格由三角形列表组成,三角形列表的每个三角形有三个索引。

返回的数据类型取决于基础图形 API

  • D3D11 上的 ID3D11Buffer
  • D3D12 上的 ID3D12Resource
  • Metal 上的 id<MTLBuffer>
  • OpenGL/ES 上的缓冲区“名称”(作为 GLuint)
  • Vulkan 上的内部表示,应通过 IUnityGraphicsVulkan 接口访问

对于大多数用例(从原生代码写入网格数据时),在获取原生缓冲区指针之前,您需要将网格标记为“动态”(参见 MarkDynamic)。这通常会将缓冲区切换为 CPU 可写。

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

其他资源:原生代码插件GetNativeVertexBufferPtrSetIndices