About NestMap

NestMap is the missing piece the fulldome community has been waiting for! This very small and simple piece of code has two main functions: automatically calibrate your dome projectors with a compatible webcam and process real-time slicing and blending of a Spout domemaster video stream. All of this with two clicks of a mouse! Using the most recent Windows 10 embedded DirectX libraries, it provide high performance and compatibility with the most recent computer systems. Dome mapping is now accessible to everyone, with the most simplified way.

Performance

Calibration
⇒ Calibration time : ~15 seconds per projector

Playback*
⇒ maximum tested resolution : 4k (4096x4096) @ 60 fps
⇒ maximum tested projectors : 12 x 1080p

*Using a NVidia GTX1080 video card

More Details

How to use it

⇒ Connect any compatible camera with a fisheye lens to the computer (USB, Ethernet, hdmi, etc.)
⇒ Start the NestMap program. (It will automatically detect your projectors)
⇒ Select the correct calibration camera (if you have more than one connected)
⇒ Press "Auto Calib" button and wait the magic!

Once finished, you can save the configuration and adjust the horizon height and Zenith position.

Ready to Play? Just click on the "Spout Play" button to activate the video sharing between NestMap and any compatible video player.

Tutorial

Here a 7 min video tutorial showing the mains functions of NestMap for a good Start.

Nestmap tutorial

Available now

Commercial version of NestMap is available at only $799 per PC. The License and demo* accept unlimited projectors and resolution.

Have a doubt ? Try our Demo version here.


* The DEMO version cannot save calibration files and have watermarked outputs

FAQ

Calibration tips

⇒ You need a camera who can be used as a webcam with a DirectShow driver.
⇒ The camera should return an image of your screen who look as much as possible as your video format. For example, if your video represents a dome in a fisheye format, you need a camera who see the entire dome screen with a fisheye lens.
⇒ Here are some cameras we know work for dome calibration:
 → Kodak PIXPRO SP360 4K
 → Canon Rebel T6i + Sigma 4.5mm lens
 → Nikon D700 + Sigma 8mm F3.5 Ex DG
 → IDS camera GigE ueye CP + FUJINON fe185c086ha lens

Canon and Nikon camera come with a proprietary driver and they are not listed in DirectShow devices. But you can use a third party software like Sparkocam to get an HD video of your DSLR when you select "Sparkocam Video" in NestMap.

You should then enable the option "Detect hardware mask" in NestMap settings. NestMap will project a white square on each projectors to see any occlusion and compute the blend based on this picture. You can see the result in the MyDocuments/NestMap/CalibPic folder.

If you want to know where a projector in the list is projecting on the screen, you can hold the left mouse button on this particular projector and a red stroke will be showed. The thickness of the stroke is also the minimum recommended blend surface between projectors.

Once the geometric calibration is done, you can fine tune the brightness and blend parameters. The best method is:
1. Project a pure white image
2. Adjust the brightness of each projectors with sliders in NestMap settings to get uniformity over the center of all projectors
3. Adjust the "two projector crossing" slider to adjust the blend where two projectors overlap
4. Do the same for the three and four projectors blend slider
5. You can test different solid colors for consistency

For blend calibration, you can use one of the predefined solid colors by right click on the Grid pattern button. Those colors are especially chosen to magnify most blend defects.

Once the calibration complete, you can use mouse scroll and keyboard to adjust the grid to cover the entire screen.
1. Use keyboard arrow to move the grid center on the center of the dome
2. With the mouse over the grid preview, use Ctrl+Mouse Scroll to adjust North and South horizon height
3. If needed, use Shift+Mouse Scroll to stretch in East-West direction
4. Finally, use Mouse Scroll to rotate the image to get the North position in front of the dome

  Note: Holding Alt give you a 10x turbo speed on all adjustment. If you can't correctly adjust the horizon while the grid is centered, maybe the calibration camera was not placed in the center of the dome.

TroubleShooting

This could happened for few reasons:
⇒ The dot pixels don't reach the minimum light threshold (~ 10%)
 → Check if the projector brightness is high enough
 → Check if you can increase the camera sensibility
⇒ The ambient light is too high
 → Keep ambient light as low as possible
⇒ The camera resolution is too small
 → The min. resolution is 1080px, but 2048px or more is recommended
⇒ Be sure that most dots are visible from the camera
 
  Note: You can see the last calibration pictures in the MyDocuments/NestMap/CalibPic folder. NestMap place a + where Dot are detected and this could help to diagnose calibration problems.

If you have dots over an object that is not part of the screen, you can disable those dots by:
1. Activating the camera view, this will showup all dots.
2. With the mouse, navigate through projector's screens and click on dot you want to hide (they should turn red).
3. Disable the camera preview and start a new calibration. NestMap will interpolate the missing dots.
Green dots are important and cannot be hidden.

If you get correct blend with pure white, red green and blue, but not with Dark Orange, Sky Blue or Purple, this is mostly caused by the projectors color mode. Try to change parameters in projector like use the "cinema" mode, disable Eco or dynamic brightness, white temperature, etc…

Sometime it's just impossible to have a perfect blend for all colors with some projectors. In this case, adjust the blend with a bright still frame of your main movie to get best result.

This could happened for one or many of those reasons:
⇒ Some display driver uses the "limited color space" by default, which restrain RGB values between 16-235
 → Change the color space to "Full 0-255" could help
⇒ Some projector technologies have higher black level than others
 → Try to fix it by changing projector settings, but maybe consider another kind of projector
⇒ In NestMap V1.0.0.6 and above, you can use the "Black level adjust" slider if all other solutions are not enough.

NestMap can only use Spout surface compatible with DirectX9. If you have this message, this mean that the Spout sender used a DirectX11 surface with a color space who is not retro compatible with DirectX9.

Try to use the color format DXGI_FORMAT_B8G8R8A8_UNORM. If your project is in Unity, you could use this edited KlakSpout unitypackage who is already in this color format.

This message is popup by the Spout library and mostly occurs when the Spout surface is created on another GPU than where the main monitor is connected. If you have more than one GPU, please declare one of the device connected to the GPU you are using for the Spout sender as the "main monitor" in Windows settings.

Performance tips

No matter the brand, those are the top caracteristics:
⇒ Low Black Level
⇒ High color brightness (brightness in cinema mode)
⇒ Good linear color space
⇒ Use all identical projectors with the same lamp aging
⇒ Place projectors evenly around the dome
⇒ Choose projector's lens to have blends of at least 20 pixels wide

The high efficiency of Spout and NestMap warping and blending algorithms are optimized when only one GPU is used. The data transfer between multiple GPU can bottleneck the performances so we don't recommend it.

To use more than four projectors, use 4K video splitters instead. NestMap will consider 4K (3840x2160) outputs as a 2x2 HD projectors array by default. You can easily connect three 4K video splitters on a modern NVIDIA card giving you 12 HD projectors with a single GPU.

For the reason mentionned in the precedent point, we don't recommend this setup. But here are some tips:
⇒ Declare as your main monitor a device connected to the nearest GPU from your CPU
⇒ It's better to connect most projectors on the first GPU to have less data sharing between GPUs
⇒ You can check the "Offshore" option in NestMap settings for projectors who are connected to the second GPU to optimize the video sharing.

You can use one of the projector as the main monitor to save a video output if you don't need it during the event. Just check the option "Main monitor is a projector" in NestMap settings.

We don't recommend this setup but follow this procedure to do so:
1. Declare one of the projectors as your "main monitor" instead of your real monitor screen
2. Start the Spout Sender and NestMap Spout Play while they are still showed on the main projector
  (if not, you get a « OpenGL can't create context » message)
3. Once Spout started, drag NestMap and the sender software onto your real monitor
4. To get more fps, minimize or resize NestMap to hide the video preview

It's a good practice to check your CPU and GPU load for all applications running during dome setup. If GPU load reach 100%, maybe consider reduce the resolution, fix the frame rate at 30fps or consider a bigger GPU. If FPS is low and the GPU load is not 100%, there is maybe a data transfer bottleneck somewhere.

Resolume can use the Window vertical sync signal if enable in the driver's settings. If not, it can free running to very high fps and waste precious resource.
Try to enable the vertical sync or limit the fps in Resolume composition setting to match with your video frame rate to get a constant fps.

NestMap always use the Vertical sync from the Windows driver.

Contact us

Address

1473 rue Évangéline
Sherbrooke, QC, Canada
J1H 5Y7

Phone

Mobile: 1-819-574-3766
 
 

E-mail Address

info@nestimmersion.ca
 
 

Facebook

facebook.com/nestdome
 
 

Follow us