topology | 程序几何的拓扑结构。 |
vertexCount | 要渲染的顶点数量。 |
instanceCount | 要渲染的实例数量。 |
在 GPU 上绘制程序几何。
DrawProceduralNow 在 GPU 上调用绘制,没有任何顶点缓冲区或索引缓冲区。如果着色器需要顶点缓冲区,将根据平台执行以下操作之一:- 如果声明了顶点缓冲区,但编译器可以优化它,则会执行正常的 DrawProcedural 调用。- 如果编译器无法优化顶点缓冲区的声明,则将把绘制调用转换为带插入的模拟顶点缓冲区的普通网格绘制调用。
后一种选择有性能开销,因此建议在使用 DrawProceduralNow 时不要在着色器中声明顶点输入。这主要在着色器模型 4.5级别硬件上很有用,在此硬件上着色器可从ComputeBuffer缓冲区中读取任意数据。
请注意,此调用会立即执行,类似于Graphics.DrawMeshNow。它使用当前设置的渲染目标、转换矩阵和着色器通道。
CommandBuffers 中也有类似的功能,请参见CommandBuffer.DrawProcedural。
附加资源:Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing。
topology | 程序几何的拓扑结构。 |
indexCount | 要渲染的索引数量。 |
instanceCount | 要渲染的实例数量。 |
indexBuffer | 用于将顶点提交到 GPU 的索引缓冲区。 |
在 GPU 上绘制程序几何。
DrawProceduralNow 会在 GPU 上执行绘制调用,而无需使用顶点缓冲区。这主要适用于 着色器型号 4.5 级别硬件,其中着色器可以从 ComputeBuffer 缓冲区读取任意数据。
请注意,此调用会立即执行,类似于Graphics.DrawMeshNow。它使用当前设置的渲染目标、转换矩阵和着色器通道。
CommandBuffers 中也有类似的功能,请参见CommandBuffer.DrawProcedural。
附加资源:Graphics.DrawProceduralIndirectNow, SystemInfo.supportsInstancing。