Is there anyone who is interested in real-time panorama rendering and can help me?

The current progress is as follows :

panorama-animation
(FOV 200°)

By aligning three cameras horizontally and performing per-camera rendering to a single set of G-buffers, seamless rendering results are achieved by executing fullscreen post-processing only once.

Applying a Panini projection, taking into account the screen being divided into three regions, provides a natural wide-angle image.

The source code is as follows :

https://github.com/SAM-tak/UnrealEngine/tree/feature/release/5.2.0/partial-multi-view-rendering

At first glance, it seems to be working well, but there are some problems that I can’t solve by myself for a long time.

  1. Temporal AA is not functioning properly. Jaggies can be seen in the side view, and the screen flickers.
  2. Some form of lighting is not working correctly in the side view. It is likely that the lighting’s influence is based only on the front view.
  3. Frustum culling is not working properly. When the view point changes, there are frequent moments where nothing is rendered near the camera boundaries.

I would like to receive advice as I haven’t been able to achieve the desired results with Temporal Anti-Aliasing, mainly because I have been mechanically replacing the ViewRect without fully understanding what it does.

2 Likes

panorama-animation-2
Oops…
It didn’t go as well as I thought.

1 Like

panorama-animation-3
I was able to fix the issue with the stretched clouds being displayed.
However, I haven’t been able to fix the abnormal shadows and the black side view.

1 Like

Way beyond my skillset so I can’t help, but it looks awesome and I hope you can get it working, I’ve wanted something like this in Unreal for ages

1 Like

https://github.com/SAM-tak/UnrealEngine/blob/feature/release/5.2.0/partial-multi-view-rendering/Engine/Source/Runtime/Renderer/Private/VolumetricCloudRendering.cpp#L1698

// TODO Make it work for all views

Oops, is this causing it?

Based on version 5.3, most of the issues could be resolved.

However, I’m wondering if it might not be necessary to stick to the approach of rendering these three cameras into the same G-Buffer and performing panoramic rendering in a single post-process. It might be sufficient to render the side cameras off-screen and use alpha blending to make the seams less noticeable.

https://github.com/SAM-tak/UnrealEngine/tree/feature/release/5.3.0/partial-multi-view-rendering

panorama-animation-4

2 Likes

Great work. I’m curious if Unreal Engine supports native real time cubemap rendering. I would imagine they might have addressed the outstanding issues in their native solution?

1 Like