Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IRasterizationRateMapMtl Struct Referenceabstract

Exposes Metal-specific functionality of a rasterization rate map object. More...

#include <RasterizationRateMapMtl.h>

Inheritance diagram for Diligent::IRasterizationRateMapMtl:
Diligent::IDeviceObject Diligent.IObject

Public Member Functions

virtual const RasterizationRateMapDesc &DILIGENT_CALL_TYPE GetDesc () const override=0
 Returns the rasterization map description used to create the object.
 
virtual id< MTLRasterizationRateMap > DILIGENT_CALL_TYPE GetMtlResource () const API_AVAILABLE(ios(13)
 Returns a pointer to the Metal rasterization rate map object.
 
virtual void DILIGENT_CALL_TYPE GetPhysicalSizeForLayer (Uint32 LayerIndex, Uint32 &PhysicalWidth, Uint32 &PhysicalHeight) const =0
 Returns the physical size of the specified layer.
 
virtual void DILIGENT_CALL_TYPE GetPhysicalGranularity (Uint32 &XGranularity, Uint32 &YGranularity) const =0
 
virtual void DILIGENT_CALL_TYPE MapScreenToPhysicalCoordinates (Uint32 LayerIndex, float ScreenCoordX, float ScreenCoordY, float &PhysicalCoordX, float &PhysicalCoordY) const =0
 Converts a point in logical viewport coordinates to the corresponding physical coordinates in the layer.
 
virtual void DILIGENT_CALL_TYPE MapPhysicalToScreenCoordinates (Uint32 LayerIndex, float PhysicalCoordX, float PhysicalCoordY, float &ScreenCoordX, float &ScreenCoordY) const =0
 Converts a point in physical coordinates inside a layer to its corresponding logical viewport coordinates.
 
virtual void DILIGENT_CALL_TYPE GetParameterBufferSizeAndAlign (Uint64 &Size, Uint32 &Align) const =0
 Returns the size and alignment of the parameter buffer that will be used in the resolve pass.
 
virtual void DILIGENT_CALL_TYPE CopyParameterDataToBuffer (IBuffer *pDstBuffer, Uint64 Offset) const =0
 Copy rasterization rate map parameters to the buffer.
 
virtual ITextureView *DILIGENT_CALL_TYPE GetView ()=0
 Returns texture view that can be used to set the rasterization rate map as framebuffer attachment.
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual Int32 DILIGENT_CALL_TYPE GetUniqueID () const =0
 Returns unique identifier assigned to an object.
 
virtual void DILIGENT_CALL_TYPE SetUserData (IObject *pUserData)=0
 Stores a pointer to the user-provided data object.
 
virtual IObject *DILIGENT_CALL_TYPE GetUserData () const =0
 Returns a pointer to the user data object previously set with SetUserData() method.
 
- Public Member Functions inherited from Diligent.IObject
virtual void DILIGENT_CALL_TYPE QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE AddRef ()=0
 Increments the number of strong references by 1.
 
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE Release ()=0
 
virtual IReferenceCounters *DILIGENT_CALL_TYPE GetReferenceCounters () const =0
 

Detailed Description

Exposes Metal-specific functionality of a rasterization rate map object.

Member Function Documentation

◆ CopyParameterDataToBuffer()

virtual void DILIGENT_CALL_TYPE Diligent::IRasterizationRateMapMtl::CopyParameterDataToBuffer ( IBuffer * pDstBuffer,
Uint64 Offset ) const
pure virtual

Copy rasterization rate map parameters to the buffer.

Parameters
[in]pDstBuffer- Parameter buffer that will be used in the resolve pass. The buffer must be created with USAGE_UNIFIED.
[in]Offset- Offset in the buffer; must be a multiple of alignment returned by GetParameterBufferSizeAndAlign().

◆ GetPhysicalGranularity()

virtual void DILIGENT_CALL_TYPE Diligent::IRasterizationRateMapMtl::GetPhysicalGranularity ( Uint32 & XGranularity,
Uint32 & YGranularity ) const
pure virtual

The granularity, in physical pixels, at which the rasterization rate varies. For better performance, tile size should be a multiple of physical granularity.