Production
Preproduction
As part of an operational military facility, Block 15 and the surrounding spaces associated with the production narrative are not open to the public. As such, special permits apply to visit the site and most digital content captured cannot be directly published or be part of a digital production. Both facts significantly hindered our work and limited the digitized visual resources we could introduce to the production.
Perhaps our biggest challenge was that, for the production of a predominately visual experience, most resources were either recorded testimonies of captives or scattered and heterogeneous non-visual data (e.g. rough sketches, Red Cross register entries). Coupled with the extensive renovation of the military camp and the Block 15 building due to the change of function of the spaces, this left us with little hard evidence to work with for the visualization of the site at the reference period. Although basic structural information remains mostly intact (particularly for the Block 15 building), interior details such as electric cabling, as well as the function of particular rooms and the appearance of other utility buildings now demolished, can only be extrapolated from similar military camps of this era.
Since the intended audience of the production includes youngsters but also people with varying tolerance levels to violent content, we had to avoid blunt brutality and offending visuals, without however suppressing facts and diminishing the grim atmosphere, inhuman procedures and desperate psyche of the prisoners. Violence had to be “felt” rather than “seen”.
3D Site Reconstruction
Block 15
The most important building and the first to be reconstructed was Block 15. According to historical sources, during the reference period of the project, the building was deliberately kept in poor condition, in order to exert greater psychological pressure on the prisoners. The condition of its exterior was reconstructed based on the closest-to-time-frame photographs available in the available archival material.
Although there were no drawings of the building, it was possible to dimension the exterior and interior of the building from on-site measurements. Testimonies, old photographic material, sketches and an autopsy of the site allowed us to isolate later interventions in the structure of the building and to approach the form of the building in the target period, with sufficient precision.
For the representation of the interior, both modern photographs and testimonies were used, as well as material from camps with similar use. The latter was particularly useful for the representation of details such as electrical installations etc.
The Kitchen
They are one of the points of interest of the script, as several of the dialogues take place there. Unfortunately, the building is not preserved today and its modeling was based on sketches (mainly in terms of their location in the camp). Similar areas of other camps for which there was photographic material were examined and testimonies regarding what was already being prepared, their typical operation and the routine of those who worked in the kitchens were taken into account.
Prison Cells
The common and isolation cells of Block 15 survive today and it was possible to represent them accurately. For the cells and chambers of the other buildings we had no plans or descriptions, apart from a few very rough sketches and proceeded to model them based on cells of other camps and the spaces of Block 15. The contents of the cells and the personal effects of the prisoners were modeled on the basis of the testimonies that exist and the historical data.
Concentration Camp
The current state and layout of the Haidari camp does not bear much similarity to the those of reference period of the scenario. There is little evidence remaining, as several buildings were demolished, restructured or expanded. The same applies to the perimeter of the old camp. For the representation of the outdoor spaces, we relied on sketches and post-period photographic material.
Character Modelling and Animation
The various characters in the production were modeled in multiple resolutions in terms of the number of polygons, depending on the scene in which they participate and the viewing distance. For texturing, hand-painted images were used based on photographs, archival material and historical data.
To make animation manageable for crowded and heavy scenes in terms of polygon count, apart from typical skeletal animation of rigged characters, we also applied more lightweight rigs of 2-3 bones to characters that were not required to move a lot, such as idling people and people that only noded or perform minor movements.
Voice Acting and Sound
Throughout the production, we hear the various characters conversing with each other, while our "guide", Nikos the cook, contributes to informing us with comments and observations in almost every scene.
The voices were recorded based on the script's dialogues and testimonies, and the actors were filmed in order to allow the animators to synchronize the speech with the movement of the lips of the composite characters.
Even in the deserted areas of the camp and scenes where prisoners are forced to stand in silence, sounds are constantly heard: from the hum of the kitchen ventilation and the sounds of the natural environment to the cries of anguish and pain behind the closed doors of the cells. All these sounds compose a complex canvas that had to be reworked in detail to make the VR experience believable and immersive.
VR Application Development
The final production was developed in the Unity game engine (version 2022.1) and we targeted Meta's Oculus Quest 2 as the deployment platform. All interaction with the environment is based on the direction of observation of the head, so that no special familiarity with controllers is required, although they are supported, for those who are accustomed to using such devices.
The production was no developed linearly, according to the script, but priority was given to scenes of historical significance and to tasks related to the work as a whole (reconstruction of spaces, dialogues and testimonies, etc.).
Each point of interaction or pre-scripted plot action for each scene was planned based on the script, so that a state transition graph could be laid out, based on the various events of the interaction.
Special Real-time Rendering Techniques
Since the capabilities of the targeted VR platform (Oculus Quest 2) are those of a typical mid/high-end mobile phone, using many dynamic lighting effects that would lend high realism was prohibitive. In addition, in order to keep the refresh rate of the virtual reality headset at acceptable levels for comfortable use, the number of polygons to be drawn in each frame had to be significantly reduced (<90000, in total across all rendering passes of the frame). In some scenes, this limitation contrasts with the requirements of the script, where multiple buildings and characters must be displayed simultaneously, significantly exceeding the acceptable polygon count.
Viewing-angle-based mesh simplification
To reduce the load of polygons emitted for vertex and primitive processing, even before being submitted for frustum culling, models were simplified in advance and entire polygons clusters were removed depending on the expected viewing angle, even for moving models, such as characters, therefore drastically reducing the number of polygons.
While for distant objects this could be achieved by replacing geometry with an image proxy (image-based rendering, see below), in close-ups, this would not work, as our perspective, motion and stereo depth perception would immediately make the lack of depth variation evident. In many situations, for the deletion of polygons we also took into account the partial occlusion of objects behind others. While this can (in some cases) be applied computationally (occlusion culling), such an effort on devices with relatively low processing power would not be efficient.
Fake dynamic global illumination
In scenes with intense lighting changes, such as the example shown in the following image, it would not seem realistic to pre-compute indirect light, a technique common in real-time graphics for games. For this purpose, a simple computational method was developed and applied, which simulates the diffuse reflection of light by placing and modulating virtual light sources on the surfaces the direct light scatters on (here from the prison guard's flashlight). For details please see G. Papaioannou, Approximate Dynamic Global Illumination for VR, Virtual Reality 29, 54, 2025.
Image-based rendering
The display of multiple models with a relatively complex geometric representation, such as a crowd of people or vegetation, puts a significant burden on the GPU, dramatically lowering the refresh rate. A well-known solution to this problem is to replace three-dimensional models with a pre-computed image with a transparent mask (image proxy). In fact, this solution also works for moving objects. The farther away the model is, the harder to notice this substitution becomes.

