Interface of RPISystem, which is the main entry point for the Atom renderer. More...
#include <RPISystemInterface.h>
Inherited by AZ::RPI::RPISystem.
Public Member Functions | |
AZ_RTTI (RPISystemInterface, "{62E72C4F-A985-4001-9004-DE53029DBF11}") | |
AZ_DISABLE_COPY_MOVE (RPISystemInterface) | |
virtual void | InitializeSystemAssets ()=0 |
Pre-load some system assets. This should be called once Critical Asset have compiled ready and before create any RPI instances. | |
virtual bool | IsInitialized () const =0 |
Was the RPI system initialized properly. | |
virtual bool | IsNullRenderer () const =0 |
virtual void | RegisterScene (ScenePtr scene)=0 |
Register a created scene to RPISystem. Registered scene will be simulated and rendered in RPISystem ticks. | |
virtual void | UnregisterScene (ScenePtr scene)=0 |
Unregister a scene from RPISystem. The scene won't be simulated or rendered. | |
AZ_DEPRECATED (virtual ScenePtr GetDefaultScene() const =0;, "This method has been deprecated. Please use GetSceneByName(name), GetSceneForEntityContextId(entityContextId) or Scene::GetSceneForEntityId(AZ::EntityId entityId) instead.") | |
Deprecated. Use GetSceneByName(name), GetSceneForEntityContextId(entityContextId) or Scene::GetSceneForEntityId(AZ::EntityId entityId) instead. | |
virtual Scene * | GetScene (const SceneId &sceneId) const =0 |
Get scene by using scene id. | |
virtual Scene * | GetSceneByName (const AZ::Name &name) const =0 |
Get scene by using scene name. | |
virtual RenderPipelinePtr | GetRenderPipelineForWindow (AzFramework::NativeWindowHandle windowHandle)=0 |
Get the render pipeline created for a window. | |
virtual Data::Asset< ShaderAsset > | GetCommonShaderAssetForSrgs () const =0 |
Returns the shader asset that is being used as the source for the SceneSrg and ViewSrg layouts. | |
virtual RHI::Ptr< RHI::ShaderResourceGroupLayout > | GetSceneSrgLayout () const =0 |
virtual RHI::Ptr< RHI::ShaderResourceGroupLayout > | GetViewSrgLayout () const =0 |
virtual void | SimulationTick ()=0 |
virtual void | RenderTick ()=0 |
Tick for rendering one frame. | |
virtual void | SetSimulationJobPolicy (RHI::JobPolicy jobPolicy)=0 |
virtual RHI::JobPolicy | GetSimulationJobPolicy () const =0 |
virtual void | SetRenderPrepareJobPolicy (RHI::JobPolicy jobPolicy)=0 |
virtual RHI::JobPolicy | GetRenderPrepareJobPolicy () const =0 |
virtual const RPISystemDescriptor & | GetDescriptor () const =0 |
Get RPI system descriptor. | |
virtual Name | GetRenderApiName () const =0 |
Return the name of the RHI back-end API (i.e. "dx12", "vulkan", etc.) | |
virtual uint64_t | GetCurrentTick () const =0 |
Get the index of current render tick. | |
virtual void | SetApplicationMultisampleState (const RHI::MultisampleState &multisampleState)=0 |
Application multisample state. | |
virtual const RHI::MultisampleState & | GetApplicationMultisampleState () const =0 |
virtual XRRenderingInterface * | GetXRSystem () const =0 |
Get the XR system for XR specific functionality. | |
Static Public Member Functions | |
static RPISystemInterface * | Get () |
Interface of RPISystem, which is the main entry point for the Atom renderer.
|
pure virtual |
Returns the shader asset that is being used as the source for the SceneSrg and ViewSrg layouts.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get the index of current render tick.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get RPI system descriptor.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Return the name of the RHI back-end API (i.e. "dx12", "vulkan", etc.)
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get the render pipeline created for a window.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get scene by using scene id.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get scene by using scene name.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Get the XR system for XR specific functionality.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Pre-load some system assets. This should be called once Critical Asset have compiled ready and before create any RPI instances.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Was the RPI system initialized properly.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
If the renderer is null. It's controlled by renderer=null command line option
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Register a created scene to RPISystem. Registered scene will be simulated and rendered in RPISystem ticks.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Tick for rendering one frame.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Application multisample state.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Job policy for FeatureProcessor render prepare. When parallel jobs are enabled, this will usually spawn one job per FeatureProcessor per Scene.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Job policy for FeatureProcessor simulation. When parallel jobs are enabled, this will usually spawn one job per FeatureProcessor per Scene.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Tick for graphics simulation that runs on the CPU. This will drive FeatureProcessor simulation activity. It should be called once per game-tick.
Implemented in AZ::RPI::RPISystem.
|
pure virtual |
Unregister a scene from RPISystem. The scene won't be simulated or rendered.
Implemented in AZ::RPI::RPISystem.