fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled

fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled

#Overview

name: fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled

This variable is created as a Console Variable (cvar).

It is referenced in 2 C++ source files.

#Summary

#References in C++ code

#Callsites

This variable is referenced in the following C++ source code:

#Loc: <Workspace>/Engine/Plugins/FX/Niagara/Source/NiagaraShader/Private/NiagaraAsyncGpuTraceProviderHwrt.cpp:18

Scope: file

Source code excerpt:

static int GNiagaraAsyncGpuTraceHwrtEnabled = 1;
static FAutoConsoleVariableRef CVarNiagaraAsyncGpuTraceHwrtEnabled(
	TEXT("fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled"),
	GNiagaraAsyncGpuTraceHwrtEnabled,
	TEXT("If disabled AsyncGpuTrace will not be supported against the HW ray tracing scene."),
	ECVF_Default
);

/// TODO

#Loc: <Workspace>/Engine/Plugins/FX/Niagara/Source/Niagara/Private/DataInterface/NiagaraDataInterfaceAsyncGpuTrace.cpp:539

Scope (from outer to inner):

file
function     void UNiagaraDataInterfaceAsyncGpuTrace::GetFeedback

Source code excerpt:

{
	Super::GetFeedback(InAsset, InComponent, OutErrors, OutWarnings, OutInfo);
	IConsoleVariable* EnableRayTrace = IConsoleManager::Get().FindConsoleVariable(TEXT("fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled"));
	IConsoleVariable* EnableDistanceField = IConsoleManager::Get().FindConsoleVariable(TEXT("fx.Niagara.AsyncGpuTrace.GlobalSdfEnabled"));
	if (TraceProvider == ENDICollisionQuery_AsyncGpuTraceProvider::HWRT && (EnableRayTrace == nullptr || !EnableRayTrace->GetBool() || !IsRayTracingEnabled()))
	{
		FText ErrorDescription = LOCTEXT("NiagaraAsyncGpuTraceNoHWRayTraceWarning", "Hardware raytracing is currently disabled");
		FText ErrorSummary = LOCTEXT("NiagaraAsyncGpuTraceNoHWRayTraceWarningSummary", "The data interface is configured to use hardware raytracing, which is currently disabled.\nThe data interface will NOT work with the current project settings.\n\nTo enable ray tracing support, all of the following must be true:\n* Default RHI is DirectX 12 in the project settings\n* Ray Tracing is enabled in the project settings\n* CVar fx.Niagara.AsyncGpuTrace.HWRayTraceEnabled is set to 1\n* CVar r.Raytracing.Enable is set to 1");
		OutWarnings.Emplace(ErrorDescription, ErrorSummary, FNiagaraDataInterfaceFix());
	}
	if (TraceProvider == ENDICollisionQuery_AsyncGpuTraceProvider::GSDF && (EnableDistanceField == nullptr || !EnableDistanceField->GetBool() || !DoesProjectSupportDistanceFields()))
	{
		FText ErrorDescription = LOCTEXT("NiagaraAsyncGpuTraceNoDFTraceWarning", "Distance field tracing is currently disabled");
		FText ErrorSummary = LOCTEXT("NiagaraAsyncGpuTraceNoDFWarningSummary", "The data interface is configured to use distance fielde tracing, which is currently disabled.\nThe data interface will NOT work with the current project settings.\n\nAside from project settings, check the following cvars:\n* fx.Niagara.AsyncGpuTrace.GlobalSdfEnabled\n* r.GenerateMeshDistanceFields\n* r.DistanceFields.SupportEvenIfHardwareRayTracingSupported (only if ray tracing is disabled)");