Anaglyph 3d Video Player For Android -
Rating: 4.5/5 | Price: Free / $5.99 Pro
Technically, MX Player is not an anaglyph app out of the box. However, it is the most stable video engine on Android. To turn it into an anaglyph player, you must install a custom codec.
Support for anaglyph streaming:
anaglyph, 3D, stereoscopic, red cyan, SBS video player, 3D glasses, VR, stereo player anaglyph 3d video player for android
This is the heart of the player. The shader runs on the GPU for each pixel:
// anaglyph.frag precision mediump float; varying vec2 vTextureCoord; uniform sampler2D uLeftTexture; uniform sampler2D uRightTexture;void main() vec4 leftPixel = texture2D(uLeftTexture, vTextureCoord); vec4 rightPixel = texture2D(uRightTexture, vTextureCoord);
// Standard red-cyan anaglyph float red = leftPixel.r; float green = rightPixel.g; float blue = rightPixel.b; gl_FragColor = vec4(red, green, blue, 1.0);
Optimized version with adjustable depth:
uniform float uDepthStrength; // 0.0 to 1.0void main() vec4 left = texture2D(uLeftTexture, vTextureCoord); vec4 right = texture2D(uRightTexture, vTextureCoord); Rating: 4
// Depth-weighted blending float red = left.r; float green = mix(left.g, right.g, uDepthStrength); float blue = mix(left.b, right.b, uDepthStrength); gl_FragColor = vec4(red, green, blue, 1.0);
Create test videos with known depth patterns: Why use it
// Detect external displays for true stereoscopic output
DisplayManager dm = (DisplayManager) getSystemService(DISPLAY_SERVICE);
Display[] displays = dm.getDisplays();
for (Display display : displays)
if ((display.getFlags() & Display.FLAG_PRESENTATION) != 0)
// Present anaglyph on external, original on internal
private void recordAnaglyphVideo()
MediaCodec encoder = MediaCodec.createEncoderByType("video/avc");
// Configure encoder with anaglyph frames from GLSurfaceView
// Save to MP4 file