Add option to set max exposure time
This commit is contained in:
@@ -226,6 +226,8 @@ namespace OpenVulkano::AR
|
||||
*/
|
||||
virtual void SetRenderer(IRenderer* renderer) = 0;
|
||||
|
||||
virtual void SetMaxExposureTime(int fraction = 61) {};
|
||||
|
||||
virtual void LockExposureTime(bool locked) {};
|
||||
|
||||
virtual void LockWhiteBalance(bool locked) {};
|
||||
|
||||
@@ -55,6 +55,7 @@ namespace OpenVulkano::AR::ArKit
|
||||
|
||||
void SetRenderer(IRenderer* renderer) override;
|
||||
|
||||
void SetMaxExposureTime(int fraction = 61) override;
|
||||
void LockExposureTime(bool locked) override;
|
||||
void LockWhiteBalance(bool locked) override;
|
||||
void SetFlashlightOn(bool on) override;
|
||||
|
||||
@@ -236,6 +236,14 @@ namespace OpenVulkano::AR::ArKit
|
||||
[dev setExposureMode: locked ? AVCaptureExposureModeLocked : AVCaptureExposureModeContinuousAutoExposure];
|
||||
}
|
||||
|
||||
void ArSessionArKitInternal::SetMaxExposureTime(int fraction)
|
||||
{
|
||||
AVCaptureDevice* dev = [ARWorldTrackingConfiguration configurableCaptureDeviceForPrimaryCamera];
|
||||
if (!m_lockedConfiguration) m_lockedConfiguration |=[dev lockForConfiguration:nil];
|
||||
[dev setActiveMaxExposureDuration:CMTimeMake(1, fraction)];
|
||||
Logger::AR->info("Set max exposure time to: 1/{}s", fraction);
|
||||
}
|
||||
|
||||
void ArSessionArKitInternal::LockWhiteBalance(bool locked)
|
||||
{
|
||||
AVCaptureDevice* dev = [ARWorldTrackingConfiguration configurableCaptureDeviceForPrimaryCamera];
|
||||
|
||||
Reference in New Issue
Block a user