
StereoCraft: Stereoscopic 3D
Side-by-side (SBS) stereoscopic 3D rendering for 3D TVs, 3D monitors, and SBS-compatible displays. StereoCraft splits the Minecraft window into left and right eye views with a configurable interpupillary distance (IPD), producing a true stereoscopic image
Links
Tags
Creators
Details
0.1.1
Compatibility
Required content
Changes
Side-by-side (SBS) stereoscopic 3D rendering for vanilla Minecraft.
What's new in v0.1.1
- Convergence distance — new per-eye projection shear so objects at a configured depth sit at the screen plane (zero parallax); closer pops out, farther recedes. Slider in the Sodium options page: 0–16 blocks, default 4. Set to 0 for classic parallel-axis stereo (no shear). Math is unit-tested in the new
StereoMathhelper. - IPD slider narrowed to 55–75 mm — the previous 0–500 mm range was unwieldy; 55–75 mm covers ~99% of adults at ~1 mm per slider tick. Legacy configs with out-of-range values get a one-time warn log and are clamped on load.
- Iris pipeline auto-rebuild on first stereo-active frame — fixes the launch-with-stereo-on-and-shaderpack-loaded case where Iris's pipeline cache was stale on the first frame, previously requiring a manual shader toggle each session.
Requirements
- Minecraft 1.21.11
- Fabric Loader 0.19.2+
- Java 21
- Sodium 0.8.11+
Optional
- Iris 1.10.7+1.21.11-fabric for shader compatibility (tested only against this exact version)
Install
Drop stereoscopic-0.1.1.jar into your mods/ folder alongside Fabric API and Sodium.
Known limitations
- Async cursor in split-screen GUIs is Windows-only — Linux and macOS get vanilla one-eye cursor behavior while a screen is open.
- Iris compatibility tested only against
1.10.7+1.21.11-fabric; other Iris versions may load but may silently degrade per-eye rendering.
Optional dependencies
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:jZrDX6R1:AY5KB55G"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:jZrDX6R1:AY5KB55G"
}
