Version: 2023.2
言語: 日本語
public void DrawProcedural (Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int vertexCount, int instanceCount= 1, MaterialPropertyBlock properties= null);

パラメーター

matrix 使用するトランスフォーム(変換)マトリックス
material 使用するマテリアル
shaderPass 使用するシェーダーのパス (あるいはすべてに -1 を渡します。)
topology プロシージャルジオメトリのトポロジー
vertexCount 描画する頂点数
instanceCount レンダリングするインスタンス数
properties レンダリングの前にだけ適用するマテリアルプロパティーを追加します。 MaterialPropertyBlock を参照してください。

説明

"draw procedural geometry" コマンドを追加。

When the command buffer executes, this will do a draw call on the GPU, without any vertex or index buffers. This is mainly useful on Shader Model 4.5 level hardware where shaders can read arbitrary data from ComputeBuffer buffers.

In the vertex shader, you'd typically use the SV_VertexID and SV_InstanceID input variables to fetch data from some buffers.

Note that the draw call will not have any lighting related shader data (light colors, directions, shadows, light and reflection probes etc.) set up. If the shader used by the material uses any lighting related variables, the results are undefined.

Additional resources: DrawProceduralIndirect, MaterialPropertyBlock, Graphics.DrawProcedural.


public void DrawProcedural (GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount, int instanceCount, MaterialPropertyBlock properties);
public void DrawProcedural (GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount, int instanceCount);
public void DrawProcedural (GraphicsBuffer indexBuffer, Matrix4x4 matrix, Material material, int shaderPass, MeshTopology topology, int indexCount);

パラメーター

matrix 使用するトランスフォーム(変換)マトリックス
material 使用するマテリアル
shaderPass 使用するシェーダーのパス (あるいはすべてに -1 を渡します。)
topology プロシージャルジオメトリのトポロジー
indexCount Index count to render.
instanceCount レンダリングするインスタンス数
indexBuffer The index buffer used to submit vertices to the GPU.
properties レンダリングの前にだけ適用するマテリアルプロパティーを追加します。 MaterialPropertyBlock を参照してください。

説明

"draw procedural geometry" コマンドを追加。

When the command buffer executes, this will do a draw call on the GPU, without a vertex buffer. This is mainly useful on Shader Model 4.5 level hardware where shaders can read arbitrary data from ComputeBuffer buffers.

In the vertex shader, you'd typically use the SV_VertexID and SV_InstanceID input variables to fetch data from some buffers.

Additional resources: DrawProceduralIndirect, MaterialPropertyBlock, Graphics.DrawProcedural.