«interface»
CommandList
«interface»...
«interface + PIMPL»
IShader
«interface + PIMPL»...
«interface» IArgumentBinding
«interface» IArgume...
«interface + PIMPL»
ISampler
«interface + PIMPL»...
«interface + PIMPL»
IBuffer
«interface + PIMPL»...
«interface + PIMPL»
ITexture
«interface + PIMPL»...
«struct»
IProgram::Argument
«struct»...
«struct»
ResourceView
«struct»...
«interface + PIMPL»
IProgram
«interface + PIMPL»...
«interface»
IResource
«interface»...
Methane Graphics RHI (Rendering Hardware Interface)
Methane Graphics RHI (Rendering Hardware Interface)
«interface + PIMPL» IRenderContext
«interface + PIM...
1
1
1
1
Render
Render
1
1
1
1
Upload
Upload
Execute
Execute
«interface + PIMPL»
ITransferCommandList
«interface + PIMPL»...
«interface + PIMPL»
IRenderCommandList
«interface + PIMPL»...
«interface + PIMPL» IProgramBindings
«interface + PIMPL»...
N
N
1
1
Bind
Bind
N
N
1
1
1
1
1
1
Reset with State
Reset with State
1
1
1
1
«interface + PIMPL»
IParallel-
RenderCommandList
«interface + PIMPL»...
N
N
1
1
1
1
1
1
N
N
1
1
Attachments
Attachments
Attachments
Attachments
Signal | Wait
Signal | Wait
Draw
Draw
Use
Use
1
1
1
1
Create for
Create for
1
1
1
1
N
N
1
1
N
N

Wait for Frame Present
Wait for Frame Present
1
1
«interface + PIMPL»
ISystem
«interface + PIM...
N
N
1
1
N
N
1
1
«interface + PIMPL» 
IDevice
«interface + PIM...
«interface + PIMPL»
IFence
«interface + PIM...
«interface»
ICommandList
«interface»...
«interface + PIMPL»
ICommandQueue
«interface + PIMPL»...
«interface + PIMPL» IRenderState
«interface + PIMPL»...
«interface + PIMPL» 
IRenderPass
«interface + PIMPL»...
«interface» IContext
«interface» ICon...
«interface»
IObject
«interface»...
«interface»
IObjectRegistry
«interface»...
N
N
1
1
«interface + PIMPL» 
IRenderPattern
«interface + PIMPL»...
...
...
1
1
1
1
1
1
1
1
1
1
1
1
Text is not SVG - cannot display