2.5 - 180°-visual

Any issues, problems or troubleshooting topics related to the Prepar3D client application.
HLFS
Posts: 15
Joined: Sat Jun 02, 2012 6:50 pm

Post by HLFS »

Hey everyone,
I'm trying to get Prepar3d 2.5 running with a 3-projector-System spanning a cylindrical 180°. I tried several solutions, most promising seemed to be creating 2 multiple views with the custom camera engine, with a overriden HFOV of 90° and a VFOV of 60° and an ofset heading of 45° left/right. Questions here; this has the problem that:
-I get a sharp border in the middle because the clouds are not syncing up; as soon as I modify the pitch in both cameras, even if the pitch is
synchronized - it seems as if the camera inherits an aditional roll translation? (the pitch modification is needed as I need to adapt the view pitch to our visual)
-When I load up a new flightmodel to simulate a different payload, the whole camera configuration gets f... up and the views are not restoreable.
-The "main camera" gets reset every time I save and restart Prepar3d.

If I only take one camera with a HFOV of 179° and a VFOF of 60°, the whole image is distored towards the center like hell; everything is focussed into the center of the image, so that the runway is only a few centimeters wide, but a tree on the side of the runway fills half of the projection in width.

I dont care about the cylindrical projection, blending, etc. This is all done externally. But in my opinion, P3d has to deliver the 180° as a warpable 2d-output which can be picked up by some warping software.
What is the current intended/supposed way to create a true 180°-visual in P3d (no matter with more than 1 or only 1 projector)? (As this is a commercial and training product, I'm sure there's something I'm missing?)
Best regards,
Niels Wittje
MartinB
Posts: 14
Joined: Wed Jul 11, 2012 8:14 pm

Post by MartinB »

Hi Niels,

Which external warping are you using?

You normally achieve such projection with multiple camera windows in P3D. But observing your business, I am sure you are familiar with this? And yes you would need to pitch the "cameraview" to adjust the horizon to the eye point...and yes you cannot just do the the same movement in both views, because of the warping you need to adjust accordingly, complicated to calculate yourself I guess.

Martin
User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

Neils,

I have just tried your settings (HFOV of 90° and a VFOV of 60° and an ofset heading of 45° left/right) on my laptop and the scenery and clouds mesh perfectly. Saved as default and then switched aircraft with no problems. This is on a 'Vanilla' installation of P3D, ie no additional scenery or weather packages, but I do have my own aircraft and switched to those as well as the standard aircraft. In each case the outside view still remained meshed. Consequently I don't think there is anything inherently wrong with the Custom Camera User Interface. are you running 3rd Part add-ons for Weather and/or Scenery which may account for the problems?

Jim

Here we are at Seattle, Scenery and Weather mesh OK but you can see the 90 degree shift in perspective at the centre


Pitch and Bank to show image still meshes


Change Weather to show Weather still meshes


Move to EGOS where I have a Scenery 'Protractor' to check FOVs. Have both windows in Outside View and Top-Down


Change Windows to 'Left' and 'Right' and you can clearly see the 180 degree FOV and Scenery meshes OK
(Obelisks at 90 degree separation, Stars & Stripes Flags at 10 degree separation, Heraldic Flags at 45 degree separation)


User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

Neils,
when implementing Multiple Views I would always use an odd number (3 or 5) rather than an even number (2 or 4) to avoid having the join between views in the straight ahead position.



Jim
HLFS
Posts: 15
Joined: Sat Jun 02, 2012 6:50 pm

Post by HLFS »

Hello everyone,
first thank you for the answers. To answer JanL's questions:
-warping-testing with the commercial version of FlyElise
-the visual was done manually by an external company until now with Prepar3d v1, but the upgrade to v2 is now my task.
-It is a fully vanilla 2.5-installation on a Windows 7-PC.
In the end, it will be in fact a 3-projector-visual.
Jim, your pictures look nice - but what happens now if you adjust the pitch of the two cameras by lets say, -10°? Are they still syncing up?
(And has anybody any idea how I can clear out every camerasetings without having to reinstall the whole product? To avoid that I have accidantly messed up something which now interferes...
Is this the way you all would build a >150°-Visual, with multiple cameras?
Best regards, Niels
User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

Niels,

I'll try an initial pitch of 10 degrees and see how it goes!

Jim
User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

Niels, you're correct Pitching the camera does require a Roll offset, which makes sense as we are not dealing with Planar Geometry we are dealing with Spherical Geometry. A pitch of 10 degrees seems to require a Roll of between 5 and 6 degrees with the 90 degree FOV. I've managed to get very close with a very quick bit of trial and error.

Jim
User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

Unfortunately although it is relatively easy to setup a Static View, as soon as you start to fly and introduce pitch and Roll the image no longer meshes perfectly. How important is the need to have your initial camera pitched down? With zero camera pitch the images continues to mesh when you're flying.

Jim
User avatar
Beau Hollis
Lockheed Martin
Posts: 2452
Joined: Wed Oct 06, 2010 3:25 pm

Post by Beau Hollis »

You could try using MultiViewDisplay, GridX, and GridY in the camera definition. Enabling MultiViewDisplay and setting the grid x to 3 for example should auto-create a view on your 3 monitors/projectors that line up. That setting isn't used by many customers, so we don't do much testing with it, but it's worth a shot. Another option would be to try assigning your cameras a LinkGroup in the camera definition. You can create 2 or three instances of a camera with a link group set and then turn on linking to make them move together. I think linked cameras will apply the offsets correctly with regards to pitch as long as you set up your initial offsets so that the things line up. Finally, though not preferable I would assume, you can write a PDK plugin to control your cameras via C++. The Oculus plugin is a good example of this.

As for rolling back your changes, if you modified the application level Cameras.cfg and Prepar3D.cfg, you can simply rename or delete them and defaults will get generated. Camera offsets and custom cameras created in-app are saved into your flight file, so you either need to make a new flight, or modify the xml to remove the camera changes. If you still have issues you can follow the patch instructions for deleting Prepar3D generated config files, to get back to a clean state (as long as you didn't modify camera definitions for a base aircraft/simobject).
Beau Hollis
Prepar3D Software Architect
MartinB
Posts: 14
Joined: Wed Jul 11, 2012 8:14 pm

Post by MartinB »

Niels, Jim,

As I said, you cannot just pitch the separate views, it is more complicated than that, besides you have to take the overlap in account etc. Since you use FlyElise I would suggest using Calibration PRO, this can take of the calculation for you.

I use the same setup, 210° cylindrical, had to lower horizon to get correct view. Pitching for correct horizon, sadly induces some black at that far ends of your screen, you can get rid of this by correcting your fustrum, not ideal however. Again Calibration Pro let's you do this.

The suggestion of Beau looks interesting, never used it myself since, not sure however how it would handle when you are overlapping the views.

As Beau said the camera definitions are saved in a the flight file. To use them in another aircraft, save a flight with that new aircraft and copy the camera definitions from your correct flight file (XML) to the latest aircraft file.

Sadly, because of the resolution and the absence of syncing up different PC's to accomplish this, the decrease in FPS is massive. For normal training purpose you would able to live without all the fancy visual elements and get the min of 30fps, still it is a shame. On the other hand, the warping is done at a very low price compare to using dedicated hardware or in-projection solutions.

BR



HLFS
Posts: 15
Joined: Sat Jun 02, 2012 6:50 pm

Post by HLFS »

Hey all,
the pitch modification is necessary as simulator and projection system is static and not aligned in a way that the "default" horizon height is the correct view angle out of the flightdecks.. Btw I decided I will test for now on another simulator which uses only two projectors for avaibility reasons, so do not wonder if I now only talk about two views.
MultiViewDisplay is a promising concept. However, this only works if you have the projectors as multiple single displays; but for a warping software like FlyElise, one has to use a single display solution like the mosaik/surround feature of nVidia (or probably a THTG from matrox)... Or does someone know a warping software which can work with single displays? (I tried it with the group feature of Immersive Display, but the warping settings were not used when the GPU switched into 3d mode (Prepar3d); instead, I got the warping of the two displays ON EACH PROJECTOR. Or can I force MultiView somehow to split a single screen into the grid? Btw, what Angle ofsets does Multiview use? How are the FOVs of multiview generated, etc?
Link group - I'm not quite sure I did this correctly. I created two cameras in the camera config with the correct offsets, FOV and added "Linkgroup=1" at the end of each camera. I then created a second view with the right camera (left camera was the main view) and positioned them beside each other. The result was similar to creating two custom cameras with offsets, wild cuts in the middle. Is there any demo example available where the linkgroup feature is used? I only found bits in the camera configuration help.
Jan, how exactly did you create you setup, what multimonitor features are you using, how are you config files looking? Could you be so kind and share them? How would calibration pro help? I could only imagine you are talking about the FlyElise Designer Software? (I remember having seen an advertisement for it where the promised they could create Prepar3d config files?)
FPS decrease is, as you said, currently no problem, I will work around that later.
Sorry if I ask this again, but what is the current intended way of LM for a multiview visual...?
Best regards!
MartinB
Posts: 14
Joined: Wed Jul 11, 2012 8:14 pm

Post by MartinB »

3 x HD on 210° screen.
P3D full screen over 3 projectors (GPU with nVidia Surround on), widescreen setting on
Designed screen and projector setup with Immersive Designer Pro
Setup projectors (fustrum, zoom, etc) and calibrate the warping (blending and geometric correction) with Immersive Calibration Pro, when finished it can then output the correct XML for P3D with camera settings for 3 separate views. Also a correct configuration file for Immersive Display Pro is output.
Replace the camera settings in your flight file with settings from the XML.
Start Immersive Display, load your correct calibration file for multiple views (as opposed to signal view - eg to warp your windows desktop)
Start P3D, load your flight, and warping with Immersive Display Pro will give you borderless multiple view warped P3 view!

Unfortunately you cannot do the calibration with P3D running and see the updates in realtime, so you have to guess a bit how many degrees you need to tilt the camera view. You have to repeat the Calibration Pro step, output new XML, then change again in flight file, etc... a bit cumbersome but workable. Maybe there is another way, or is it done differently, easier or quicker with other software, but with this software suite, this is the way it can be done.

Did FlyElise do your setup the first time?

User avatar
jimcooper1
Posts: 715
Joined: Fri Jan 21, 2011 3:37 pm

Post by jimcooper1 »

You could try using MultiViewDisplay, GridX, and GridY in the camera definition.

Unfortunately setting "MultiViewDisplay = TRUE" causes InitialPbh to be ignored

Jim
fox956
Posts: 9
Joined: Fri Nov 22, 2013 8:22 pm

Post by fox956 »

Hi,

I am watching this topic closely as I have a 180 degree projection setup also. Running 3 projectors on a curved screen using a GTX 970 with Warpalizer. So far, I haven't had much luck in figuring it out.

Larry
HLFS
Posts: 15
Joined: Sat Jun 02, 2012 6:50 pm

Post by HLFS »

Hey,
FlyElise did not do any setup, we are currently using warpalizer v2, but this is not possible for Prepar3d v2 due to Dx11 usage, and a Warpalizer Upgrade would be way to costly, so we are experimenting with FlyElise.
Jan, I put my hands on a FE-designer pro license and currently am experimenting with your way. Question, do you have any idea how to get the correct camera views for a not completly cylindrical screen? FE calib pro tells explicitly in the manual that camera export is only possible for perfect cylinders... currently working on that setup, but my license dongle is now with another technician until tuesday, so I will have to wait until then with further testing with FE, probably.

Jim, the problem with MultiViewDisplay is not only ignorance of Pbh, but especially that this only works with multiple single monitors, which is inhibitive for nearly every warping solution I know; they all need one single virtual screen per rendering client, so MultiView is in this regard sadly, nearly useless, even if it looks most promesing; perhaps this could be something for v2.6?

Larry, did you have any warping software running until now, or any older solution? Or is this a complete new topic/project?

Fly safe
Locked