Files
XCEngine/engine/include/XCEngine/RHI/Resource.h

28 lines
578 B
C++

#pragma once
#include <string>
#include "Enums.h"
#include "Types.h"
namespace XCEngine {
namespace RHI {
class IResource {
public:
virtual ~IResource() = default;
virtual void* GetNativeHandle() const = 0;
virtual ResourceStates GetState() const = 0;
virtual void SetState(ResourceStates state) = 0;
virtual uint64_t GetGPUAddress() const = 0;
virtual size_t GetSize() const = 0;
virtual const std::string& GetName() const = 0;
virtual void SetName(const std::string& name) = 0;
};
} // namespace RHI
} // namespace XCEngine