// Copyright 2026, Algoryx Simulation AB.

#pragma once

// Unreal Engine includes.
#include "CoreMinimal.h"

class UTexture2D;

class AGXUNREAL_API AGX_TextureUtilities
{
public:
	/**
	 * Copies texture data and relevant texture settings from Source to Destination.
	 * Intended for textures generated by AGXUnreal import, not as a general-purpose texture copier.
	 * If bCreateRenderResource is false, Destination is left with CPU-side texture data only and
	 * UpdateResource is not called.
	 */
	static bool CopyTexture(
		UTexture2D* Source, UTexture2D* Destination, bool bCreateRenderResource = true);

	/**
	 * Simple comparison for textures generated by AGXUnreal import.
	 */
	static bool AreTexturesEqual(UTexture2D* TextureA, UTexture2D* TextureB);
};
