# Virtual Reality in Cultural Heritage: A Setup for Balzi
## 3 Materials and Methods
### Second Iteration of the Balzi Rossi VR Experience
Additionally, the resolution of lightmaps was reduced from 8 to 4, and dynamic shadows were deactivated, retaining only static ones. Moving to the subject of lighting, Lumen and any form of global illumination were disabled to maintain acceptable performance. Lumen, a new feature of Unreal Engine 5 capable of generating real-time light reflections using ray tracing, is too resource-intensive for VR rendering. As detailed in the official Unreal documentation [18], to generate consistent shadows with Nanite-controlled meshes, these must work in combination with light sources set to \"movable\". Consequently, the level's directional light and sky light actors were configured this way. Planning for a single fixed light source, the sun, and a  
Figure 5: View of the reconstructed staircases that lead to Caviglione and Florestano caves and foliage. First version (**left**) vs. second version (**right**). minimal quantity of dynamic elements, the adopted approach used precomputed lighting, where non-real-time lighting was precalculated. As previously mentioned, for the Balzi Rossi VR experience, a target of no less than 70 FPS was set to ensure a smooth, entertaining view and prevent motion sickness syndrome [19]. After adding and optimizing all landscape elements, setting LODs, and employing Nanite, a problem with FPS and particularly frame time was encountered: average FPS hovered around 60, but frame time was highly unstable, with frequent and noticeable signs of stuttering. After trying various solutions, it was concluded that temporal upscaling, namely, a type of algorithm (temporal upscalers) that performs an analysis of data on previous and current frames and motion vectors to produce an image at a higher resolution than that rendered, was appropriate. Temporal upscalers have the same general operational goal but differ in the methodology by which they achieve it. Both Unreal's proprietary system TSR (Temporal Super Resolution) and AMD's more famous FSR (Fidelity Super Resolution) essentially interpolate frames to generate higher resolution images. In contrast, Nvidia's DLSS (Deep Learning Super Sampling) uses AI deep learning algorithms to upscale frames. Specifically, DLSS employs a pre-trained neural network on thousands of images to learn how to upscale images correctly [20]. Additionally, DLSS's efficiency is boosted by operating on GPU-dedicated AI calculation processors called Tensor Cores. As recently clarified [21], neither Unreal's TSR nor AMD's FSR are remotely comparable to DLSS, which can achieve substantial performance boosts while preserving excellent image quality. For these reasons, DLSS was implemented in the Balzi Rossi VR experience, gaining a stable frame rate in all situations. Following the remarkable results achieved through the adoption of Nanite and DLSS technologies (Figure 6), there was an impetus to enhance and innovate the second iteration of the Wurm glaciation level. It's crucial to note that during the Wurm period, the coastline was significantly lower, estimated at about 2 km from the cliffs. To create a map of such extension, the innovative World Partition (WP) feature of Unreal Engine 5 was employed to maintain a stable frame rate. WP, an automatic data management and distance-based level streaming system, offers a comprehensive solution for large world management. Unlike the previous approach of dividing large levels into sublevels, WP stores the world in a single persistent level divided into grid cells, automatically streaming these cells based on distance from a streaming source [22]. For the cliffs, to provide winter characteristics like snow and less saturated colors, various modifications were made to the mesh material. These included slight desaturation of the albedo texture by altering brightness, RGB values, and saturation, as well as application of the snow on the cliffs using the VertexNormalsWS node in combination with snow textures. This approach maintained the original albedo texture of the cliffs while applying the snow texture only to mesh vertices facing the z-axis.