From 6324d85c16a219ed94a24fa212bfb2a7dd466119 Mon Sep 17 00:00:00 2001 From: dgilbert <gilbert@vr.rwth-aachen.de> Date: Tue, 20 Aug 2019 15:39:15 +0200 Subject: [PATCH] WIP: Swapping laser to gpu only intersection data! Commit won't run like this! --- Content/LaserOffsetMaterial.uasset | Bin 0 -> 110630 bytes .../LineInstancedStaticMeshComponent.cpp | 71 ++++---- Source/OptiX/Private/OptiXContext.cpp | 18 ++ Source/OptiX/Private/OptiXContextManager.cpp | 168 +++++++++++------- Source/OptiX/Private/OptiXLaserActor.cpp | 3 + Source/OptiX/Private/OptiXLaserComponent.cpp | 1 - .../Public/LineInstancedStaticMeshComponent.h | 2 + Source/OptiX/Public/OptiXContext.h | 3 + Source/OptiX/Public/OptiXContextManager.h | 30 +++- Source/OptiX/Public/OptiXLaserActor.h | 5 + 10 files changed, 196 insertions(+), 105 deletions(-) create mode 100644 Content/LaserOffsetMaterial.uasset diff --git a/Content/LaserOffsetMaterial.uasset b/Content/LaserOffsetMaterial.uasset new file mode 100644 index 0000000000000000000000000000000000000000..e68f40395f82230da3b352a22927aae7592df0f4 GIT binary patch literal 110630 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 OSvoQx8*s2$YaRg5U?<N2 literal 0 HcmV?d00001 diff --git a/Source/OptiX/Private/LineInstancedStaticMeshComponent.cpp b/Source/OptiX/Private/LineInstancedStaticMeshComponent.cpp index 612ff05..1ec0d34 100644 --- a/Source/OptiX/Private/LineInstancedStaticMeshComponent.cpp +++ b/Source/OptiX/Private/LineInstancedStaticMeshComponent.cpp @@ -41,25 +41,6 @@ ULineInstancedStaticMeshComponent::ULineInstancedStaticMeshComponent(const FObje void ULineInstancedStaticMeshComponent::BeginPlay() { Super::BeginPlay(); - - // 1 for now, could be #Lines if we want multicolored lines - ColorLUT = UTexture2D::CreateTransient(1, LineNumber); - ColorLUT->UpdateResource(); - - DynamicLaserMaterial = UMaterialInstanceDynamic::Create(GetMaterial(0), this); - SetMaterial(0, DynamicLaserMaterial); - - DynamicLaserMaterial->SetTextureParameterValue("LUT", ColorLUT); - DynamicLaserMaterial->SetScalarParameterValue("Segments", SegmentsPerLine); - DynamicLaserMaterial->SetScalarParameterValue("Lines", LineNumber); - - TextureRegion = MakeUnique<FUpdateTextureRegion2D>(); - TextureRegion->Height = LineNumber; - TextureRegion->Width = 1; - TextureRegion->SrcX = 0; - TextureRegion->SrcY = 0; - TextureRegion->DestX = 0; - TextureRegion->DestY = 0; } FPrimitiveSceneProxy* ULineInstancedStaticMeshComponent::CreateSceneProxy() @@ -126,30 +107,60 @@ void ULineInstancedStaticMeshComponent::InitLineSegments(int32 NumberOfLines, in int32 Index = AddInstanceWorldSpace(LineTransform); } - } + } - DynamicLaserMaterial->SetScalarParameterValue("Segments", SegmentsPerLine); - DynamicLaserMaterial->SetScalarParameterValue("Lines", LineNumber); + if (DynamicLaserMaterial != NULL) + { + DynamicLaserMaterial->SetScalarParameterValue("Segments", SegmentsPerLine); + DynamicLaserMaterial->SetScalarParameterValue("Lines", LineNumber); - TextureRegion->Height = LineNumber; - TextureRegion->Width = 1; + TextureRegion->Height = LineNumber; + TextureRegion->Width = 1; + + } } void ULineInstancedStaticMeshComponent::UpdateLUT(TArray<FColor> ColorMap) { - ColorArray = ColorMap; + if (DynamicLaserMaterial != NULL) + { + + ColorArray = ColorMap; + + ColorLUT = UTexture2D::CreateTransient(1, LineNumber); + ColorLUT->UpdateResource(); + + UE_LOG(LogTemp, Display, TEXT("ColorLUT | LineNumber (%i | %i "), ColorLUT->GetSizeX(), LineNumber); + + ColorLUT->UpdateTextureRegions(0, 1, TextureRegion.Get(), sizeof(FColor), sizeof(FColor), (uint8*)ColorArray.GetData()); + DynamicLaserMaterial->SetTextureParameterValue("LUT", ColorLUT); + UE_LOG(LogTemp, Display, TEXT("#Colors: %i"), ColorArray.Num()); + } + +} + +void ULineInstancedStaticMeshComponent::SetLaserMaterial(UMaterialInstanceDynamic * Mat) +{ + // 1 for now, could be #Lines if we want multicolored lines ColorLUT = UTexture2D::CreateTransient(1, LineNumber); ColorLUT->UpdateResource(); - UE_LOG(LogTemp, Display, TEXT("ColorLUT | LineNumber (%i | %i "), ColorLUT->GetSizeX(), LineNumber); - - ColorLUT->UpdateTextureRegions(0, 1, TextureRegion.Get(), sizeof(FColor), sizeof(FColor), (uint8*)ColorArray.GetData()); + DynamicLaserMaterial = Mat; + SetMaterial(0, DynamicLaserMaterial); DynamicLaserMaterial->SetTextureParameterValue("LUT", ColorLUT); - UE_LOG(LogTemp, Display, TEXT("#Colors: %i"), ColorArray.Num()); - + /*DynamicLaserMaterial->SetScalarParameterValue("Segments", SegmentsPerLine); + DynamicLaserMaterial->SetScalarParameterValue("Lines", LineNumber); +*/ + TextureRegion = MakeUnique<FUpdateTextureRegion2D>(); + TextureRegion->Height = LineNumber; + TextureRegion->Width = 1; + TextureRegion->SrcX = 0; + TextureRegion->SrcY = 0; + TextureRegion->DestX = 0; + TextureRegion->DestY = 0; } void ULineInstancedStaticMeshComponent::UpdateLines(float NewLineWidth) diff --git a/Source/OptiX/Private/OptiXContext.cpp b/Source/OptiX/Private/OptiXContext.cpp index b327d08..1c1ed34 100644 --- a/Source/OptiX/Private/OptiXContext.cpp +++ b/Source/OptiX/Private/OptiXContext.cpp @@ -1155,6 +1155,24 @@ UOptiXBuffer * UOptiXContext::CreateBufferUByte3D(uint8 Type, int32 Width, int32 return BufferPtr; } +UOptiXBuffer * UOptiXContext::CreateOutputBufferIntersections(int32 Width) +{ + UOptiXBuffer* BufferPtr = nullptr; + try + { + BufferPtr = NewObject<UOptiXBuffer>(this, UOptiXBuffer::StaticClass()); + BufferPtr->SetBuffer(NativeContext->createBufferForCUDA(RT_BUFFER_INPUT_OUTPUT | RT_BUFFER_GPU_LOCAL, RT_FORMAT_FLOAT4, Width)); + } + catch (optix::Exception& E) + { + FString Message = FString(E.getErrorString().c_str()); + UE_LOG(OptiXPluginContext, Error, TEXT("OptiX Error: %s"), *Message); + GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("OptiX Error %s"), *Message)); + } + return BufferPtr; +} + + UOptiXBuffer * UOptiXContext::CreateOutputBufferColor(int32 Width, int32 Height) { UOptiXBuffer* BufferPtr = nullptr; diff --git a/Source/OptiX/Private/OptiXContextManager.cpp b/Source/OptiX/Private/OptiXContextManager.cpp index 157941f..43436c3 100644 --- a/Source/OptiX/Private/OptiXContextManager.cpp +++ b/Source/OptiX/Private/OptiXContextManager.cpp @@ -44,7 +44,6 @@ FOptiXContextManager::FOptiXContextManager(const FAutoRegister& AutoRegister) : FSceneViewExtensionBase(AutoRegister) { UE_LOG(LogTemp, Display, TEXT("FOptiXContextManager, is in rendering thread: %i"), static_cast<int32>(IsInRenderingThread())); - TextureRegion = FUpdateTextureRegion2D(); RTXOn = 0; @@ -271,9 +270,9 @@ void FOptiXContextManager::LaunchLaser() { if (/*bSceneChanged && */ bLaserIsInitialized && !CVarDisableLaserTrace.GetValueOnRenderThread()) { - if (LaserComponent.IsValid()) + if (LaserActor.IsValid()) { - LaserComponent->UpdateOptiXContextVariables(); + LaserActor->OptiXLaserComponent->UpdateOptiXContextVariables(); } // uuuuuuuuh @@ -285,53 +284,82 @@ void FOptiXContextManager::LaunchLaser() bIsTracing.AtomicSet(false); - optix::float4* DataLaser = static_cast<optix::float4*>(LaserOutputBuffer->MapNative(0, RT_BUFFER_MAP_READ)); - //FMemory::Memcpy(IntersectionData.GetData(), DataLaser, LaserOutputBuffer->GetSize1D() * sizeof(FVector4)); - - if (DataLaser == nullptr) + if (Resources[4] == NULL) { - UE_LOG(LogTemp, Error, TEXT("Error when trying to map laser output buffer: Got NULL")); return; } - optix::float4 invData = optix::make_float4(0, -1, 0, 1); + cudaGraphicsMapResources(1, Resources + 4, 0); + //PrintLastCudaError("cudaGraphicsMapResources"); - uint32 N = 0; - // Loop over indices - for (uint32 i = 0; i < 50 * 50; ++i) + if (CudaResourceIntersections == NULL) { - if (DataLaser[i * 20 * 2].x == invData.x && DataLaser[i * 20 * 2].y == invData.y && DataLaser[i * 20 * 2].z == invData.z) - { - continue; - } - - //if (!PreviousLaserResults.IsValidIndex(N)) - //{ - // PreviousLaserResults.AddDefaulted(1); - // PreviousLaserResults[N].AddZeroed(20 * 2); - //} - - - TPair<uint32, TArray<FVector>> QueueItem; - QueueItem.Key = N; - N++; - bool bEnqueue = false; - for (uint32 Intersection = i * 20 * 2; Intersection < i * 20 * 2 + 20 * 2; ++Intersection) - { - FVector Pos(DataLaser[Intersection].x, DataLaser[Intersection].y, DataLaser[Intersection].z); - //if (Pos != PreviousLaserResults[N][Intersection - i * 20 * 2]) - //{ - // PreviousLaserResults[N][Intersection - i * 20 * 2] = Pos; - // bEnqueue = true; - //} - QueueItem.Value.Add(Pos); - } - //N++; - //if(bEnqueue) - LaserIntersectionQueue.Enqueue(QueueItem); + cudaGraphicsUnmapResources(1, Resources + 4, 0); + return; } - LaserOutputBuffer->Unmap(); + cudaArray *CuArrayIntersections; + cudaGraphicsSubResourceGetMappedArray(&CuArrayIntersections, CudaResourceIntersections, 0, 0); + PrintLastCudaError("cudaGraphicsSubResourceGetMappedArray"); + + cudaMemcpy2DToArray( + CuArrayIntersections, // dst array + 0, 0, // offset + CudaLinearMemoryColor, LaserBufferSize * 4 * sizeof(float), // src + LaserBufferSize * 4 * sizeof(float), 1, // extent + cudaMemcpyDeviceToDevice); // kind + //PrintLastCudaError("cudaMemcpy2DToArray"); + + + cudaGraphicsUnmapResources(1, Resources + 4, 0); + + //optix::float4* DataLaser = static_cast<optix::float4*>(LaserOutputBuffer->MapNative(0, RT_BUFFER_MAP_READ)); + ////FMemory::Memcpy(IntersectionData.GetData(), DataLaser, LaserOutputBuffer->GetSize1D() * sizeof(FVector4)); + + //if (DataLaser == nullptr) + //{ + // UE_LOG(LogTemp, Error, TEXT("Error when trying to map laser output buffer: Got NULL")); + // return; + //} + + //optix::float4 invData = optix::make_float4(0, -1, 0, 1); + + //uint32 N = 0; + //// Loop over indices + //for (uint32 i = 0; i < 50 * 50; ++i) + //{ + // if (DataLaser[i * 20 * 2].x == invData.x && DataLaser[i * 20 * 2].y == invData.y && DataLaser[i * 20 * 2].z == invData.z) + // { + // continue; + // } + + // //if (!PreviousLaserResults.IsValidIndex(N)) + // //{ + // // PreviousLaserResults.AddDefaulted(1); + // // PreviousLaserResults[N].AddZeroed(20 * 2); + // //} + + + // TPair<uint32, TArray<FVector>> QueueItem; + // QueueItem.Key = N; + // N++; + // bool bEnqueue = false; + // for (uint32 Intersection = i * 20 * 2; Intersection < i * 20 * 2 + 20 * 2; ++Intersection) + // { + // FVector Pos(DataLaser[Intersection].x, DataLaser[Intersection].y, DataLaser[Intersection].z); + // //if (Pos != PreviousLaserResults[N][Intersection - i * 20 * 2]) + // //{ + // // PreviousLaserResults[N][Intersection - i * 20 * 2] = Pos; + // // bEnqueue = true; + // //} + // QueueItem.Value.Add(Pos); + // } + // //N++; + // //if(bEnqueue) + // LaserIntersectionQueue.Enqueue(QueueItem); + //} + + //LaserOutputBuffer->Unmap(); bSceneChanged.AtomicSet(false); LaserTraceFinishedEvent.Broadcast(); @@ -530,13 +558,25 @@ void FOptiXContextManager::InitRendering() UE_LOG(LogTemp, Display, TEXT("Created the Textures")); + // Laser Texture + LaserIntersectionTexture = UTexture2D::CreateTransient(50, 20, PF_A32B32G32R32F); // TODO Hardcoded values + LaserIntersectionTexture->AddToRoot(); + //// Allocate the texture HRI + LaserIntersectionTexture->UpdateResource(); + + LaserIntersectionTextureRef = ((FTexture2DResource*)LaserIntersectionTexture->Resource)->GetTexture2DRHI(); // Set up the material // Load the materials RegularMaterial = LoadObject<UMaterial>(GetTransientPackage(), TEXT("Material'/OptiX/PPMaterials/TextureMaterial.TextureMaterial'")); - VRMaterial = LoadObject<UMaterial>(GetTransientPackage(), TEXT("Material'/OptiX/PPMaterials/TextureMaterialVR.TextureMaterialVR'")); + LaserMaterial = LoadObject<UMaterial>(GetTransientPackage(), TEXT("Material'/OptiX/LaserMaterialOffset.LaserMaterialOffset'")); + LaserMaterialDynamic = UMaterialInstanceDynamic::Create(LaserMaterial.Get(), OptiXContext.Get(), "DynamicLaserMaterial"); + + LaserMaterialDynamic->SetTextureParameterValue("IntersectionTexture", LaserIntersectionTexture.Get()); + LaserMaterialDynamic->SetScalarParameterValue("Lines", 50); + LaserMaterialDynamic->SetScalarParameterValue("Segments", 20); if(RegularMaterial == nullptr || VRMaterial == nullptr) @@ -551,9 +591,6 @@ void FOptiXContextManager::InitRendering() DynamicMaterial->SetTextureParameterValue("DepthRight", DepthTexture.Get()); DynamicMaterial->SetTextureParameterValue("TextureLeft", OutputTexture2.Get()); DynamicMaterial->SetTextureParameterValue("DepthLeft", DepthTexture2.Get()); - - - } else { @@ -574,10 +611,6 @@ void FOptiXContextManager::InitRendering() void FOptiXContextManager::InitBuffers() { - - //UE_LOG(OptiXPluginCameraActor, Display, TEXT("Initializing output buffers with dims: %i, %i"), Width, Height); - - OutputBuffer = OptiXContext->CreateOutputBufferColor(Width, Height); OutputDepthBuffer = OptiXContext->CreateOutputBufferDepth(Width, Height); @@ -660,7 +693,8 @@ void FOptiXContextManager::InitLaser() OptiXContext->SetMissProgram(1 /*LaserEntryPoint /* this is 1 in the original application, why? TODO*/, LaserMissProgram.Get()); - LaserOutputBuffer = OptiXContext->CreateBuffer(RT_BUFFER_OUTPUT, RT_FORMAT_FLOAT4, LaserBufferSize); + //LaserOutputBuffer = OptiXContext->CreateBuffer(RT_BUFFER_OUTPUT, RT_FORMAT_FLOAT4, LaserBufferSize); + LaserOutputBuffer = OptiXContext->CreateOutputBufferIntersections(LaserBufferSize); LaserOutputBuffer->AddToRoot(); OptiXContext->SetBuffer("result_laser", LaserOutputBuffer.Get()); @@ -812,7 +846,6 @@ void FOptiXContextManager::InitCUDADX() Width = Width; Height = Height; - OutputTextureDepthLeftRef = ((FTexture2DResource*)DepthTexture2->Resource)->GetTexture2DRHI(); // Depth Left @@ -849,25 +882,15 @@ void FOptiXContextManager::InitCUDADX() ID3D11Texture2D* D3D11ColorRightTexture = static_cast<ID3D11Texture2D*>(OutputTextureColorRightRef->GetNativeResource()); D3D11ColorRightTexture->GetDesc(&DescColorRight); - //Desc.Width = Width; - //Desc.Height = Height; - //Desc.MipLevels = 1; - //Desc.ArraySize = 1; - //Desc.Format = DXGI_FORMAT_R16_FLOAT; - //Desc.SampleDesc.Count = 1; - //Desc.Usage = D3D11_USAGE_DEFAULT; - //Desc.BindFlags = D3D11_BIND_SHADER_RESOURCE; - //if (FAILED(D3DDevice->CreateTexture2D(&Desc, NULL, &D3D11Texture))) - //{ - // UE_LOG(LogTemp, Fatal, TEXT("FAILED")); - //} + //// Intersections + LaserIntersectionTextureRef = ((FTexture2DResource*)LaserIntersectionTexture->Resource)->GetTexture2DRHI(); - - // Register the new texture with cuda - //cudaGraphicsD3D11RegisterResource(&InteropTexture.CudaResource, InteropTexture.D3D11Texture, cudaGraphicsRegisterFlagsNone); - //cudaMallocPitch(&InteropTexture.CudaLinearMemory, &InteropTexture.Pitch, InteropTexture.Width * sizeof(optix::uchar4), InteropTexture.Height); - //cudaMemset(InteropTexture.CudaLinearMemory, 1, InteropTexture.Pitch * InteropTexture.Height); + D3D11_TEXTURE2D_DESC DescIntersections; + ZeroMemory(&DescIntersections, sizeof(D3D11_TEXTURE2D_DESC)); + ID3D11Texture2D* D3D11IntersectionTexture = static_cast<ID3D11Texture2D*>(LaserIntersectionTextureRef->GetNativeResource()); + D3D11IntersectionTexture->GetDesc(&DescIntersections); + // Register the unreal textures with cuda cudaGraphicsD3D11RegisterResource(&CudaResourceDepthLeft, D3D11DepthLeftTexture, cudaGraphicsRegisterFlagsNone); @@ -882,6 +905,8 @@ void FOptiXContextManager::InitCUDADX() cudaGraphicsD3D11RegisterResource(&CudaResourceColorRight, D3D11ColorRightTexture, cudaGraphicsRegisterFlagsNone); PrintLastCudaError("cudaGraphicsD3D11RegisterResource"); + cudaGraphicsD3D11RegisterResource(&CudaResourceIntersections, D3D11IntersectionTexture, cudaGraphicsRegisterFlagsNone); + PrintLastCudaError("cudaGraphicsD3D11RegisterResource"); // Allocate the buffer memory //cudaMallocPitch(&CudaLinearMemoryDepth, &Pitch, Width * sizeof(float), Height); @@ -891,6 +916,8 @@ void FOptiXContextManager::InitCUDADX() cudaMalloc(&CudaLinearMemoryColor, Width * Height * 4 * sizeof(float)); PrintLastCudaError("cudaMalloc"); + cudaMalloc(&CudaLinearMemoryIntersections, LaserBufferSize * 4 * sizeof(float)); + PrintLastCudaError("cudaMalloc"); //cudaMallocPitch(&CudaLinearMemoryColorRight, &Pitch, Width * sizeof(optix::uchar4), Height); //PrintLastCudaError("cudaMallocPitch"); @@ -900,6 +927,8 @@ void FOptiXContextManager::InitCUDADX() OptiXContext->GetBuffer("result_depth")->SetDevicePointer(0, CudaLinearMemoryDepth); OptiXContext->GetBuffer("result_color")->SetDevicePointer(0, CudaLinearMemoryColor); + OptiXContext->GetBuffer("result_laser")->SetDevicePointer(0, CudaLinearMemoryIntersections); + UE_LOG(LogTemp, Display, TEXT("Device Count: %i"), OptiXContext->GetDeviceCount()); UE_LOG(LogTemp, Display, TEXT("Device Name 0: %s"), *OptiXContext->GetDeviceName(0)); @@ -909,6 +938,7 @@ void FOptiXContextManager::InitCUDADX() Resources[1] = CudaResourceColorLeft; Resources[2] = CudaResourceDepthRight; Resources[3] = CudaResourceColorRight; + Resources[4] = CudaResourceIntersections; bIsInitialized = true; diff --git a/Source/OptiX/Private/OptiXLaserActor.cpp b/Source/OptiX/Private/OptiXLaserActor.cpp index bcdf94d..9ac19d0 100644 --- a/Source/OptiX/Private/OptiXLaserActor.cpp +++ b/Source/OptiX/Private/OptiXLaserActor.cpp @@ -60,6 +60,9 @@ void AOptiXLaserActor::BeginPlay() { Super::BeginPlay(); + FOptiXModule::Get().GetOptiXContextManager()->SetActiveLaserActor(this); + + //FActorSpawnParameters SpawnInfo; //SpawnInfo.Owner = this; //MultiLineActorRef = GetWorld()->SpawnActor<AMultiLineActor>(GetActorLocation(), GetActorRotation(), SpawnInfo); diff --git a/Source/OptiX/Private/OptiXLaserComponent.cpp b/Source/OptiX/Private/OptiXLaserComponent.cpp index 2ca7f05..f4ef461 100644 --- a/Source/OptiX/Private/OptiXLaserComponent.cpp +++ b/Source/OptiX/Private/OptiXLaserComponent.cpp @@ -133,7 +133,6 @@ void UOptiXLaserComponent::BeginPlay() { Super::BeginPlay(); Init(); - FOptiXModule::Get().GetOptiXContextManager()->SetActiveLaserComponent(this); } void UOptiXLaserComponent::EndPlay(const EEndPlayReason::Type EndPlayReason) diff --git a/Source/OptiX/Public/LineInstancedStaticMeshComponent.h b/Source/OptiX/Public/LineInstancedStaticMeshComponent.h index 0cc83b3..c899ee3 100644 --- a/Source/OptiX/Public/LineInstancedStaticMeshComponent.h +++ b/Source/OptiX/Public/LineInstancedStaticMeshComponent.h @@ -34,6 +34,8 @@ public: void UpdateLUT(TArray<FColor> ColorMap); + void SetLaserMaterial(UMaterialInstanceDynamic* Mat); + public: UPROPERTY(BlueprintReadWrite, Category = OptiX) diff --git a/Source/OptiX/Public/OptiXContext.h b/Source/OptiX/Public/OptiXContext.h index 70d9ac0..4708053 100644 --- a/Source/OptiX/Public/OptiXContext.h +++ b/Source/OptiX/Public/OptiXContext.h @@ -334,6 +334,9 @@ public: UFUNCTION(BlueprintCallable, /*meta = (BlueprintProtected)*/ Category = "OptiXContext") UOptiXBuffer* CreateOutputBufferDepth(int32 Width, int32 Height); + UFUNCTION(BlueprintCallable, /*meta = (BlueprintProtected)*/ Category = "OptiXContext") + UOptiXBuffer* CreateOutputBufferIntersections(int32 Width); + UFUNCTION(BlueprintCallable, /*meta = (BlueprintProtected)*/ Category = "OptiXContext") UOptiXBuffer* CreateInputBufferFloat(int32 Width); diff --git a/Source/OptiX/Public/OptiXContextManager.h b/Source/OptiX/Public/OptiXContextManager.h index 70271d6..74e3d6d 100644 --- a/Source/OptiX/Public/OptiXContextManager.h +++ b/Source/OptiX/Public/OptiXContextManager.h @@ -14,6 +14,7 @@ #include "OptiXContext.h" #include "OptiXObjectComponent.h" #include "OptiXLaserComponent.h" +#include "OptiXLaserActor.h" #include "OptiXCameraActor.h" @@ -135,9 +136,17 @@ public: CubemapComponentsToUpdateQueue.Enqueue(Component); } - void SetActiveLaserComponent(UOptiXLaserComponent* Component) + void SetActiveLaserActor(AOptiXLaserActor* Laser) { - LaserComponent = Component; + LaserActor = Laser; + if (LaserMaterialDynamic.IsValid()) + { + LaserActor->SetLaserMaterial(LaserMaterialDynamic.Get()); + } + else + { + UE_LOG(LogTemp, Error, TEXT("LaserMaterialDynamic is invalid!")); + } } void SetActiveCameraActor(AOptiXPlayerCameraManager* Cam) @@ -577,7 +586,8 @@ private: TQueue<IOptiXComponentInterface*> ComponentsToUpdateQueue; TQueue<UOptiXCubemapComponent*> CubemapComponentsToUpdateQueue; - TWeakObjectPtr<UOptiXLaserComponent> LaserComponent; + TWeakObjectPtr<AOptiXLaserActor> LaserActor; + TWeakObjectPtr<AOptiXPlayerCameraManager> CameraActor; // OptiX Objects to be kept in the context manager, TODO triple check that the GC doesn't nab them. @@ -614,7 +624,7 @@ private: // Rendering Part - FUpdateTextureRegion2D TextureRegion; + //FUpdateTextureRegion2D TextureRegion; //UTextureCube* TextureCube; @@ -641,6 +651,13 @@ private: // Laser stuff // --------------------------------------------------------------------------------------------------- + FTexture2DRHIRef LaserIntersectionTextureRef; + + TWeakObjectPtr<UTexture2D> LaserIntersectionTexture; + TWeakObjectPtr<UMaterial> LaserMaterial; + TWeakObjectPtr<UMaterialInstanceDynamic> LaserMaterialDynamic; + + public: TQueue<TPair<uint32, TArray<FVector>>> LaserIntersectionQueue; @@ -687,9 +704,12 @@ private: cudaGraphicsResource* CudaResourceDepthRight; cudaGraphicsResource* CudaResourceColorLeft; cudaGraphicsResource* CudaResourceColorRight; + cudaGraphicsResource* CudaResourceIntersections; void* CudaLinearMemoryDepth; void* CudaLinearMemoryColor; + void* CudaLinearMemoryIntersections; size_t Pitch; // fix me + size_t PitchLaser; - cudaGraphicsResource *Resources[4]; + cudaGraphicsResource *Resources[5]; }; \ No newline at end of file diff --git a/Source/OptiX/Public/OptiXLaserActor.h b/Source/OptiX/Public/OptiXLaserActor.h index 685d355..8315088 100644 --- a/Source/OptiX/Public/OptiXLaserActor.h +++ b/Source/OptiX/Public/OptiXLaserActor.h @@ -43,6 +43,11 @@ public: //UFUNCTION(BlueprintCallable, /*meta = (BlueprintProtected)*/ Category = "OptiXActor") //void InitInstancedMeshData(); + void SetLaserMaterial(UMaterialInstanceDynamic* DynamicLaserMaterial) + { + LineInstancedStaticMeshComponent->SetLaserMaterial(DynamicLaserMaterial); + } + public: UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = OptiX) -- GitLab