nDisplay - How to make a .mpcdi or .pmf file for the projection configuration

I have created a config file for a room with 12 vertical screens all around you. I now need to curve the displays but have not found a way to create mpcdi or pfm file for the [projection] parameters. There is basically no information on the internet for .pfm files or how to create them, and as for mpcdi files, I get that there is a ton of software that uses those files/standard to calibrate the projection images but not a single software to export/create it or something.

So yeah, I’m looking for a way to curve those screens :smiley:

Update:
I have found additional links explaining the mpcdi format (besides the official one)
https://github.com/tvaneerd/mpcdi/blob/master/MPCDI_explained.md
https://github.com/tvaneerd/mpcdi/blob/master/fisheye.md

Another update:
I have been successful at creating a .mpcdi file and also getting a .pfm from the .mpcdi (since it’s just a zip)

What you need to do is go to this link MPCDI Public Download enter some semi fake information and you will get a documentation pdf along with Mersive MPCDI Reference Implementation and Scalable Display Reference Implementation. Extract the Scalable Display one and you should get more documentation and a mpcdi.sln solution. You will need to install Microsoft Visual Studio 2008 as you will have the least amount of trouble running the solution as it was written in 2012-3.

288820-111111.png

Select this as your StartUp Project and run/debug it. You should get 4 .mpcdi files in the Examples/ExampleCreateProfileTypes folder. You can open the files for inspecion simply by changing the extension to .zip and vice versa.

Now, there is a lot of issues you will run into with the extension and I suggest you build from source as that helped me immensely. First thing you should change is the COMPONENT_DEPTH for the image generators to CD_ONE since the default one crashes the editor. (took me days to figure out)

288821-222222.png

Its in the CreateAll.cpp

Even after a week of hustle there is still no sign we will see some documentation for this and god knows if we will ever figure out the .pfm files as that part is still the most crucial for its geometry. Of course I have not been able to solve my problem as my apps are crashing when build and all info i get is that its a index out of range and i don’t know how to debug my nDisplayLaucher run apps :frowning:

Please please please if not for me then for the next people that will try using this, make some examples and write some documentation this feature has been here since 4.20.

1 Like

Hey @Kerber996, we’re you able to get the fisheye distortion working with the MPCDI extension?

Hey there, I did not have any luck using MPCDI files, but i did manage to use PFM geometry files. I created a repository of my generator so you can take a look. If you can’t understand the documentations be sure to tell me here so i put more effort in it. Also, cant you just up the FOV and get that effect? https://github.com/Musaka96/PFM-Generator

I am very thankful for your repo link. But the project doesn’t work for me. I think i set everything up correctly like you desribed, but well I guess thats the problem. When I click start the engine freezes and a couple of seconds later crashes with:

Assertion failed: Module [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Core/Private/Modules/ModuleManager.cpp] [Line: 376] PFMExporter
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_Core
UE4Editor_cppTest4_2378!ATestActor::BeginPlay() [D:\PFM-Generator\Source\cppTest4\TestActor.cpp:40]
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_Engine
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor_UnrealEd
UE4Editor
UE4Editor
UE4Editor
UE4Editor
UE4Editor
kernel32
ntdll

Setup with mesh attached to scene attached to testactor looks exactly like your image on github. I even just tried to use your meshes. Ue version 4.23.1 and some older versions (not really sure which).

hey @KakaoKind, I had the entire engines source code with this project when I was doing it so maybe that the issue, but thankfully there is finally some explanation on video here: In-Camera VFX with UE4 | SIGGRAPH 2019 | Unreal Engine - YouTube i recommend you try that :smiley:

Well I actually did too :smiley:
But thank you very much for the link

Hi

I got to the MPCDI Public Download and got the contents there.
Unzipped the Scalable Display and opened it in VS 2022 that converted it to compatible format. I then tried to Build mpcdi which worked fine. I expected an executable from that but could find “everything” but an executable.
I then tried building the example you mention, but that creates a number of errors.

My first question here is - What should I expect from building mpcdi (the item att the bottom in the “Solution ‘mpcdi’ (7 projects)” window?

Thanks!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.