OGRE  13.4 Object-Oriented Graphics Rendering Engine
OgreMetalView Class Reference

#import <OgreMetalView.h>

Inheritance diagram for OgreMetalView:

## Properties

CGFloat contentScaleFactor

id< MTLDevice > device

BOOL layerSizeDidUpdate

CGFloat nativeScaleFactor
When scaleToNative = true, instead of setting self.contentScaleFactor, you should change this setting. More...

CFTimeInterval presentationTime
The value of presentationTime will be passed to MTLCommandBuffer::presentDrawable atTime:presentationTime When negative, it means to present immediately (Ogre will call presentDrawable overload) This value is very important if you want to render at e.g. More...

bool scaleToNative
When true (default), we will try to set the contentScaleFactor to the native's. More...

## ◆ layerSizeDidUpdate

 - (BOOL) layerSizeDidUpdate

## ◆ scaleToNative

 - (bool) scaleToNative

When true (default), we will try to set the contentScaleFactor to the native's.

You can use 'nativeScaleFactor' for further control. Note: Changing contentScaleFactor directly will force this value to false.

## ◆ nativeScaleFactor

 - (CGFloat) nativeScaleFactor

When scaleToNative = true, instead of setting self.contentScaleFactor, you should change this setting.

It's expressed in fractions of the nativeScale.

For example on an iPad Mini 3 the native factor is 2.0; thus if you set nativeScaleFactor = 1; then contentScaleFactor = 2.0 If you set nativeScaleFactor = 0.5; we'll set contentScaleFactor = 1.0

## ◆ presentationTime

 - (CFTimeInterval) presentationTime

The value of presentationTime will be passed to MTLCommandBuffer::presentDrawable atTime:presentationTime When negative, it means to present immediately (Ogre will call presentDrawable overload) This value is very important if you want to render at e.g.

30 fps: Calling CADisplayLink.frameInterval = 2 is not enough; as the CPU timer will be fired once every two VSync intervals, but if the GPU completes its job too soon, it will present immediately (i.e. in the next 16ms instead of waiting 33ms). In that case you'll want to set presentationTime = displayLink.timestamp+(1.0/fps) See https://developer.apple.com/library/prerelease/content/documentation/3DDrawing/Conceptual/MTLBestPracticesGuide/FrameRate.html

## ◆ device

 - (id) device