Skip to content

Creating Spatial Images

This tutorial will guide you through creating and displaying spatial (stereo) images in JSAR, allowing you to create immersive 3D visual content using standard HTML.

Step 1: Prepare Your Stereo Image

First, you need to prepare a side-by-side stereo image. This should be a single image file containing two views:

  • Left half: Content for the left eye
  • Right half: Content for the right eye

The image should have a 2:1 aspect ratio (e.g., 800x400 pixels).

For this tutorial, let's assume you have a stereo image named landscape-stereo.jpg.

Step 2: Create Your HTML File

Create a new HTML file with basic spatial image display:

html
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Spatial Images Demo</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      padding: 20px;
      background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      color: white;
    }
    .container {
      max-width: 800px;
      margin: 0 auto;
    }
    .image-section {
      margin: 30px 0;
      text-align: center;
    }
    .spatial-image {
      border: 3px solid #fff;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1>Spatial Images in JSAR</h1>

    <div class="image-section">
      <h2>Regular Image</h2>
      <img src="regular-photo.jpg" 
           style="width: 400px; height: 300px;" 
           alt="Regular photo" />
      <p>This image displays the same content to both eyes</p>
    </div>
    
    <div class="image-section">
      <h2>Spatial Stereo Image</h2>
      <img src="landscape-stereo.jpg" 
           spatial="stereo" 
           class="spatial-image"
           style="width: 400px; height: 200px;" 
           alt="Stereo landscape" />
      <p>This image shows different content to each eye, creating a 3D effect</p>
    </div>
  </div>
</body>
</html>

Step 3: Understanding the Behavior

In Stereo Mode (WebXR/Immersive)

  • Spatial images: Left half displayed to left eye, right half to right eye
  • Regular images: Full image displayed to both eyes (unchanged behavior)

In Non-Stereo Mode

  • Spatial images: Full side-by-side image displayed normally
  • Regular images: Normal display (unchanged behavior)

Step 4: Testing Your Spatial Images

  1. Test in JSAR Environment: Run your HTML file in the JSAR runtime to see the full spatial effect
  2. Test in Regular Browser: Verify that spatial images display as regular images (fallback behavior)
  3. Test Different Stereo Content: Try various types of stereo images to understand the effect

Step 5: Best Practices

  1. Optimize Image Size: Spatial images contain twice the visual information, so compress appropriately
  2. Align Content: Ensure left and right eye content is vertically aligned
  3. Test Parallax: Use appropriate stereo separation for comfortable viewing
  4. Provide Fallbacks: Always test how spatial images look in non-stereo mode

Summary

You've learned how to:

  • Create basic spatial images with the spatial="stereo" attribute
  • Add interactive JavaScript functionality
  • Handle dynamic spatial image creation
  • Test and optimize spatial image content

Spatial images in JSAR provide a simple yet powerful way to add 3D depth to your immersive applications using standard HTML elements.

Apache 2.0 License.
Built with ❤️ using Trae 2.0.