forked from LeenkxTeam/LNXSDK
t3du - Restore VR code
This commit is contained in:
52
leenkx/Sources/iron/system/VR.hx
Normal file
52
leenkx/Sources/iron/system/VR.hx
Normal file
@ -0,0 +1,52 @@
|
||||
package iron.system;
|
||||
|
||||
import iron.math.Mat4;
|
||||
|
||||
#if lnx_vr
|
||||
class VR {
|
||||
|
||||
static var undistortionMatrix: Mat4 = null;
|
||||
|
||||
public function new() {}
|
||||
|
||||
public static function getUndistortionMatrix(): Mat4 {
|
||||
if (undistortionMatrix == null) {
|
||||
undistortionMatrix = Mat4.identity();
|
||||
}
|
||||
|
||||
return undistortionMatrix;
|
||||
}
|
||||
|
||||
public static function getMaxRadiusSq(): Float {
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
public static function initButton() {
|
||||
function vrDownListener(index: Int, x: Float, y: Float) {
|
||||
var vr = kha.vr.VrInterface.instance;
|
||||
if (vr == null || !vr.IsVrEnabled() || vr.IsPresenting()) return;
|
||||
var w: Float = iron.App.w();
|
||||
var h: Float = iron.App.h();
|
||||
if (x < w - 150 || y < h - 150) return;
|
||||
vr.onVRRequestPresent();
|
||||
}
|
||||
|
||||
function vrRender2D(g: kha.graphics2.Graphics) {
|
||||
var vr = kha.vr.VrInterface.instance;
|
||||
if (vr == null || !vr.IsVrEnabled() || vr.IsPresenting()) return;
|
||||
var w: Float = iron.App.w();
|
||||
var h: Float = iron.App.h();
|
||||
g.color = 0xffff0000;
|
||||
g.fillRect(w - 150, h - 150, 140, 140);
|
||||
}
|
||||
|
||||
kha.input.Mouse.get().notify(vrDownListener, null, null, null);
|
||||
iron.App.notifyOnRender2D(vrRender2D);
|
||||
|
||||
var vr = kha.vr.VrInterface.instance; // Straight to VR (Oculus Carmel)
|
||||
if (vr != null && vr.IsVrEnabled()) {
|
||||
vr.onVRRequestPresent();
|
||||
}
|
||||
}
|
||||
}
|
||||
#end
|
Reference in New Issue
Block a user