CelticCraft/Plugins/VoxelFree/Source/Voxel/Public/VoxelRender/VoxelLODMaterials.h

41 lines
1.1 KiB
C
Raw Permalink Normal View History

2023-07-03 16:17:13 +00:00
// Copyright 2020 Phyronnaz
#pragma once
#include "CoreMinimal.h"
#include "VoxelLODMaterials.generated.h"
class UMaterialInterface;
class UVoxelMaterialCollectionBase;
USTRUCT(BlueprintType)
struct FVoxelLODMaterialsBase
{
GENERATED_BODY()
// Inclusive
UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, Category = "Voxel", meta = (ClampMin = 0, ClampMax = 26, UIMin = 0, UIMax = 26))
int32 StartLOD = 0;
// Inclusive
UPROPERTY(EditAnywhere, BlueprintReadWrite, AdvancedDisplay, Category = "Voxel", meta = (ClampMin = 0, ClampMax = 26, UIMin = 0, UIMax = 26))
int32 EndLOD = 0;
};
USTRUCT(BlueprintType)
struct FVoxelLODMaterials : public FVoxelLODMaterialsBase
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel")
TObjectPtr<UMaterialInterface> Material = nullptr;
};
USTRUCT(BlueprintType)
struct FVoxelLODMaterialCollections : public FVoxelLODMaterialsBase
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Voxel")
TObjectPtr<UVoxelMaterialCollectionBase> MaterialCollection = nullptr;
};