KarmaEngine
Game Engine for practical learning and research purposes
Loading...
Searching...
No Matches
DynamicRHI.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include "KarmaRHI.h"
13
14namespace Karma
15{
24 {
25 public:
26
27 static FDynamicRHI* CreateRHI();
28
32 virtual ~FDynamicRHI() = default;
33
41 virtual bool Init() = 0;
49 virtual void Shutdown() = 0;
50
54 virtual void Present() = 0;
55 // Additional methods for rendering operations can be added here
56
57 virtual Karma::ERHIInterfaceType GetInterfaceType() const { return Karma::ERHIInterfaceType::Hidden; }
58 };
59
61 extern KARMA_API FDynamicRHI* GDynamicRHI;
62
71 extern KARMA_API ERHIInterfaceType GRHIInterfaceType;
72
81}
#define KARMA_API
Defining Karma's API macro for storage class information.
Definition Core.h:41
FDynamicRHI * PlatformCreateDynamicRHI()
Each platform that utilizes dynamic RHIs should implement this function.
ERHIInterfaceType
Enumeration of supported RHI interface types.
Definition KarmaRHI.h:18
@ Hidden
Hidden or null RHI interface type.
Definition KarmaRHI.h:22
Abstract base class for Dynamic Rendering Hardware Interface (RHI).
Definition DynamicRHI.h:24
virtual ~FDynamicRHI()=default
Virtual destructor for FDynamicRHI.
virtual bool Init()=0
Initializes the RHI.
virtual void Present()=0
Presents the rendered frame to the display.
virtual void Shutdown()=0
Shuts down the RHI.