I was asked by one of the mods to create this thread as a placeholder to merge another post into this thread.

My main reasoning for starting the thread is to explain the wants and needs for multi-projector use with SpaceEngine. There is a whole community of multi-projector sim builders and gamers on the internet in places like WSGF and MyCockpits.org that the SpaceEngine could cater to. At issue is there simply isn't a lot of content out there for circular screen over 180 degrees or dome. I'm trying to promote new sources for that type of content and SpaceEngine seems like it could be a good target source for content as it might end up being a 3D engine development platform for several games in the future. It makes more sense to target the 3d engiens than any individual game, because it'll ensure multiple games would have compatability that way.

Does SE run fine on 3 projectors simultaneously, or should it have some image warper to make smooth transitions between screens?

I'm in the process of setting up one of my screens in the basement right now. I can show you more definitive information on it in about 48 hours or so. I'll make a YouTube video of it's use.

Personally, I have some camera option ideas I'd like to run by you for proper circular screen and spherical screen rendering with independent horizontal and vertical field of view settings in mind. I can do up to 360 degree or dome later if you're interested. My primary interest is 180 degree FOV at the moment though as that's the standard hobby flight sim builder's FOV setup on these type of things.

Be mindful that I often do events with AMD to show off Eyefinity at conventions like CES. If you did something like 360 degree circular rendering or unwrapped fisheye dome options that it could get high press visibility with AMD Eyefinity promotion. I think unwrapped fisheye dome projection with this engine would be awesome in a 20-30 foot diameter dome. If you can make the software happen I can make the hardware happen.

I use NTHUSIM Plus, Sol7 and SimVisuals for pre-warping and edge blending options so the only thing I'd need was for the 3d Engine to just render the proper FOV camera settings. The screen and projectors are already calibrated.

SpaceEngine supports fisheye rendering - choose it in main menu -> settings -> projection. However, this is unfinished and has many issues like graphical glitches and a huge drop in performance.

In my plans - I'll make multi-monitor support and distributed network rendering, ie several computers render their own part of the screen (projector) and synchronize the camera motion with master computer via a network.

Networking multiple machines is not really a cost effective way to implement it. I only see merit in networking for multi-user ship interaction via internet or LAN. I understand why you want to implement it though, because it would be handy to some. At issue though is you add unnecessary complexity into the hardware configuration when using multi-computer. Most enthusiast level gaming machines are capable of running triple-head graphics. There is a whole market of gamers that use triple-head gaming configurations right now. NVIDIA Surround, AMD Eyefinity and Matrox GXM hardware setups. Significantly more than have multiple machines.

I just checked out the preference options in the engine. How most consumer pre-warping utilities work is in horizontal-spans. In order to be compatible with them it needs an "unwrapped fisheye" mode. This would be where the center of the fisheye is the top of the render and it would be rendered in a 360 degree span. Something like above. The "unwrapped fisheye" would be rendered in a standard AMD Eyefinity or NVIDIA Surround triple-head resolution. Something like 3840x800 or 5760x1080.

Here is a NTHUSIM pre-warp configuration that I'd use for a dome. It's using a span of three projectors, 120 degrees per projector. On other pre-warping utitlies I could go up to 6 projectors, but for cost effective interests triple-projector is standard for home enthusiast simulator builders.

This configuration would work with all known pre-warping utilities: Immersaview NTHUSIM Plus, Sol7 Professional, SimVisuals, Immersive Display Lite, Warpalizer and PixelWix. These are all the consumer pre-warping utilities on the market targeted at home consumers.

The link below is an example of a small geodesic dome. It could be scaled to whatever size needed. Notice that some designs have the dome tilted forward to allow for exit in the back and head clearance for the projection so noone is in the projection throw area. Controls to set something like 20 degree tilt would be handy. http://www.worldwidetelescope.org/docs....um.html

If you can add a "unwrapped fisheye" option in I'll make a dome as a proof of concept. The idea behind all of this is the technology is already in place for people to be doing setups like this. It's just missing the content to show in them.

Just an explanation, but one reason why single projector fisheye dome projection is bad is that the pixel size is gigantic with only a single projector. It really needs to be done in multi-projector not to look horrid. Also doing multi-computer makes the setup unnecessarily complex. It's best just to use a single computer for the display span. Single computers pushing 3072x768, 3840x1024, 3840x800 5040x1050 or 5760x1080 are commonplace for multi-dispaly gaming computers. These resolution sizes have been standard for about half a decade now.

There are many more locations for builders, these are just the ones that I frequent. Multi-projector spans several build interest types such as home theater, planetarium, racing simulation, flight simulation and multi-display gamers. The hardware requirements for the machine are pretty common between all builders though. They leverage NVIDIA Surround, AMD Eyefinity, Matrox DH2G/TH2G and/or a combination of those spanning technologies to accompish in-game spanning modes. They then calibrate the screen with one of the pre-warping utilities listed above. Once that is done, if it can play on a NVIDIA Surround, AMD Eyefinity or Matrox TH2G LCD display configured computer it'll play just as well on the pre-warp corrected multi-projector configured computer also.

There are two screen format types that I would like to see targeted in this thread -- Circular Screen and Dome Screen. Both require a different 3d engine camera type than the typical flat screen rendering mode 3d engines normally use. Circular screen is typically an arc of 120-180 degrees, but also you can see 220, 270 and 360 degree variants on flight sims. Dome often is specific to planetarium designed screens and is an overhead 360 degree fisheye projection of some sort. To be compatible with multi-projector there also needs to be the "unwrapped fisheye" camera mode I detail earlier in the thread.

What does the warp utilities do? They captures image from a single 5760x1080 window, split it for 3 projectors and deform images so they will fit each other on the screen? This requires a lot of computing power. And this cannot work with every game, especially with old ones. I know that NVidia cards supports streching a single 3D-accelerated window for multiple screens (with fps dropping caused by increased resolution), so all that's needed in this situation is the ability to set up custom resolution in game. But warping of image by another program drops fps more significally, doesn't it? Is it possible to calibrate projectors to fit their images only by thier optics?

In SE, I thought the correct method is multi-window rendering support. You configure SE to run fullscreen on your three monitors: enter physical dimensions, resolutions, placing, distance or monitor's frame width, etc. SpaceEngine just apply required camera FOV/offset settings for each window (note that you can have different monitors with different size and resolution). For using with projectors, SpaceEngnine will warp and fadeoff each image. I think this system will make SE run faster than simply stretching a window on three monitors and allow the warping utility do its job.

There is no real impact on performance on the pre-warping. Maybe 5fps at most. The video card drivers do the video splitting, not the pre-warping utility. The utility only does edge-blending and pre-warp calibration. I've been triple-head gaming since 2006 and am well aware of the compatabilities of DirectX and OpenGL. Specificly, NTHUSIM is compatable with all DirectX 7-11.1 modes and OpenGL. There are thousands of gamers that use 5760x1080 gaming setups. A rough estimate, but there are probably around 200 people with home triple-projection setups now.

At issue is that people use these setups for more than just your 3d engine. Gaming computers need a universal pre-warping solution so they can play any game they want to. All the 3d engine really needs is just the proper camera setting. This is why it's bad to integrate the screen calibration into the engine itself. Personally, I have around 500 games on my Steam account and about 400 of them work in triple-projection. If every game setup their own triple-projection pre-warping it would be a nightmare to deal with. Noone would want to manually configure thier projection to a proprietary pre-warping format for every single game. That would be a very inconsistent configuration experience for the user. This is why people use a universal pre-warping utility like the ones I listed.

Multi-window rendering significantly drops the FPS. This is a bad problem in simulators like MSFS where you go from 50-60 fps down to 20 if you go with custom windows. In order to keep an optiminum configuration you would use 5760x1080 or 3840x800 in fullscreen mode. This would ensure 100% GPU acceleration using SLI or Crossfire profiles. You begin getting unique with a multi-window setup you break much of the hardware acceleration functionality and driver options and also would not be targeting existing userbase. The operating system needs to see the 3d engine as a single fullscreen render to be best accelerated. This is why existing triple-projection setups rely upon NVIDIA Surround, AMD Eyefinity or Matrox TH2G solutions. Targeting existing standards and userbase ensures success. No need to reinvent the wheel. You would be adapting your 3d engine to better accommodate an existing group of users, not creating a new set of users. Your way of doing it would be targeting a group of people that don't exist yet. It would be much more worth your time to target your multi-display work towards existing hardware users.

I appologise in delay of posting any SpaceEngine pics and video on one of my screens. The Kansas Aviation Museum is having me install a screen at the moment that is taking up my free time. I hope to show SpaceEngine playing on it though. I just built the computer for it today. Might be a bit confusing with a T-33A simulator in front of it though but whatever works.

So, all that's needed from the engine is to be able to set custom screen resolution, and custom camera projection? Resolution can be adjusted in main.cfg config, but SE ignores resolution that exceeds current monitor resolution. I can disable this feature. But I don't clearly understand how it will work. I.e. if I force SE to use 5760x1080 resolution, what will I see on my screen? One third of full image? And how does that split/warp utility work, does it grab image from the game window and hide that window?

So, all that's needed from the engine is to be able to set custom screen resolution, and custom camera projection?

For consumer grade systems (e.g. NTHUSIM) the ability to set custom screen resolution is all that is needed. For a professional grade visuals you want control over the camera's projection and you'll need a professional grade warping system like Sol7. Often in a professional system the rendering is done on several PCs that are network synchronized, but you can also do it all on a single PC so long as you can control aspects of the output. You'll also need to frame-lock the outputs.

Separate unlocked settings for horizontal and vertical FOV are also important too depending upon the projection count and screen configuration. Some people will use two or three projectors to do 180 degrees, some will do 3 projectors to do 225 or even 270 degrees. This is where it's important to have horizontal FOV unlocked from vertical FOV settings.

It's been a hectic last week or so for me. The T-33 sim is up and running at KAM though. I'm free to work on other projects now like experimenting with SpaceEngine. That particular sim is running 2048x768 with two Optoma EX525ST @ 180 degrees. I used to recommend triple-projector for builds, but it's much more cost effective for the entry level consumer to go dual-projector for 120-180 degrees.

I'm just curious to know what the status is of adding distributed multi display capability? I have access to a Liquid Galaxy configuration, which is just a ring of monitors each driven by 1 PC. Space Engine would be a very interesting addition.