Structured Buffer (Structured Buffer / StructuredBuffer) is a technical term that is extremely important in rendering and optimizing game graphics (technical art). In Compute Shader and the latest shaders, an explanation of a large-capacity shared buffer that transfers arrays of C# structures (custom data with multiple attributes) to GPU memory while retaining them with high precision and density, and reads and writes them in massively parallel.

Real-world analogy: Instead of handing each delivery person a sheet of memo paper (individual variables), one-shot sharing involves uploading a ``huge Excel sheet (structured buffer)'' with all the data of thousands of people perfectly organized to the shared memory

Structured buffer is ``a large-capacity data table that allows C# (CPU) and shader (GPU) to directly place a ``huge Excel database'' such as a huge customer list or position list in an ultra-high-speed GPU-dedicated shared memory area, allowing them to access each other in massively parallel manner using free indexes (row numbers).'' The trouble of rewriting parameters individually is completely eliminated, and with a single drawing command, the GPU instantly reads the row data corresponding to its own ID (Instance ID) from the buffer and draws them all in different positions and colors.

Structured Buffer (StructuredBuffer / StructuredBuffer) concept infographic diagram

Illustration: Structured Buffer (Structured Buffer / Infographic that clearly illustrates the basic processing flow and mechanism of StructuredBuffer) in Japanese.

Detailed mechanism and operating principle

Define custom structures (structs) such as `Position` and `Color` on the C# side, store them in the `Structured` type of `ComputeBuffer`, transfer them all at once to the shader, and access the array as `StructuredBuffer` on the shader side.