diff --git a/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp b/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp index fdf33513f09daa335e7d22fd087eb26304b226d2..1de264785753e54b00d83595458cc49be38bb2eb 100644 --- a/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp +++ b/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp @@ -543,6 +543,8 @@ void UGPUInstancedLineComponent::AddBulkInternal(int32 NumberOfLines, int32 Numb DummyTransforms.SetNum(NumberOfLines * NumberOfSegmentsPerLine); AddInstances(DummyTransforms, false); + int32 InstanceCounter = 0; + for (int32 LineIndex = 0; LineIndex < NumberOfLines; ++LineIndex) { const FLinearColor Color = UniformColor ? Colors[0] : Colors[LineIndex]; @@ -553,12 +555,11 @@ void UGPUInstancedLineComponent::AddBulkInternal(int32 NumberOfLines, int32 Numb for (int32 PointIndex = 0; PointIndex < NumberOfSegmentsPerLine; ++PointIndex) { - //const int32 InstanceId = AddNewSegmentInstance(Color, Width, CurrentTextureIndex); - const int32 InstanceId = CurrentTextureIndex; - InitializeCreatedSegmentInstance(InstanceId, Color, Width, CurrentTextureIndex); - NewLineArray.IndexArray.Add({ InstanceId, LineIndex * (NumberOfSegmentsPerLine + 1) + PointIndex }); + //const int32 InstanceId = AddNewSegmentInstance(Color, Width, CurrentTextureIndex); + InitializeCreatedSegmentInstance(InstanceCounter, Color, Width, CurrentTextureIndex); + NewLineArray.IndexArray.Add({ InstanceCounter, LineIndex * (NumberOfSegmentsPerLine + 1) + PointIndex }); CurrentTextureIndex++; - + InstanceCounter++; MoveTextureMarker(); } NewLineArray.IndexArray.Add({ -1, LineIndex * (NumberOfSegmentsPerLine + 1) + NumberOfSegmentsPerLine });