#pragma kernel Converter

struct grassCell {
    uint grassElementIndexes[512];//map to grass elements
    };

StructuredBuffer<grassCell> grassCellBuffer;
StructuredBuffer<uint> grassCellIndexBuffer;
AppendStructuredBuffer<uint> outGrassBuffer;

[numthreads(8,8,8)]
void Converter (uint callIndex : SV_GroupIndex, uint3 groupID : SV_GroupID) {
	uint realIndex = groupID.x + groupID.y + groupID.z;

	uint cellIndex = grassCellIndexBuffer[realIndex];

	grassCell cell = grassCellBuffer[ cellIndex ];

    int elementIndex = callIndex;//Correct
    uint objIndex = cell.grassElementIndexes[elementIndex];
    if(objIndex != 0) outGrassBuffer.Append(objIndex);
	
	}

//So the error seems to have been the usement of the wrong ID... but there must have been something else as well