Calcul d'un rendu simple avec Starlyx

Ce type illustre l'utilisation de starlyx pour calculer une image de rendu.

Nous allons simplement visualiser le célèbre lapin de Standford.

Voir le fichier qui décrit la scène:

cd /home/lafrier/environnement_tp_starlyx/TP4
vim scene.xml

On peut y trouver la description de la caméra avec le nombre de pixels et le champ de vision notamment:

<camera 
    NAME="cam0" 
    NBPIXELSX="200" 
    NBPIXELSY="200" 
    FIELD="40.0" 
    FILTERS="filterR" 
>		
    <lens X="0"  Y="-4.0" Z="2.0"></lens>
    <viewPoint X="0" Y="0" Z="1"></viewPoint>
</camera>

Dans cette scène, la géométrie du lapin est décrite par une surface du fichier "bunny2_bin.stl" :

<surface 
    NAME="surface" 
    MATERIALS=""
    TYPE="file"
 FILE="bunny2_bin.stl"
>
</surface>

Le volume détouré par cette surface est décrit par le noeud XML de nom "volume".

On y indique l'indice de réfraction (1.0) et le nom du ¨matériau de volume" "hg2":

<volume 
    NAME="volume" 
    N="1" 
    MATERIALS="hg2" 
    SURFACES="surface"
>	
</volume>

Le matériau de volume du lapin est décrit dans le noeud XML de nom "hg2". Ce sont les propriétés de transfert radiatif paramétrées par l*,la et g.

<Henyey-Greenstein 
    NAME="hg2"  
    LA="1000" 
    LSTAR="1" 
    G="0"
>
</Henyey-Greenstein>

Utilisation de Starlyx

Configurer l'environnement:

cd /home/lafrier/environnement_tp_starlyx
source profile

Se mettre dans le dossier ce ce TP:

cd tp_starlyx/TP4

Lancer starlyx pour la scene décrite dans scene.xml:

starlyx2  scene.xml

Le résultat est dans le fichier image "cam0.png":

Image

Exercice

Modifier la longueur de transport du lapin LSTAR avec une valeur 10x plus faible, par exemple (0.01 mm) :

<Henyey-Greenstein 
 NAME="hg2"  
    LA="1000" 
    LSTAR="0.01" 
    G="0"
>
</Henyey-Greenstein>

Relancer le rendu:

starlyx2 scene.xml

Le temps de calcul est plus important car le nombre de diffusions est plus grand. Voici le résultat:

Image

On remarque que l'on distingue plus de détails de la surface car ils sont moins "floutés" par la diffusion sous la surface.