32 lines
1.0 KiB
C++
32 lines
1.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "RenderGraphFwd.h"
|
|
#include "NiagaraGenerateMips.generated.h"
|
|
|
|
class FRDGBuilder;
|
|
|
|
UENUM()
|
|
enum class ENiagaraMipMapGenerationType : uint8
|
|
{
|
|
/** Result is taken from whatever texel the sample lies on, aka Point Sampling. */
|
|
Unfiltered,
|
|
/** Linear blending is performed between a 2x2 (or 2x2x2) region of texels, aka Bilinear / Trilinear. */
|
|
Linear,
|
|
/** A blur filter across a 3x3 (or 3x3x3) region of texels. */
|
|
Blur1 UMETA(DisplayName="Gaussian 3 texel filter"),
|
|
/** A blur filter across a 5x5 (or 5x5x5) region of texels. */
|
|
Blur2 UMETA(DisplayName="Gaussian 5 texel filter"),
|
|
/** A blur filter across a 7x7 (or 7x7x7) region of texels. */
|
|
Blur3 UMETA(DisplayName="Gaussian 7 texel filter"),
|
|
/** A blur filter across a 9x9 (or 9x9x9) region of texels. */
|
|
Blur4 UMETA(DisplayName="Gaussian 9 texel filter"),
|
|
};
|
|
|
|
namespace NiagaraGenerateMips
|
|
{
|
|
NIAGARASHADER_API void GenerateMips(FRDGBuilder& GraphBuilder, FRDGTextureRef RDGTexture, ENiagaraMipMapGenerationType GenType);
|
|
}
|
|
|