Pixotope Engine vs Unreal Engine
Although Pixotope Engine is based on Unreal Engine these two are not the same. We are not only changing the visual look but also heavily modifying the rendering pipeline. Our aim is for the Engine to work with video inputs and outputs to produce the desired compositing effects. We are trying to keep our scene design experience similar to UE (so that artists familiar with UE will have no problem working in Pixotope Engine) while simultaneously making it easy to use in virtual production environment.
Performance
Because we are adding unique features to our engine it means that there will be some overhead compared to Unreal. As a result comparing those two is not straight-forward.
Here are some of the things that may contribute to observable differences between Unreal and Pixotope:
Pixotope Engine has some essential actors that will be present in all persistent levels. One of those is
PostProcessHandler
which is an unboundPostProcessVolume
. However because that class is unique to Pixotope it will not load in Unreal, in case someone tries to open a Pixotope project with it. Any settings set onPostProcessHandler
won't apply in Unreal and this will make it seem that Unreal is much more performant. Manually apply your settings from Pixotope’sPostProcessHandler
to Unreal’sPostProcessVolume
to have a more fairly comparable scenario.Another essential actor present in Pixotope is
TrackedCamera
. This camera will be used as default view point when playing the level. By default, when no tracking is present, this camera has quite a wide FOV, which means it sees a bigger part of the scene than default cameras in Unreal. When comparing scenes between Pixotope and Unreal make sure that similar camera settings are used.For correct compositing Pixotope uses custom depth. It is used to differentiate different object types. By default all components will use custom depth which will lower the overall performance. If necessary custom depth can be disabled for actors that are not interacting with compositing planes. It is also possible to disable custom depth for all components using project setting
UseCustomDepthByDefault
. In that case it will be necessary to set custom depth for any actors interacting with compositing planes.To achieve the best compositing result we are also adding additional rendering passes in translucency, light/shadows, reflections and post processing. This should be negligible compared to overall rendering, but is worth mentioning.