Angels in America — visuals for the opera

This angelic appearance is one of the visuals which I prepared for upcoming Angels in America opera staged at UNI.T — Theater der Universität der Künste Berlin, composed by Péter Eötvös and based on the famous Tony Kushner’s play. These visuals will accompany the singers while being displayed on a big circular screen above the stage.

Stage in preparation, during light rehearsal

It’s the first time I am working on aligning digital narrative with theatrical performance, when the fabric of generative video signal feeds on human agency. Although agency abstracted from the daily experience in order to touch the sphere of much older symbols, of religious and mystical provenience. This project gives me joy and satisfaction, because coming from a traditionally Catholic country also means that I am bringing a luggage of religious symbolism associated with emotions so omnipresent throughout my childhood and youth. The deeper these angelic representations are engraved in the brain, the greater perverted pleasure of using them in a transgressive manner. In making an iconoclastic statement which brings back the wisdom of heresy releasing tight corset of the blind and naive orthodoxy. The new iconostasis is born — resurrected Orphic mystery.

The opera is political. It is about the growing self consciousness of LGBT+ movement in States in 80'. Something which is happening now in Poland, my home country. Suddenly tradition, enforced by religious institutions, is questioned as a source of morality in the public discourse. Unlike materialist Marxists from the past, criticizing religion for being unscientific, the rainbow community in Poland is presenting institutionalized Christianity as a source of immorality. Like if the new prophets growing in this tradition came to point out Phariseeism valuing dogma over empathy. I am connected with this movement, through people close to me.

Current Polish right-wing government built own popularity on fear. The wave of refugees coming to Europe gave them a unique opportunity to stigmatize this perfect imaginary enemy. In public discourse the term “refugee” became a synonym of “immigrant” and soon “terrorist”. The ruling party, which name translates as “Law and Justice”, is effectively managing xenophobia omnipresent in the society. Before the previous election it took a shape of islamophobia and was fueled not only by right, but even by centrist and left-wing media in Poland. For the upcoming election in autumn, as the influx of refugees is on decline, the Law and Justice has already identified the new enemy — rainbow flag as the symbolic representation of all the evil coming from everything which is not within hetero norm.

Recently an activist Elżbieta Podleśna was arrested, because she was distributing posters with this blasphemous Virgin Mary, which is a travesty of the most iconic depiction of Mary in Poland. In many regions and communities this icon is worshiped more than the Father and the Son.

I see the work on this project as a tribute to activists — the political dimension is important.

My friends on the first pride day organized in my hometown

But I am also glad to work on the narrative itself, involving conceptualization of complex personas, in their symbolic aspect, reading through the spirit of libretto. And it is all reflected in the code used as a medium of creative expression. I am learning to speak this new language of production: “Scene02OzoneLayer”, “Scene06And14Ethel”, “Scene11And12AngelicSilhouette”, “Scene12AngelicEjaculate”, “CircularProjectionMapper”, “OzoneMixer”, “EjaculateMixer” — some examples of how the code is structured.

Working on such a conceptual level feels more like being submerged in Kabbalist meditation, where math is the code and the code is shaping symbols. Experiencing all these layers of symbols in the same time feels like connecting with the old Gnostic mysticism. Very romantic of me and indeed somehow the power of natural forces, the clouds, not static ones like in works of my beloved Magritte, but dynamic ones, like coming from these romantic genius weavers of steam, like Caspar David Friedrich and William Turner.

Caspar David Friedrich Seestück bei Mondschein
William Turner The Fighting Temeraire

I’ve been coding generative visuals for the past few months, but they are quite specific and they wouldn’t fit every context. I am not that much interested in geometric shapes stamped on the screen, which is a typical way people start working with Processing. I want to sculpt in light. Not through 3D modeling, which is about balancing absorption and reflection of surfaces and ends up in video game like aesthetics. I want to do it through feedback loop systems, which are “alive” and interactive, retaining some form of equilibrium over time. Surprisingly my work fits narrative of the opera. These visuals can be mesmerizing, but subtle enough not to draw attention out of the center of the stage. They can be associated easily with natural phenomena. Usually they are somehow keeping chaos on the leash of this homeostasis emerging from mathematical formulas. Here things are not modeled nor designed, but shaped by the code of complex functions shepherding these entropic forces of randomness. The digital noise of the kinect depth camera is transforming into glitchy silhouette, which turns into feathers, which turns into clouds. Angelism reflects human longing for ultimate freedom. Wings enable unconstrained movement in the vast space and we envy birds for that. Overcoming the gravity makes sinful material body suddenly spiritual, unified with divinity.

Here is the anatomy of this angelic effect:

  • Kinect camera is capturing the depth image, with infrared, therefore it also works in the dark.
  • A shader is extracting the silhouette and putting 2 virtual “walls” in front and behind the person, therefore enclosing the whole scene — thanks to these walls it is possible to appear out of nowhere and disappear into nothingness.
  • Another shader is extracting the contour of the silhouette. It is using a very simple trick to avoid detecting edges. It was enough to upscale the silhouette and the texture interpolation is providing the edges with this formula: contour=1-abs(silhouette-.5)*2
  • In the heart of this effect there is a feedback loop, taking the previous frame and extracted silhouette as an input. The previous frame is drawn with very complex offset. It takes into account: dispersion from the center but exponential on the edges of what’s visible, circular fluctuation of the center to avoid floating point precision artifacts, radial shift of red and blue color channels depending on luminosity of the previous pixel — this gives the blueish and yellowish tint and also the illusion of three dimensional depth of emerging clouds. Such a prepared new frame gets slightly more luminosity and acts as a background for the most recently captured silhouette, which gets filled with blackness and is “stamped” on top.

Most of the code is written in GLSL and glued together in my favorite creative coding framework — OPENRNDR. In the previous story I described the reasons behind this choice.

It all wouldn’t happen if not for Iris Christidi, who is not only designing the stage and therefore offered me participation in this project, but who also performed as an angel, becoming part of the homeostasis of this hybrid of humanly analog and machinally digital narrative.

hairless running ape, translating ideas into creative code, in post-human culture

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store