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.
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