S3D and WibbleWobble

Following numerous requests from gamers, we've decided to take a closer look at a technology with the rather unusual name WibbleWobble. We had previously come across its GitHub page, but the documentation was incredibly difficult to follow. Frankly, we had no desire to dig through that mess. It's unlikely that an average user could reproduce it easily. Most people probably wouldn't even bother reading it. This time we'll force ourselves to work through it and test it properly. If it proves stable, we'll try integrating our own hardware and write a clear, practical guide, so anyone interested can enjoy a new gaming experience powered by WibbleWobble.

WibbleWobble Core

What Is It and How Does It Work?

The entire concept can be summarized in one sentence: WibbleWobble turns a regular flat 3D game into a stereoscopic "window into the world." By tracking your head movements, you can look around a 3D scene even if the game itself has no stereo support. Let's break down how it works.

Reprojection Instead of Stereo Rendering
The traditional way to create stereoscopic 3D is to render the entire scene twice: once for the left eye and once for the right eye, using two slightly offset virtual cameras. This is computationally expensive and requires built-in support from the game engine. Today almost nobody implements this anymore. WibbleWobble takes a completely different approach. The game renders a single normal view, and WibbleWobble processes that frame using a highly optimized shader, adjusting it according to the current head position. Instead of rendering the world separately for each eye, it simply reprojects the existing image to match the viewing angle. The result is excellent performance and compatibility with games that know absolutely nothing about stereoscopic 3D.

Head Tracking as a "Window into the World"
Using OpenTrack or TrackIR, the application continuously tracks your head position and shifts the projection so the monitor behaves like a virtual window into the game world. This creates a natural motion-parallax effect, often referred to as "fish tank VR." As you move your head, the scene shifts accordingly, making it appear as if you're looking through a real window into the virtual world. The effect is similar to the pseudo-3D photos once popular on Facebook.

Frame-Sequential Stereo Output
The application receives frames from the game at whatever rate they become available. A shader converts each frame into a side-by-side stereo image running at 60 Hz. The renderer then expands it into a 120 Hz frame-sequential output while simultaneously synchronizing active shutter glasses. This is why compatibility with stereo emitters becomes important: NVIDIA 3D Vision, Open3DOLED, DLP projectors, 3D Ready displays, and even DIY Arduino/VESA IR emitters.

Reducing Motion Blur and Crosstalk
Motion blur is the effect where rapidly moving objects appear blurred instead of perfectly sharp. Imagine quickly waving your hand in front of your eyes. Instead of seeing clearly defined fingers, you see a blurred trail. The same thing happens in computer graphics whenever objects move rapidly. Motion blur hides fine image details and noticeably reduces image quality in stereoscopic 3D. To reduce this effect, WibbleWobble includes a built-in frame resampler. The software analyzes object motion and generates additional intermediate frames. At high output refresh rates, image sharpness improves significantly.

Crosstalk occurs when part of the image intended for one eye leaks into the other eye. The viewer sees double edges or faint ghost images around objects, reducing both image quality and perceived depth. To combat this, WibbleWobble supports both Black Frame Insertion and the Blur Busters CRT beam simulator. For maximum crosstalk reduction, it uses an advanced operating mode: the game itself runs at 60 Hz, the shutter glasses receive synchronization pulses at 120 Hz, while the monitor refreshes at 240 Hz with repeated frames.

Who Uses This Technology?

Primarily enthusiasts of stereoscopic 3D gaming and owners of hardware from the NVIDIA 3D Vision era, officially discontinued by NVIDIA in 2019. The technology makes it possible to play modern games that have no built-in stereoscopic support. Overall, it offers a very attractive price-to-performance ratio, providing a convincing 3D experience without requiring expensive specialized hardware.

Limitations of the Technology

Despite its strengths, the method has several important limitations that should be understood. These limitations are not implementation flaws—they stem directly from the underlying principle. The second eye's view is not rendered from the actual 3D scene. Instead, it is reconstructed from a single rendered frame together with its depth map. Since the original image contains no information about what is hidden behind foreground objects, those missing pixels simply do not exist.

Holes Around Object Boundaries (Disocclusion)
This is the most significant artifact of the technique. When the viewpoint shifts for the second eye or due to head movement, portions of the background that were originally hidden behind foreground objects should become visible. Unfortunately, those pixels were never rendered. The software therefore has nothing to fill these gaps with. It either stretches neighboring pixels, producing rubber-like smearing along object edges, or attempts to generate plausible—but usually incorrect—content. The larger the viewpoint shift, the larger these missing regions become. This is not a software bug, it is an unavoidable consequence of reconstructing multiple viewpoints from a single image.

Head Movement Makes the Artifacts More Visible
In conventional stereoscopic rendering, the distance between viewpoints is fixed and approximately equal to the distance between your eyes. With the "window into the world" approach, however, your head may move by many centimeters in any direction. This creates viewpoint shifts far larger than natural eye separation, making reconstruction artifacts much more noticeable. The result is a compromise: Remain still, and artifacts are minimal—but so is the 3D effect. Move your head aggressively, and the illusion becomes stronger—but blurred edges and reconstruction errors become much more obvious. Interestingly, the name "WibbleWobble" describes exactly this behavior.

Everything Depends on the Game's Depth Map
The software requires accurate depth information for every pixel. Games do not always provide this information correctly. Transparent materials such as water, glass, smoke, fire, and foliage often lack proper depth information or are omitted entirely from the depth buffer. As a result, objects appear at incorrect distances. Water attaches to the wrong geometry, smoke becomes doubled, particles float incorrectly, and many visual effects break. Furthermore, not every game exposes a compatible depth buffer. Some invert it, while others protect it from external access entirely.

Reflections and Highlights Break the Most
Mirrors, water, wet asphalt, and polished metal store only the depth of the reflecting surface—not the reflected image. When the viewpoint changes, reflections move incorrectly. Likewise, baked highlights painted onto surfaces cannot behave like real reflections. Ironically, the most visually impressive glossy materials often look the least convincing in reconstructed stereo.

User Interface, Crosshairs, and HUD
2D overlays such as health bars, menus, and aiming reticles are rendered at screen depth. After reprojection they often appear at incorrect stereo depths. Sometimes the interface sticks to the monitor surface, while at other times it floats awkwardly in front of the scene. Crosshairs are particularly troublesome and usually require manual depth adjustment.

One Image Shared by Both Eyes
Both eyes ultimately see the same original frame, only shifted differently. True stereoscopic rendering produces separate deep maps, reflections, shadows, refractions, and lighting for each eye. That information simply does not exist here. As a result, objects often resemble flat cardboard cutouts arranged at different depths instead of fully volumetric objects. English discussions commonly refer to this as the "cardboard" effect.

Per-Game Calibration
Field of view, depth range, and stereo convergence usually have to be adjusted manually for every game. Incorrect settings may cause eye strain, incorrect world scale, inverted depth, or other visual problems. This is definitely a "configure it yourself" solution rather than a plug-and-play experience.

Latency and Uneven Frame Timing
Games do not deliver frames at perfectly regular intervals. The software must first convert this irregular stream into a stable output rate. Generating intermediate frames introduces additional artifacts around fast-moving objects while also increasing input latency. For head tracking, any additional delay is immediately perceived as the virtual world "floating" behind your movements.

Residual Crosstalk and Display Requirements
Software techniques such as Black Frame Insertion and the 60/120/240 Hz operating mode significantly reduce ghosting but cannot eliminate it completely. Crosstalk is ultimately determined by the physical characteristics of both the display panel and the shutter glasses: pixel response time, lens switching speed, lens polarisation contrast, and the panel's scanout behavior. Moreover, the most aggressive operating mode requires a fast 240 Hz display with very short pixel persistence-hardware that many users simply do not own.

Effectiveness Assessment

The project employs various techniques to compensate for these limitations. However, in my opinion, the improvements are relatively modest. The table below shows the approximate effectiveness of the implemented techniques.

What would actually produce the biggest improvements?
Per-scanline image correction to compensate for panel scanout latency would reduce crosstalk dramatically. Accurate measurement of OLED response timing for each display model would allow precise adjustment of shutter opening and closing. Ultra-precise frame synchronization without dropped or repeated frames. Synchronization jitter suppression. Any jitter above a hundred microseconds is immediately noticeable in active stereoscopic 3D. Temporal pre-compensation, provided the response characteristics of the display panel are known. These are exactly the techniques employed by manufacturers of professional VR headsets.

CRTSim +6%
Standard BFI +10%
Display Scanout Compensation +50%
Precise Glasses Synchronization +60%
High Refresh Rate (240.. 480 Hz) +100%

Conclusion
Unlike NVIDIA 3D Vision, WibbleWobble does not reproduce true stereo images, it synthesizes them from a single flat frame. Consequently, missing geometry, incorrect reflections, and unstable object edges are permanent characteristics of the technique rather than temporary implementation flaws. In return, the technology provides something conventional 3D players cannot: real-time head tracking and a convincing "window into the world" experience inside existing games. Understanding these limitations in advance helps set realistic expectations.

To be continued, check back later....

Homepage Terms & Conditions About Us Privacy Policy Business Info Contacts Payment Shipping Send Msg