diff --git a/InstancedMeshLines/Content/ExampleMap.umap b/InstancedMeshLines/Content/ExampleMap.umap index b1de94ebe5442028715f3f989b4fa96eda7d253a..74ab5998667c252a02f42a9f3a4a647b42da4120 100644 Binary files a/InstancedMeshLines/Content/ExampleMap.umap and b/InstancedMeshLines/Content/ExampleMap.umap differ diff --git a/InstancedMeshLines/Content/ExampleMap_BuiltData.uasset b/InstancedMeshLines/Content/ExampleMap_BuiltData.uasset index 2c286af6defcfe1bdee79231d1d8de3684093ce5..32316315fc263a664fccfa3ab79ead1fef1f0c8b 100644 Binary files a/InstancedMeshLines/Content/ExampleMap_BuiltData.uasset and b/InstancedMeshLines/Content/ExampleMap_BuiltData.uasset differ diff --git a/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Content/TestActor.uasset b/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Content/TestActor.uasset index a74cd69312be0dcea158b0f1fec86e4ebc231972..a4ad9f54aa45342162aa0260f072b8361be2431b 100644 Binary files a/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Content/TestActor.uasset and b/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Content/TestActor.uasset differ diff --git a/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp b/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp index 81e55a0245a7ef7c60c4df08fbdb5f5e82aed78f..8a41797ca17a0eec846c614a0575006576414b55 100644 --- a/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp +++ b/InstancedMeshLines/Plugins/InstancedMeshLineRendering/Source/InstancedMeshLineRendering/Private/GPUInstancedLineComponent.cpp @@ -11,8 +11,11 @@ UGPUInstancedLineComponent::UGPUInstancedLineComponent(const FObjectInitializer& SetGenerateOverlapEvents(false); static ConstructorHelpers::FObjectFinder<UStaticMesh>LineMeshAsset(TEXT("StaticMesh'/InstancedMeshLineRendering/line.line'")); + static ConstructorHelpers::FObjectFinder<UMaterial>LineMaterialAsset(TEXT("Material'/InstancedMeshLineRendering/DynamicLineMaterial.DynamicLineMaterial'")); UStaticMesh* LineAsset = LineMeshAsset.Object; + UMaterial* LineMaterial = LineMaterialAsset.Object; SetStaticMesh(LineAsset); + SetMaterial(0, LineMaterial); // three color values + width + 1 texture index value // r | g | b | w | i_T @@ -131,7 +134,7 @@ void UGPUInstancedLineComponent::BeginPlay() //if (PositionTexture == nullptr) { - UE_LOG(LogTemp, Display, TEXT("UGPUInstancedLineComponent::PostInitProperties Creating Texture")); + UE_LOG(LogTemp, Display, TEXT("UGPUInstancedLineComponent::BeginPlay Creating Texture")); PositionTexture = UTexture2D::CreateTransient(TextureWidth, TextureHeight, PF_A32B32G32R32F); // TODO Hardcoded values // Allocate the texture RHI @@ -140,12 +143,12 @@ void UGPUInstancedLineComponent::BeginPlay() //if (DynamicLineMaterial == nullptr) { - UE_LOG(LogTemp, Display, TEXT("UGPUInstancedLineComponent::PostInitProperties Creating MID")); + UE_LOG(LogTemp, Display, TEXT("UGPUInstancedLineComponent::BeginPlay Creating MID")); - UMaterial* LineMat = LoadObject<UMaterial>(GetTransientPackage(), TEXT("Material'/InstancedMeshLineRendering/DynamicLineMaterial.DynamicLineMaterial'")); - DynamicLineMaterial = UMaterialInstanceDynamic::Create(LineMat, this, "DynamicLineMaterial"); + //UMaterial* LineMat = LoadObject<UMaterial>(GetTransientPackage(), TEXT("Material'/InstancedMeshLineRendering/DynamicLineMaterial.DynamicLineMaterial'")); + DynamicLineMaterial = CreateAndSetMaterialInstanceDynamic(0);// UMaterialInstanceDynamic::Create(LineMat, this, "DynamicLineMaterialMID"); - GetStaticMesh()->SetMaterial(0, DynamicLineMaterial); + //GetStaticMesh()->SetMaterial(0, DynamicLineMaterial); DynamicLineMaterial->SetTextureParameterValue("PositionTexture", PositionTexture); DynamicLineMaterial->SetScalarParameterValue("TextureWidth", TextureWidth);