GPU graphics data buffer, for working with geometry or compute shader data.
ComputeShader programs often need to read or write arbitrary data from or to memory buffers, and some rendering algorithms need a lower level access or control over geometry data than what is provided by the Mesh class. You can use GraphicsBuffer
for these cases. You create the buffers from C# scripts, and then fill them with data using either C# scripts or compute shader programs.
A graphics buffer is similar to an array in C#, in that it has a number of elements (count) of the same size (stride). You must supply the intended buffer usage (target) when you create a GraphicsBuffer; for example, you must pass GraphicsBuffer.Target.Index for the buffer to be usable as a geometry index buffer.
When you have finished working with the buffer, you must manually release the GPU memory should be released. You can do this using C# dispose pattern, or by calling Release.
See Also: Graphics.DrawProcedural, Graphics.CopyBuffer, ComputeShader, Shader.SetGlobalBuffer, Material.SetBuffer.
count | バッファ要素の数(読み取り専用) . |
name | The debug label for the graphics buffer (setter only). |
stride | バッファの一つの要素のサイズ(読み取り専用) . |
target | Usage target, which specifies the intended usage of this GraphicsBuffer (Read Only). |
GraphicsBuffer | Create a Graphics Buffer. |
GetData | Read data values from the buffer into an array. The array can only use blittable types. |
GetNativeBufferPtr | Retrieve a native (underlying graphics API) pointer to the buffer. |
IsValid | Returns true if this graphics buffer is valid, or false otherwise. |
Release | Release a Graphics Buffer. |
SetCounterValue | append/consume バッファのカウンターの値を設定します。 |
SetData | 配列から値をバッファへと設定します |
CopyCount | Copy the counter value of a GraphicsBuffer into another buffer. |