← Back
Home › Systems › Games

vr-runtime

VR runtime with low-latency reprojection

OpenXR

SystemTechniques · 7Primitives · 25 vr-runtime Foveated renderinggraphics · medium: Lower shading rate in the periphery via variable rate shading or multi-resolution, driven by eye trackingLate latching reprojectiongraphics · medium: Sample the newest head pose right before scanout and reproject the frame (ATW, ASW, spacewarp)Layer compositinggraphics · medium: Composite retained layers or surfaces on the GPU; overlay planes, opacity and transformsStereo multiview renderinggraphics · medium: Render both eyes in one pass with multiview or instanced stereoVisual inertial odometryrobotics · medium: Fuse camera features with IMU preintegration in a filter or sliding-window optimizer for 6-DoF poseCamera calibrationrobotics · medium: Intrinsic/extrinsic calibration (Zhang's method, distortion models, bundle adjustment)Levenberg marquardtnumerics · medium: Damped Gauss-Newton nonlinear least squares for model calibrationGPU command buffersgraphics · low: Record GPU work as a flat list of commands on the CPU, submit it in batches, and reuse its memory through a ring of frames in flight guarded by fences.›Kalman filterrobotics · low: Optimal recursive estimator for a linear system with Gaussian noise: fuses a motion model with noisy measurements into a state estimate plus its covariance.›Quaternion rotationsgeometry · low: Unit quaternions as 3D rotations: 4 floats, cheap composition, no gimbal lock, plus the conversions, interpolation choices and numerical care needed in practice.›Vsync frame pacinggraphics · low: Vsync, swapchain presentation modes, frame pacing, latency and variable refreshLens distortion correctiongraphics · low: Pre-warp rendered frames for headset optics: barrel distortion mesh and chromatic aberrationShared memory ipcconcurrency · low: Shared memory rings and futex signalling between processesReal time linux schedulingembedded · low: PREEMPT_RT, SCHED_FIFO/DEADLINE, CPU isolation and mlockall for low-jitter loopsGpu synchronization fencesgraphics · low: Fences, timeline semaphores and sync files between GPU queues, CPU and processesGpu priority preemptionhardware-os · low: GPU context priorities and compute or graphics preemption granularity for latency-critical workImage resampling filtersgraphics · low: Resize an image by convolving with a kernel (box, triangle, cubic, Lanczos) whose width scales with the shrink factor, done as two separable 1-D passes with precomputed weights.›Homogeneous transformsgeometry · low: 4x4 affine and projective matrices, homogeneous coordinates, view and projection, normal matricesImage warping remapgraphics · low: Resampling with lookup maps: resize, lens undistortion, homographies, bilinear/bicubicAlpha compositinggraphics · low: Porter-Duff compositing with premultiplied alpha and blend modesDamage trackinggraphics · low: Track dirty rectangles so each frame repaints and recomposites only what changedDisplay list recordinggraphics · low: Record draw commands into a replayable list for caching, culling and off-thread rasterDisplay scanout modesettinggraphics · low: KMS: CRTCs, planes, atomic commits, page flips, vblank events and direct scanout+ 9 more primitives

Similar systems

Share the most building blocks with this one.