Next-Gen 3D Graphics
Single-view High-quality AI Reconstruction Pipeline
Overview
MLSharp is a premium macOS application that transforms 2D images into immersive 3D Gaussian Splatting (3DGS) models using state-of-the-art AI. Experience your photos in full spatial 3D with our integrated stereo viewer.
Download
Smart Drag & Drop
The main area supports direct drag-and-drop for various file types:
- πΌοΈ 2D Images (JPG/PNG): Loads the image and prepares for 3D reconstruction. Click "Generate" to start the AI process.
- π¦ 3DGS Files (PLY/SPLAT/SPZ): Immediately opens the 3D viewer to inspect the content.
Quick AI Setup
Prepare the high-performance AI engine with a single click.
1. Open Settings
Go to the sidebar and find the "Download AI Model" button.
2. Start Download
Click the button to download the optimized Core ML model (approx. 2.67GB) directly from Hugging Face.
3. Automatic Setup
MLSharp automatically installs the model in your Application Support folder. Once finished, you are ready to generate 3D content.
Batch Conversion
Process multiple images or entire folders at once using the Batch feature.
Click the "Stacked Squares" icon next to the Settings title to open the Batch Sheet. You can select multiple files, choose an output folder, and manage naming conflicts (Overwrite/Skip) before starting a sequential processing queue.
Viewing Modes
SHARP Mode Optimized for viewing 3DGS generated by MLSharp. This mode fixes the camera to the original capture point, providing the best spatial depth experience.
General (Object) Mode A standard 3D viewing mode where you can orbit and rotate the 3DGS model like a standalone object from any angle.
External Display: Looking Glass, VR Glasses, 3D TV & Projector
Beyond the built-in viewer, MLSharp can drive a second display for real 3D hardware. Two sidebar controls work together for this:
1. Choose a Stereo Format
Pick the format that matches your hardware from the Stereo Mode dropdown:
- Half SBS: Side-by-side compressed to half width β the standard input format for most 3D TVs and 3D projectors.
- Looking Glass: Switches to a dedicated quilt/lenticular renderer with its own calibration, focus and depth controls, for Looking Glass holographic displays.
- Side-by-Side / LR-RL / Anaglyph / Interlaced: For other 3D setups, including VR glasses that accept a plain side-by-side or interlaced signal.
2. Set the Display Target
Once a second display is connected (the Looking Glass itself, VR glasses acting as a monitor, a 3D TV, or a projector), the Display Target picker becomes available in the sidebar. Choose External Monitor to send the rendering full-screen to that display. It stays locked to Main Window whenever no second display is connected.
3. Control From the Main Window
While the model is shown on the external display, the main preview pane keeps working as a remote control: drag to rotate, right-drag to pan, and scroll to zoom, exactly as if you were interacting with the model directly. You never need to touch the external display or device itself.
Navigation
Use your Mouse or Trackpad to explore the 3D space:
- π±οΈ Left Click + Drag: Rotate view
- π±οΈ Right Click + Drag: Pan view
- π±οΈ Mouse Wheel: Adjusts distance to subject in General mode, and FOV in SHARP mode for zooming.
Control Panel Guide
Fine-tune your viewing experience using the controls in the sidebar:
- π Stereo Format: Change the 3D display format (Side-by-Side, Half SBS, LR/RL, Anaglyph, Interlaced, Looking Glass, etc.). See External Display below for driving real 3D hardware.
- β Swap L/R: Swaps the left and right images. (Also reflected in saved images)
- βοΈ Depth Slider: Adjusts the overall depth perception in stereo mode.
- π― Focus Slider: Adjusts the depth (focus) where the left and right images match perfectly.
- π Reset: Restores camera position, zoom, focus, and depth to default values. (Stereo mode and Swap L/R status remain unchanged)
- πΈ Save Image: Saves the currently displayed rendering. To save at high resolution, enter full-screen mode (Enter key), hide the control panel (C key) for maximum display, and press the S key to save.
Keyboard Shortcuts
Enter Toggle between Full Screen and Windowed view
C Toggle Control Panel (Sidebar) Visibility
X Swap Left/Right
S Save Image
Command + Q Quit Application
Looking Glass Calibration
Selecting Looking Glass as the stereo format automatically obtains the calibration values needed for your specific device, in this order: first via the Looking Glass Bridge app (if it's running), then from a previously cached value, and β only if both are unavailable β by asking whether you'd like to select a calibration JSON file yourself (declining falls back to generic default values).
If the calibration ever seems wrong (e.g. after switching to a different Looking Glass device), choose Looking Glass β Clear Looking Glass Calibration from the menu bar to clear the cached value, forcing it to be looked up again next time. (This item is only selectable while the Looking Glass view is showing.)
Quilt Settings & Saving the Quilt Image
Looking Glass achieves its 3D effect by rendering the scene from many viewpoints, arranging them into a grid called a "Quilt", and viewing that grid through a lenticular lens. The Looking Glass menu in the menu bar offers two Quilt-related actions (both are only selectable while the Looking Glass view is showing).
Looking Glass Quilt Settings... Change the Quilt's tile grid (columns Γ rows, each 3β10, defaulting to 7Γ6). More tiles give smoother parallax as you move your viewing angle, at the cost of heavier rendering. Changes apply immediately and are kept until you change them again. Use the Default button to reset to 7Γ6.
Save Looking Glass Quilt Image... Saves the raw, still-tiled Quilt image as a JPEG β before the lenticular composite is applied. Useful for loading into other Looking Glassβcompatible viewers or tools, or just to inspect the Quilt itself.
While you're dragging to rotate or pan the model, MLSharp temporarily renders a lighter 3Γ3 Quilt (9 views) to keep the interaction smooth, then automatically switches back to your configured Quilt (7Γ6 by default) once you stop moving. This means the Looking Glass view will look different while dragging versus at rest (less smooth parallax during the drag) β that's expected behavior, not a bug.
Credits & Licenses
MLSharp builds on the following projects and models. Please review and comply with each one's own license terms.
Sharp (Apple ML Research)
github.com/apple/ml-sharp
Apple Software License Agreement (see the repository's LICENSE and LICENSE_MODEL files) β Β© Apple Inc.
Sharp Core ML Model
huggingface.co/pearsonkyle/Sharp-coreml
Apple Machine Learning Research License (research use only) β an unofficial Core ML conversion of Apple's Sharp model, not affiliated with Apple.
Three.js
threejs.org
MIT License β Β© three.js authors.