WTExternalMetalRenderingProtocol Protocol Reference

Conforms to NSObject
Declared in WTMetalRenderingMode.h

Overview

WTExternalMetalRenderingProtocol is used to handle information exchange between the Wikitude Native SDK and an external Metal renderer.

– viewSizeForExternalRenderingInWikitudeNativeSDK: required method

Called during -start:completion: method of the WTWikitudeNativeSDK.

This method is called to retrieve the Metal view size.

- (CGRect)viewSizeForExternalRenderingInWikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that requests the Metal view size.

Return Value

CGRect A rect representing the current Metal view size. This method needs to return a non zero rect.

Declared In

WTMetalRenderingMode.h

– wikitudeNativeSDK:didCreateExternalMetalUpdateHandler: required method

Called during -start:completion: method of the WTWikitudeNativeSDK.

This method is called to pass a Wikitude internal update block to the external renderer.

- (void)wikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK didCreateExternalMetalUpdateHandler:(WTWikitudeMetalUpdateHandler)updateHandler

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that created the update handler.

updateHandler

An ObjC block object that needs to be called every frame in order to update the Wikitude Native SDK internally. If this handler is not called, no computer vision related updates are done.

Declared In

WTMetalRenderingMode.h

– wikitudeNativeSDK:didCreateExternalMetalDrawHandler: required method

Called during -start:completion: method of the WTWikitudeNativeSDK.

This method is called to pass a Wikitude internal draw handler to the external renderer.

- (void)wikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK didCreateExternalMetalDrawHandler:(WTWikitudeMetalDrawHandler)drawHandler

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that created the draw handler.

drawHandler

An ObjC block object that needs to be called every frame in order to draw the camera background.

Declared In

WTMetalRenderingMode.h

– metalDeviceForVideoCameraInWikitudeNativeSDK: required method

Called during -start:completion: method of the WTWikitudeNativeSDK.

This method is calld to retrieve the MTLDevice that should be used to perform camera related Metal calls.

- (id<MTLDevice>)metalDeviceForVideoCameraInWikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that needs an MTLDevice object.

Return Value

MTLDevice The MTLDevice object that should be used to perform Metal calls that are camera related.

Declared In

WTMetalRenderingMode.h

– metalCommandQueueForVideoCameraInWikitudeNativeSDK: required method

Called during -start:completion: method of the WTWikitudeNativeSDK.

This method is called to retrieve the MTLCommandQueue that should be used to perform camera related Metal calls.

- (id<MTLCommandQueue>)metalCommandQueueForVideoCameraInWikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that needs an MTLCommandQueue object.

Return Value

MTLCommandQueue the MTLCommandQueue object that should be used to perform Metal calls that are camera related.

Declared In

WTMetalRenderingMode.h

– metalPixelFormatForVideoCameraInWikitudeNativeSDK: required method

Called

This method is called to MTLPixelFormat type that should be used to specify Metal pixel format for camera.

- (MTLPixelFormat)metalPixelFormatForVideoCameraInWikitudeNativeSDK:(WTWikitudeNativeSDK *)wikitudeNativeSDK

Parameters

wikitudeNativeSDK

The Wikitude Native SDK object that needs an MTLCommandQueue object.

Return Value

MTLPixelFormat the MTLPixelFormat type that should be used to specify Metal pixel format for camera.

Declared In

WTMetalRenderingMode.h