Cali Rezo’s latest virtual exhibition: available on Youtube right now!

Do you want to discover an abstract paintings exhibition made all in 3D?

This article is also available on Medium.

So, these past couple of weeks, I’ve been diving back into Blender, the open-source 3D soft. It’s really nice to get back to modelling, rendering and lighting scenes. As I said in my article from yesterday about low-poly, I’m a big fan of how those 3D tools can bring even the most crazy worlds and characters to life! As a long-time gamer, some of my most important memories come from blobs of pixels and packs of polygons.

But this time, I was actually aiming for something quite different: I wanted to make a realistic CG render.

This project was another collaboration with Cali Rezo, the great abstract painter that I already had the chance to work with for some years. She recently finished a series of 7 paintings that, sadly, would not fit in her studio all at once… so we decided we would design her a small gallery to make the exhibition 🙂

We eventually made a 1′ video that gives you a tour of this virtual exhibition – it’s available on Cali’s Youtube channel:

Paintings, scenography and textures by Cali Rezo
Modeling, rendering, video editing and music by Mina Pêcheux

Note: for Cali’s take on the project, the genesis of the project and how she made the paintings, check out the post on her blog! 🙂

This project was quite a challenge because Cali’s painting has evolved in recent years to not only be about black shapes on a white background anymore, but also show plenty of textures, bumps, cracks, light reflections and glossy-versus-matte areas. If you’re interested in the technical side of this adventure, check out the next section.

So – Cali first worked on the scenography for a few days, while I was studying for the best way to show her paintings with all those specificities. Her sketchbook is just filled with incredible drawings of all her research – she’s kindly agreed to share them with me, so here are some examples of her designing the gallery, imagining the scenography and preparing some textures for the 3D render:

Cali Rezo’s sketchbook #1: the design of the room and the placement of the paintings
Cali Rezo’s sketchbook #2: the scenography (sounds and colors)
Cali Rezo’s sketchbook #3: the textures (color maps, specular maps, bump maps)

After we had both roughed out the subject, we started to make some low-res small-sized renders to get a feel for the room. Once again, that’s what I love about 3D – you can easily move a wall, replace a door, scale everything up or down… it really helps with conceiving credible and pleasing ambiances! We actually managed to sketch the overall movie pretty fast, but then we had to improve the technique to get a better rendition of the paintings.

How to get a realistic render in Blender?

First of, to get a realistic render style, I knew I had to use Blender’s Cycles render engine. Compared to the internal and new EEVEE engines, Cycles is physically based and therefore specifically designed for lifelike renders. So I switched engines, I worked on my modelling a bit and then, I did some renders.

And that was the start of the real journey…

Step 1: Freaking out when faced with the rendering time

As is always the case when you use Cycles and have no prior knowledge in its inner workings, I’d actually missed out on a lot of interesting parameters at first. The initial tests took a long time to get rendered – way too long. I started to fear that it would take me months to get the entire sequence…

That’s until I luckily stumbled upon this excellent tutorial by Andrew Price (from Blender Guru) about how to speed up Cycles rendering. It was a game-changer: by using the new denoising feature, reducing light bounces and heavily cheering for my brand new NVIDIA-GPUed laptop, I managed to get very very decent render times. (To give you an idea, the final full-sized result took less than a day and a half to compute!)

At that point, I felt like anything was possible, and so I went on to tackling the technical pièce de résistance: making the paintings as realistic as possible.

Step 2: Creating realistic paintings

Note: this part is a bird’s-eye view of my shader setup – there aren’t many details so it’s mostly for people already familiar with 3D rendering, texture maps, lighting and normals…

The paintings had to show all the particularities that they have in real life. They had to reflect light in a particular way, you had to feel like they were embossed in some placed and cracked in others, they had to match Cali’s work precisely, etc. Let’s take one of the close-up frames as an example; in the middle of the sequence, when we zoom in on the fifth painting in the series, we see a lot of the reflections and bumps in the painting:

To make this, I needed to overlay 3 texture maps:

  • first, the color map: it’s what “draws” an actual painting on the canvas! Otherwise, if I didn’t have this image, the paintings would actually just be one-colored stretched cubes.
  • then, the specular map: it’s how the object interacts with light. That second texture defines which parts of the painting are more reflective and which parts are more satin-like. The specular is why the spot shines in the black shape and also why the ceiling grid is somewhat visible on the right.
  • finally, the normal map: it “simulates” additional geometry on the object so that, instead of actually modelling ridges and valleys, you instead use a greyscale map to have the render engine compute them automatically – it allows you to get more precise bumps and to make it lighter in the scene

To better understand the impact of each, look at this lineup – from the left to right, we have: only the color map, then the color and specular maps, and finally the three maps all together:

Thanks to Cali’s experience in 3D texture mapping, we could discuss this together and she in fact produced those maps for me while sticking very close to the real thing.

Note: For the displacement effect, Cali made bump maps. I then converted them to normal maps using an online tool called NormalMap Online. Blender also has bump and displacement nodes, so you could absolutely work with height maps rather than normal maps; but I’m less used to those so I felt more at ease converting them.

Here’s a screenshot of my node setup for a painting in the end – you can see the three different maps being loaded and plugged into the shader pipeline to get the final effect:

Step 3: Working on the camera movements

Since we were to make a movie, we add to setup a camera to move around the scene and show it in an interesting way. To better convey the global shape of the place and the pathways from one painting to another, we decided to film a single sequence, as if it was shot with a handheld camera.

This handheld camera reproduction was further accentuated by a bit of motion blur, and a pretty intense depth of field (DOF) effect. This DOF allowed us to focus the viewer’s eye on a specific part of the image which, for such a short movie, is essential – contrary to a film with long scenes where the viewer can take some time to study the scene, in our case we had to direct the eye pretty quickly so the important elements would be featured most prominently.

Step 4: Adding some props to make it more lifelike

The final stage was more about tweaking and improving – at that point, we had a nice-looking scene, a cool camera movement and overall all the essential elements were in place. But! It was time to add some props in the scene, auxiliary items that aren’t in the middle of the frame but contribute to making the whole thing more lifelike. In our case, it was mostly about populating the “exterior” of the installation, so that one would believe it is part of a larger gallery.

This is why we added a door, some plugs and baseboards to the white wall in the background:

Little elements and scratches on textures are how you can turn a too-clean perfect CG render into something more realistic – a scene that has lived for a while and has been marked by it.


This project was very interesting and taught me a lot on CG render!

I hope you liked the video, and please feel free to react either in the comments, on Cali’s Instagram or on my social accounts 🙂

Voulez-vous découvrir une exposition virtuelle entièrement réalisée en 3D ?

Ces dernières semaines, je me suis replongée dans Blender, le logiciel de 3D open-source. J’apprécie toujours autant de travailler le modeling, le rendu et la mise en lumière de scènes. Comme je l’évoquais dans mon article d’hier sur le low-poly, j’aime à quel point ces outils 3D peuvent donner vie à des mondes et des personnages incroyables ! Etant une habituée de longue date des jeux vidéos, certains de mes souvenirs les plus importants me viennent de blobs de pixels ou de paquets de polygones.

Mais cette fois, j’avais un objectif différent : je voulais faire un rendu 3D réaliste.

Ce project était une autre collaboration avec Cali Rezo, l’excellente peintre abstrait avec qui j’ai déjà eu la chance de travailler depuis quelques années. Récemment, elle a terminé une série de 7 peintures qui, malheureusement, ne pouvaient pas être exposées toutes en même temps dans son atelier… nous avons donc décidé de lui fabriquer une galerie virtuelle pour y créer l’exposition 🙂

Au final, nous avons réalisé une vidéo d’1 minute qui est une visite de cette exposition – elle est disponible sur la chaîne Youtube de Cali :

Peintures, scénographie et textures par Cali Rezo
Modeling, rendu, montage vidéo et musique par Mina Pêcheux

Note : pour avoir le point de vue de Cali sur le projet, la genèse et des infos sur comment son processus artistique, allez jeter un oeil à l’article sur son blog! 🙂

Ce projet était un défi car la peinture de Cali a évolué ces dernières années pour ne plus être seulement axée sur des formes noires sur fond blanc, mais aussi montrer un ensemble de textures, de bosses, de craquelures, de réflexions de lumière et de zones brillantes juxtaposées au satiné. Pour plus de détails sur la technique derrière cette réalisation, vous pouvez lire la section suivante dans ce post.

Cali a d’abord préparé la scénographie pendant plusieurs jours, pendant que je réfléchissais à la meilleur façon de transcrire toutes les particularités de ses peintures. Son carnet est rempli de dessins phénoméaux pour ses recherches – elle a gentiment accepté de me les partager, et voilà donc quelques exemples où elle concevait la galerie, où elle imaginait la scénographie ou bien où elle préparait les textures pour les objets 3D :

Carnet de Cali Rezo #1 : la conception de la pièce et le positionnement des tableaux
Carnet de Cali Rezo #2 : la scénographie (sons et couleurs)
Carnet de Cali Rezo #3 : les textures (maps de couleur, de spéculaire et de bump)

Après avoir chacune dégrossi le sujet, nous avons commencé à faire quelques rendus et basse définition et de petite taille pour nous approprier l’espace virtuel. C’est là ce que j’aime tant avec la 3D – on peut si facilement bouger un mur, remplacer une porte, tout agrandir ou diminuer… cela aide vraiment à concevoir des ambiances crédibles et agréables ! Nous avons en fait réussi à mettre en place le film assez vite, mais ensuite, nous avons dû trouver le moyen d’avoir un rendu plus réaliste des peintures.

Comment obtenir un rendu réaliste dans Blender ?

Tout d’abord, pour obtenir un style de rendu réaliste, je savais que j’allais devoir utiliser le moteur de rendu Cycles de Blender. Par rapport au moteur interne ou à EEVEE, Cycles est basé sur la physique et est donc destiné en priorité à la réalisation de rendus réalistes. J’ai donc changé de moteur, travaillé sur quelques modèles et puis, j’ai fait quelques rendus.

Et c’est là que l’aventure a vraiment commencé…

Etape 1 : Paniquer face au temps de rendu

Comme toujours quand on utilise Cycles sans connaître les bonnes pratiques, j’avais, au début, laissé passer beaucoup de paramètres intéressants. Les premiers tests ont pris un temps fou pour calculer les images – bien trop longtemps. J’ai commencé à craindre que l’ensemble de la séquence prendrait des mois à calculer…

Jusqu’à ce que, par chance, je tombe sur cet excellent tutoriel d’Andrew Price (de Blender Guru) qui explique comment accélérer les rendus Cycles. Ça a été une révolution pour moi : en utilisant la fonctionnalité de denoising, en réduisant les rebonds lumineux et en soutenant avec ferveur mon tout nouveau portable et son GPU NVIDIA, j’ai pu obtenir des récents dans un temps très, très acceptable. (Pour se donner une idée : le résultat final, en pleine taille, a été calculé en moins d’un jour et demi !)

A ce moment-là, je me suis dit que tout était possible et je me suis donc concentrée sur la “pièce de résistance” technique du projet : rendre les peintures les plus réalistes possibles.

Etape 2: Créer des peintures possibles

Note : cette partie est une vision d’ensemble de mes paramètres de rendu – il n’y a pas beaucoup de détails, et ça s’adresse donc principalement aux gens déjà familiers du rendu 3D, des maps de textures, du lighting et des normales…

Pour les peintures, il fallait reproduire au mieux toutes les particularités qu’elles ont en réalité. Il fallait qu’elles réfléchissent la lumière d’une certaine manière, qu’on ressente l’épaisseur par endroits et les craquelures à d’autres, et que de manière générale elles soient les plus proches des oeuvres de Cali que possible, etc. Prenons l’un des gros plans du film comme exemple ; au milieu de la séquence, quand on zoome sur le cinquième tableau de la série, on voit bon nombre de réflexions et d’inégalités dans la peinture :

Pour créer cet effet, j’ai dû superposer 3 maps de textures:

  • d’abord, la map de couleurs : c’est ce qui “dessine” réellement la peinture sur la toile ! Sinon, sans cette image, les peintures ne seraient en effet que des cubes aplatis avec une couleur unique.
  • ensuite, la map de spéculaire : c’est ce qui définit comment l’objet interagit avec la lumière. Cette deuxième texture détermine quelles parties de la peintures sont plus réfléchissantes et quelles parties sont plutôt satinées. C’est grâce au spéculaire que le spot se reflète dans la forme noire et que l’on aperçoit la grille au plafond sur la droite de l’image.
  • enfin, la map de normales : elle “simule” de la géométrie additionnelle sur l’objet pour que, au lieu de réellement modéliser des sillons et des crêtes, on donne plutôt directement au moteur de rendu une image en noir et blanc pour les calculer automatiquement – cela permet des bosses plus précises et allège la scène 3D

Pour mieux comprendre l’impact de chaque texture, voilà un ensemble d’images – de la gauche à la droite, on voit : la map de couleurs seule, puis les maps de couleurs et de spéculaire et enfin les trois maps ensemble :

Grâce à l’expérience de Cali dans le mapping de texture 3D, nous avons pu en discuter ensemble et c’est en fait elle qui a réalisé ces textures pour moi, tout en restant très proche de la réalité.

Note : Pour l’effet de déplacement, Cali a en effet fait des maps de bump. Je les ai ensuite converties avec un outil en ligne appelé NormalMap Online. Blender a aussi des noeuds de déplacement et de bump, il est donc parfaitement possible de travailler avec des height maps plutôt que des maps de normales ; mais j’y suis moins habituée et je préférais donc les convertir.

Voilà une capture d’écran de mes noeuds à la fin du projet – on y voit les trois maps qui sont chargées et intégrées au pipeline de rendu pour obtenir l’effet final :

Etape 3: Travailler les mouvements de caméra

Comme nous voulions faire un film, nous devions placer une caméra qui allait parcourir la scène et la présenter aux spectateurs sous un angle intéressant. Pour faciliter la compréhension de l’endroit et les chemins qui mènent d’une peinture à l’autre, nous avons décidé de faire un plan-séquence, comme si l’ensemble était filmé caméra à l’épaule.

Pour mieux reproduire cette impression de caméra à l’épaule, nous avons aussi ajouté du flou de mouvement (ou motion blur) et un effet assez intense de profondeur de champ. Cette profondeur de champ nous a permis de focaliser le regard du spectateur sur une partie spécifique de l’image ce qui est essentiel pour un film aussi court – par rapport à un film avec des scènes longues, où le spectateur peut prendre le temps d’étudier la scène, ici nous devions orienter rapidement l’oeil pour que les éléments importants soient bien mis en avant.

Etape 4: Rajouter des accessoires pour accentuer le réalisme

La dernière étape, c’était des ajustements et des améliorations – à ce stade, nous avions une scène qui nous plaisait, un mouvement de caméra satisfaisant et tous les éléments essentiels étaient en place. Mais ! Il était temps d’ajouter des accessoires dans la scène, des items secondaires qui ne sont pas au milieu du cadre mais qui contribuent à rendre l’ensemble plus réaliste. Dans notre cas, il s’est surtout agi de peupler “l’extérieur” de l’installation pour faire croire qu’elle faisait partie d’une galerie plus grande.

C’est pourquoi nous avons ajouté une porte, des prises électriques et une plinthe sur le mur blanc au fond :

Des petits éléments et des traces sur les textures : voilà ce qui peut transformer un rendu 3D trop parfait et trop propre en quelque chose de plus réaliste – une scène qui a vécu et qui en porte les marques.


Ce projet était passionnant et m’a appris beaucoup sur le rendu 3D !

J’espère que la vidéo vous plaira, et n’hésitez pas à réagir dans les commentaires, sur l’Instagram de Cali ou sur mes réseaux sociaux 🙂

1 thought on “Cali Rezo’s latest virtual exhibition: available on Youtube right now!”

Leave a Reply

Your email address will not be published. Required fields are marked *