Skip to content

StereoEyeCopy.kt

src/jvmMain/kotlin/afield/graphics/vulkan/targets/StereoEyeCopy.kt · 12 lines

package afield.graphics.vulkan.targets

internal data class StereoEyeCopy(val layer: Int, val x: Int)

Source subresource for the copy into one runtime-owned, single-layer eye swapchain.

companion object

fun source(eye: Int, eyeWidth: Int, layered: Boolean): StereoEyeCopy

        fun source(eye: Int, eyeWidth: Int, layered: Boolean): StereoEyeCopy {
            require(eye in 0..1 && eyeWidth > 0)
            return if (layered) StereoEyeCopy(eye, 0) else StereoEyeCopy(0, eye * eyeWidth)
        }
    }
}