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

Graphics.DrawProceduralNow

建议更改

成功!

感谢帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读我们用户的每个建议的更改,并在必要时进行更新。

关闭

提交失败

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

关闭

取消

声明

public static void DrawProceduralNow(MeshTopology topology, int vertexCount, int instanceCount);

参数

topology 程序几何的拓扑结构。
vertexCount 要渲染的顶点数量。
instanceCount 要渲染的实例数量。

说明

在 GPU 上绘制程序几何。

DrawProceduralNow 在 GPU 上调用绘制,没有任何顶点缓冲区或索引缓冲区。如果着色器需要顶点缓冲区,将根据平台执行以下操作之一:- 如果声明了顶点缓冲区,但编译器可以优化它,则会执行正常的 DrawProcedural 调用。- 如果编译器无法优化顶点缓冲区的声明,则将把绘制调用转换为带插入的模拟顶点缓冲区的普通网格绘制调用。

后一种选择有性能开销,因此建议在使用 DrawProceduralNow 时不要在着色器中声明顶点输入。这主要在着色器模型 4.5级别硬件上很有用,在此硬件上着色器可从ComputeBuffer缓冲区中读取任意数据。

请注意,此调用会立即执行,类似于Graphics.DrawMeshNow。它使用当前设置的渲染目标、转换矩阵和着色器通道。

CommandBuffers 中也有类似的功能,请参见CommandBuffer.DrawProcedural

附加资源:Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing


声明

public static void DrawProceduralNow(MeshTopology topology, GraphicsBuffer indexBuffer, int indexCount, int instanceCount);

参数

topology 程序几何的拓扑结构。
indexCount 要渲染的索引数量。
instanceCount 要渲染的实例数量。
indexBuffer 用于将顶点提交到 GPU 的索引缓冲区。

说明

在 GPU 上绘制程序几何。

DrawProceduralNow 会在 GPU 上执行绘制调用,而无需使用顶点缓冲区。这主要适用于 着色器型号 4.5 级别硬件,其中着色器可以从 ComputeBuffer 缓冲区读取任意数据。

请注意,此调用会立即执行,类似于Graphics.DrawMeshNow。它使用当前设置的渲染目标、转换矩阵和着色器通道。

CommandBuffers 中也有类似的功能,请参见CommandBuffer.DrawProcedural

附加资源:Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing