39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
package kha.vr;
 | 
						|
 | 
						|
import kha.Image;
 | 
						|
import kha.math.Matrix4;
 | 
						|
 | 
						|
class TimeWarpImage {
 | 
						|
	// If TexId == 0, this image is disabled.
 | 
						|
	// Most applications will have the overlay image
 | 
						|
	// disabled.
 | 
						|
	//
 | 
						|
	// Because OpenGL ES doesn't support clampToBorder,
 | 
						|
	// it is the application's responsibility to make sure
 | 
						|
	// that all mip levels of the texture have a black border
 | 
						|
	// that will show up when time warp pushes the texture partially
 | 
						|
	// off screen.
 | 
						|
	//
 | 
						|
	// Overlap textures will only show through where alpha on the
 | 
						|
	// primary texture is not 1.0, so they do not require a border.
 | 
						|
	// unsigned		TexId;
 | 
						|
	public var Image: Image;
 | 
						|
 | 
						|
	// Experimental separate R/G/B cube maps
 | 
						|
	// unsigned		PlanarTexId[3];
 | 
						|
	// Points on the screen are mapped by a distortion correction
 | 
						|
	// function into ( TanX, TanY, 1, 1 ) vectors that are transformed
 | 
						|
	// by this matrix to get ( S, T, Q, _ ) vectors that are looked
 | 
						|
	// up with texture2dproj() to get texels.
 | 
						|
	public var TexCoordsFromTanAngles: Matrix4;
 | 
						|
 | 
						|
	// The sensor state for which ModelViewMatrix is correct.
 | 
						|
	// It is ok to update the orientation for each eye, which
 | 
						|
	// can help minimize black edge pull-in, but the position
 | 
						|
	// must remain the same for both eyes, or the position would
 | 
						|
	// seem to judder "backwards in time" if a frame is dropped.
 | 
						|
	public var Pose: PoseState;
 | 
						|
 | 
						|
	public function new() {}
 | 
						|
}
 |