Dans cet article je vais m’efforcer de faire une introduction très large à Redshift avec Houdini, depuis l’installation jusqu’au premier rendu simple.

01 – Installation

Dans cette partie nous allons voir l’installation de Redshift avec Houdini 18/18.5 sous Linux. L’installation sous Windows étant un peu mieux automatisée, elle ne requiert pas vraiment d’explication.

Le fichier d’installation de Redshift à jour se trouve sur votre compte Redshift dans la section Download :

https://www.redshift3d.com/product/download

Le fichier d’installation pour Linux est un .run :

Pour lancer l’installation, on utilise la commande :

sudo sh ./redshift_v2.0.64_linux.run

L’installation de Redshift sous Linux est extrêmement RELOU, en effet, il faut laisser la touche Entrée appuyer pour faire défiler des centaines de pages de contrat dont on se fout et comble du comble, lorsque l’on arrive au bout de toutes ces pages, la touche Entrée annule l’installation…

Pour éviter la crise de nerfs, il convient de faire defiler ces pages jusqu’au paragraphe 17 environ, ensuite, il faut appuyer sur Entrée pour faire défiler ligne à ligne :

Dernier piège, ici si vous survolez la lecture vous allez appuyer sur Entrée pour valider. Erreur !
En lisant bien, il faut taper « accept » en toutes lettres puis faire Entrée pour finir l’installation :

La fin de l’installation :

L’installation de Redshift est terminée mais nous n’avons pas encore indiqué à Houdini le chemin vers le plugin Redshift pour Houdini.

Comme nous sommes en 2020 et que SideFX recommande de plus en plus l’utilisation des packages json, nous allons utiliser cette méthode.

Résumé de la méthode packages :

  • créer un répertoire nommé « packages » dans le répertoire de configuration d’Houdini (par exemple /home/vincent/houdini18.0/packages)
  • Dans ce répertoire, créer un .json pour chaque plugin indiquer le chemin vers les plugins.
  • C’est tout.

Exemple de contenu d’un .json pour Redshift 3.0.32 et Houdini 18.0.566 pour Linux

{
	"enable" : true,
    "env" : [
        {
            "HOUDINI_PATH" : {
                "method" : "prepend",
                "value" : ["/usr/redshift/redshift4houdini/18.0.566"]
            },
            "PATH" : {
                "method" : "prepend",
                "value" : ["/usr/redshift/bin"]
            }
        }
    ]
}

Le fichier json a télécharger :

Pour plus d’infos sur les packages Houdini, rendez vous à cette page : https://www.sidefx.com/docs/houdini/ref/plugins.html

Vous pouvez maintenant lancer Houdini, si l’installation s’est bien passé, vous devriez trouver le menu Redshift :

Même s’il est possible de faire quasiment toutes les opérations relatives à Redshift depuis ce menu, je vous conseil tout de même de sortir le shelf Redshift qui, à l’usage, est nettement plus commode que le menu :

Avant d’aller plus loin

Si vous êtes habituer à Arnold ou RenderMan sachez que Redshift n’a aucune procédure particulière pour la gestion des textures ou des shaders. Pas de conversion en .tx a faire !

Pas besoin non plus de pré-calculé des shaders avant le premier rendu.

Une fois installé, Redshift est directement prêt à être utilisé.

02 – Le Shelf Redshift pour Houdini

Le shelf Redshift est un bon point de départ pour se familiariser avec Redshift pour Houdini. En particulier si vous êtes peu habitué au rendu avec Houdini.

Voyons ensemble les différentes icônes de ce shelf.

Icône « Redshift »

Cette première icône nommée « Redshift » permet de créer un ROP Redshift qui sert de point de communication entre Houdini et Redshift.
Le ROP Redshift contient TOUS les paramètres de rendu de Redshift comme le sampling, les rebonds, la gestion des AOVs etc.
Un node « Redshift IPR » est également créé : ce dernier ne sert qu’a sélectionner quel ROP Redshift utiliser pour rendre en mode IPR. Il est vide par défaut et peu important pour débuter sous Redshift, nous verrons son utilisation en detail le moment venue.

Pour faire un résumé, cette première icône « initialise » la possibilité de rendre une scène via Redshift.

Icône « Options »

Seconde icône qui a peu d’intérêt si ce n’est de pouvoir sélectionner la ou les cartes graphiques que vous voulez utiliser pour vos rendus avec Redshift.
Pour le reste, je vous laisse jeter un œil. On zappe très vite.

Icônes « IPR » & « RenderView »

Ces deux icônes vont vous permettre de lancer un rendu mais pas de la même manière et surtout, pas au même endroit. Attention à la confusion ici !

Le terme IPR (Interactiv Render Preview) ne fais pas vraiment consensus, pour Arnold, Vray et RenderMan, l’IPR définit une fenêtre spécifique au moteur qui n’appartient pas au DCC et dans laquelle sera envoyée un rendu interactif (en général en mode de rendu progressif).
Pour Redshift, un rendu IPR est un rendu interactif qui sera envoyé à une fenêtre d’Houdini ! Concrètement, soit dans une scène view, soit dans Mplay.

La propre fenêtre de rendu interactif de Redshift se nomme sobrement « RenderView« . Pour ceux qui connaissent RenderMan, RenderView est le pendant de « IT« .

Ayant compris cela, la différence entre ces deux icônes est tout de suite plus claire :

  • « IRP » lance par défaut Mpaly, le Framebuffer d’Houdini, qui va rendre votre scène avec Redshift. Je dé-conseil plutôt cette option, j’expliquerai pourquoi dans un autre article.
  • « RenderView » lance la fenêtre Redshift. A privilégier.

Attention : dans les deux cas, par défaut le rendu est lancé en mode rendu progressif donc très lent et très loin des performances optimales que peut offrir Redshift !

Rendu interactif dans Mplay d’Houdini :

Rendu Interactif dans RenderView de Redshift :

Icônes « On/Off » & « Snapshot »

Deux icônes assez useless !

Le premier permet de lancer/arrêter le rendu en mode IPR (ne fonctionne pas sur ma config Redshift 3.0.32/Houdini 18.0.566/Fedora 32) et le second de prendre un Snapshot dans l’IPR.
Deux fonctions qui sont dispos dans Mplay donc qui ne servent à rien, on ne perd pas de temps et on zappe !

Icônes « CamParms » & « ObjParms » : Les Spares Parameters de Redshift.

Tous les moteurs de rendus externes pour Houdini nécessitent d’attacher aux objets et aux caméras ce que l’on nomme des « Spares Parameters ».
Pour faire un raccourcis un peu simpliste, on peut dire que les « Spares Parameters » sont des options spécifiques aux moteurs de rendus pour les objets et les caméras.
Par exemple, si l’on veut demander à Redshift de faire une subdivision de surface au rendu, cela passera par un spare parameter.

Lorsque Redshift est installé et activé, tous les nouveaux objets et les caméras seront créés avec les « Spares Parameters » de Redshift.
Ces deux icônes serviront donc uniquement si vous récupérez des objets ou caméras d’anciennes scènes non créées avec Redshift.

  • L’icône « CamParms » permet de créer les « Spares Parameters » pour les cameras Houdini.
    Note : Contrairement aux lumières, il n’y a pas de caméra spécifique à Redshift, on utilise les mêmes caméras que les caméras de Mantra.
  • L’icône « ObjParms » permet de créer les « Spares Parameters » pour les objets.

Les CamParms :

Les ObjParms :

Icône « Proxy ».

Permets de créer un « conteneur » vide préconfiguré pour accueillir un proxy Redshift.
Les proxy Redshift sont des « super-instances » ultra efficaces en terme de mémoire et de temps de rendu.

Les proxy feront l’objet d’un article détaillé.

Icônes « RSLight », « RSLightDome », « RSLightIES », « RSLightSun » & « RSLightPortal » : les lumières Redshift.

Redshift, comme tous les moteurs de rendus externes dans Houdini, utilise ses propres lumières.

Ces icônes du shelf Redshift permettent de créer les différentes lumières présente dans Redshift :

  • RSLight crée par default une Area Light qui peut être convertie au choix via un menu déroulant en : Distant (appelé à tord Sun Light dans d’autre moteurs), Point ou Spot.
  • RSLightDome crée par défaut un éclairage de type environnement avec une simple couleur. En y associant une texture a haute dynamique, c’est via cet objet que l’on fait de l’éclairage de type HDRI avec Redshift.
  • RSLightIES crée une spot light supportant les maps au format industriel IES.
  • RSLightSun créer un light distant avec des options liées à l’aspect de l’atmosphère.
  • RSLightPortal crée des Portals, ces « pseudo lights » qui concentrent les rayons lumineux pour améliorer le sampling dans les scènes d’intérieur.

Note : Spécificité de Redshift, les Mesh Light se crée via une RSLight classique de type Area puis en sélectionnant Mesh dans la catégorie Shape :

03 – Matériaux/Shader

Création de shaders

Comme pour beaucoup de choses dans Houdini, il est possible de créer des shaders Redshift de beaucoup de manière et surtout à beaucoup d’endroits différents (/mat, /shop, /Material_Network etc.).

Pour faire simple, nous verrons la méthode « 2020 » à savoir, créer ses shaders dans le contexte /mat :

Une fois dans le contexte /mat, dans le Tab Menu on cherche le node « RS Material Builder » qui est un conteneur qui permet de créer des shaders spécifiques à Redshift.

Même s’il est possible de construire directement des shaders Redshift dans le /mat, l’avantage de passer par un node RS Material Builder est que à l’intérieur de ce node seul seront présent les nodes exclusivement relatifs à Redshift.
Impossible donc de mélanger des nodes Mantra avec des nodes Redshift.

On double clic sur le « RS Material Builder » pour plonger à l’intérieur de ce node : deux nodes sont déjà présents, un « Redshift Material » qui un le node des outputs du shader et un node « RS Material » qui est le shader standard de Redshift.

Le RS Material est le shader standard de Redshift, c’est un shader assez proche d’un Principled shader mais avec plus de contrôles et surtout avec la possibilité d’avoir un workflow spéculaire.

Petite parenthèse, le contexte /mat fait office de gestionnaire de matériaux :

Assignation de shaders

Il y a deux méthodes principales pour assigner des shaders dans Houdini :

  • Sur un objet entier via le Material path (onglet Render) directement sur un node de Geometry. Cette méthode supporte le Drag & Drop d’un shader vers le viewport.
  • Sur une sélection de faces/primitives via un node Material en SOP.

Plutôt que « de long discours », ce dessous quelques animations de ces deux méthodes d’assignation de shaders :

Assignation via la Drag & Drop sur un node Geometry :

Ou en renseignant le Material path manuellement :

Assignation avec un node Material en SOP, sur une selection de faces, ou pas :

Bibliothèque de shaders

Il n’éxiste pas à proprement parler de bibliothèque de shaders comme on peut en trouver avec Octane ou RenderMan.

Toutefois, le shader standard « RS Material » propose des presets qui permettent de gagner énormément de temps sur la création d’un shader.

Ces presets se trouvent tout en haut de la fenêtre de paramètres du RS Material :

Ces 15 presets peuvent paraître limités mais ils sont plutôt bien choisis et couvrent une bonne partie des différents cas de matériaux que l’on doit généralement couvrir.

04 – Premier rendu avec Redshift

Pour ce premier rendu, nous allons simplement utilisé la fenêtre de Redshift nommé RenderView qui ressemble à ceci :

Avant de lancer un rendu, assurez-vous d’avoir une caméra dans votre scène. Si aucune caméra n’est présente, Redshift en créera une par défaut et elle sera utilisée pour le rendu.

Comme nous l’avons déjà vu, pour lancer un rendu, il suffit de cliquer sur l’icône RenderView dans le shelf Redshift :

Au lancement, RenderView se présente comme cela :

Comme déjà indiqué dans cet article, par défaut le rendu est lancé en mode progressif, c’est-à-dire que chaque pixel et samplés simultanément sur l’ensemble de l’image à chaque passes (ou « tic ») de rendu.
La zone rendue est synchronisée avec la camera par défaut renseigné dans le ROP Redshift.

Afin d’avoir un meilleur contrôle sur ce premier rendu, nous allons voir les fonctions de ces 4 outils fondamentaux de RenderView :

  1. Start/Stop IPR : permet d’arrêter ou lancer le rendu.
  2. Refresh IPR : permet de relancer le rendu en cours. Utile si un changement effectué dans Houdini n’apparaît pas sur le rendu en cours (changement de shader, changement de géométrie etc.).
  3. Bucket Rendering : Permet de basculer d’un rendu progressif à un rendu non-progressif, tuile par tuile mais toujours synchronisé avec le viewport, notamment les mouvements de la caméra.
  4. Render : lance un rendu non-progressif, tuile par tuile, désynchronisé du viewport.

Les fonctions de RenderView sont nombreuses et riche, nous les verrons toutes dans un article dédié à cette fenêtre de Redshift.

Ceci clos cette introduction à Redshift dans Houdini. Pour plus d’informations, rendez-vous dans le menu Moteur de rendu > Redshift.

Bon rendus à tous avec Redshift.

Catégories : Redshift