Features

Bella est un moteur de rendu spectral qui modélise la complexité de l’optique physique de manière  aussi juste que possible et qui la rend intuitive et accessible.

Simplicité : c'est le maître mot de Bella. Les solvers de Bella n'ont pas de paramètres obscures. Le temps d'apprentissage est réduit avec peu d'expérimentation pour trouver les bons settings.


RENDU SPECTRAL

Bella fonctionne dans un univers spectral, permettant des effets de dispersion, diffraction.

CAUSTIQUES COMPLEXES

Le Solver Apollo de Bella est capable de rendre les caustiques à travers les surfaces transparents comme pour les piscines et autres caustiques à travers le verre.

IPR Solver

L'IPR (Interactive Preview Render) de Bella est adapté pour vous fournir un retour rapide sur vos scènes et matériaux.

MATÉRIAUX "LAYERED"

Les matériaux de Bella sont conçus par couche physique. La lumière interagit avec les différentes épaisseurs du matériaux : films minces, vernis avec diffusion volumique…

Couches minces

Le "node" Thin Film (couche ou film mince), peut être appliquer sur un layer ou un substrat (premier niveau du matériau) et simule une couche de brillance de quelques nanomètres, créant des effets d'iridescence.

Matériaux "Nested"

La fonction "nested priority" permet de créer des matériaux transparents avec un ordre de priorité pour s'affranchir des problèmes de modélisation.

IOR COMPLEXES

Les matériaux complexes IOR donnent accès à des données mesurées de façon spectrale.

Smart Materials

Les Smart Material de Bella offrent une manière simple et rapide de créer des matériaux de type : métal, céramique, plastique, plastique translucent.

Textures

Dans Bella, les textures sont basées sur du nodal permettant des grandes possibilités de manipulations.

Instancing

Bella utilise de manière très large les instances. Dans Bella, tout est instance.

Ciel & soleil physiques

Le modèle physique de ciel et soleil peut être contrôlé pour la date et le lieu ou par une direction spécifique.

Lumières procédurales

Bella dispose de plusieurs types de sources comme les spots, les area, les point sources et les sources directionnelles.

Lentilles minces & épaisses

Bella dispose -en plus des lentilles standard mince- d'une fonction unique de lentille épaisse pour simuler les effets de distorsion et de chromatisme.

Sensor Bloom

La caméra de Bella supporte les simulations d'éblouissement du capteur. Quand un pixel reçoit trop d'énergie il vient diffuser son trop plein sur les pixels adjacents.

Diffraction

Quand la lumière passe à travers un diaphragme ou un filtre diffractif, la lumière produit un motif caractéristique sur le capteur.

Rendu coopératif & reprise

Le rendu coopératif permet de calculer sur plusieurs ordinateurs et d'assembler le résultat. Cela permet aussi de reprendre des rendus qui avaient été arrêtés.

Intel Denoiser

Bella utilise l'excellente librairie Open Image Denoise d'Intel pour l'IPR et les solver de production.

Standards de l'industrie

Bella s'appuie sur des librairies éprouvées de l'industrie pour une compatibilité étendue et transparente avec les différents formats et standards de l'industrie.

Render Passes

Pour compléter la Beauty pass, Bella peut également rendre des passes comme l'alpha, le shadow, le material et object ID, la normal, etc.

Import de géométrie

Bella GUI permet l'import de géométrie au format suivant : OBJ,FBX, DAE, 3DS et STL.

Package des scènes

A travers sont format .bsz, Bella propose une solution facile en 1 fichier de copie, déplacement.


SPECTRAL RENDERING

Pour simuler de manière la plus précise le comportement de la lumière, il est nécessaire d'utiliser de nombreuses longueurs d'ondes à la place des 3 couleurs primaires (R, V, B) utilisées habituellement.

Dans Bella nous utilisons la propagation spectrale de la lumière tout au long des calculs pour la plus grande des précisions dans les phénomènes optiques comme la dispersion, le Fresnel, l'iridescence et les BSDF, les effets atmosphériques, la diffraction...

C'est seulement lors de l'affichage que nous convertissons les énergies spectrales calculées (irradiance) dans l'espace colorimétrique choisi.


SOLVERS

L'architecture de Bella Render permet de choisir parmi différents solvers (méthode de calcul) suivant nos scènes. Nos solvers utilisent le CPU.

Atlas

Atlas est un path tracer bidirectionnel non biaisé qui est notre solver par défaut pour le rendu des scènes. Il est très performant pour résoudre les lighting très complexes.

Ares

Très proche d’Atlas, Ares est un path tracer non bi-directionnel non biaisé, que l’on peut utiliser pour des scènes aux settings lumière plus simple. Dans ce cas il sera plus rapide qu’Atlas.

Apollo

Apollo utilise un nouvel algorithme propriétaire. Il est capable de résoudre des situations lumineuses irréalisables avec un path tracer bi-directionnel comme Atlas. Notre espoir est qu'à terme Apollo remplacera Atlas. Comme il s'agit d'une nouvelle méthode elle doit encore être testée et validée sur des plus nombreuses scènes.

IPR

Interactive Preview Render (IPR) est un path tracer non biaisé adapté pour avoir un retour rapide d'une scène et des ses modifications. Il est utilisé à l'intérieur des logiciels de modélisation pour fournir un rendu interactif


COMPLEX CAUSTICS
Caustiques au fond d'une piscine créées par le soleil.

Les caustiques vues à travers des matériaux transparents ont souvent posé des problèmes lors des rendus. .

La situation caractéristique est celle des caustiques générées par le soleil au fond d'une piscine.

Emitter enclosed in glass, resulting in caustics-only illumination.

Les sources lumineuses sont souvent contenues dans une enveloppe en verre. Elles créent des caustiques d'illumination ce qui les rend très difficiles à calculer.

Pour de tels cas nous recommandons l'utilisation de notre solver Apollo. Il n'y a aucun réglage compliqué, seulement changer de solver.


LAYERED materials
Gold complex IOR, and with layer+scattering.

Bella utilise 2 types de matériaux comme base : les "conductors" et les "dielectrics". Les "conductors" décrivent des surfaces opaques alors que les "dielectrics" des surfaces transparentes. On parle de ces deux bases comme des "substrates" qui peuvent supporter un "layer". Un "layer" est un matériau "dielectric" (transparent) qui peut avoir des propriétés de scattering. Le layer interagit avec le substrat placé en dessous produisant des matériaux opaques très réalistes.

Par exemple, les 2 statues ont un matériaux "conductor" de type gold, mais la statue de droite à un layer avec scattering en plus. .

Comme les "conductors", les "dielectrics" peuvent aussi avoir des layers. Il ne s'agit pas simplement d'une opération d'addition de propriétés entre le layer et le dielectric, mais bien d'interactions entre le "substrate" et le "layer" avec des rebonds multiples, du Fresnel, de la transmittance...


Dielectric, sheet, and dielectric+layer.

La carafe de gauche a un simple matériau dielectric, celle du milieu simule le layer et celle de droite la combinaison des deux.

Sheet material.

Le matériau "Sheet" est comme un layer sans substrat. Il peut être utilisé pour simuler les surfaces avec scattering comme les abat- jours, les rideaux.


THIN FILM

Un autre type d'aspect peut être utilisé avec le système de matériaux Bella : les couches minces (Thin Film), qui permet d'ajouter de l'iridescence à une surface. Changer l'épaisseur d'une fine pellicule ou son indice de réfraction produit des interférences créant un effet arc-en-ciel..

Les couches minces peuvent s'appliquer sur les substrats, les layers ou les "sheet".


Thin-film sur un dielectric, un metal, et un conductor+layer.
Thin-film sur une "sheet".


NESTED DIELECTRICS

Les "Nested Dielectrics" permettent, grâce à l'utilisation d'une priorité, de gérer les intersections en les différents volume d'une modélisation, comme un verre rempli de liquide, de la glace, des bulles.....


Not using nested priorities (incorrect).
Using nested priorities (correct).

COMPLEX IOR
Complex IOR data can describe conductors or dielectrics.

L'indice de réfraction d'un matériau est décrit pour 2 variables.

Le premier est l'indice de réfraction tel que nous le connaissons et décrit la courbure de la lumière lorsqu'elle passe d'un matériau à un autre..

Le second définit l'atténuation (la perte d'énergie) lorsque la lumière passe à l'intérieur du matériau. Il est courant de grouper ces 2 valeurs sous la forme d'un nombre complexe, d'où provient le nom : complex index of refraction).

Différents rendus de matériaux complex IOR

Des nombreux matériaux ont été mesurés qui peuvent être utilisés dans Bella pour les rendu..

Le setting Complex Material comprend les matériaux les plus courants mais vous pouvez aussi charger des données provenant de mesures ou copier/coller ces données dans la partie IOR data du matériau Complex IOR.


SMART MATERIALS

Nous avons créé un set de matériaux directement utilisables sans avoir besoin de connaître le système de matériaux Bella. Nous avons extrait les paramètres principaux pour contrôler ces matériaux.


Metal
Céramique
Plastique
Urethane

TEXTURES

Toutes les textures dans Bella (fichiers ou prodécurales) sont connectées de manière nodale. Cela permet une grande facilité de manipulation (changement de couleur, luminosité, mélange...) entre elles.

Le mode nodal est particulièrement adapté à l'hypershade de Maya.


Bella layered conductor in Maya Hypershade.

INSTANCing

Bella provides extensive support for instancing. Indeed, everything that can be seen in a Bella image is either an instance of some type of geometry, or an instance of some other instance.

This is accomplished through a logical and consistent model, based on the use of the Bella xform node.

In the hierarchy at left, we see a procedural plane instanced twice under the planes xform, which itself is then instanced by the instance of planes xform. Using the boxes at the right, materials may be assigned, and instances made either visible or hidden (or, as by default, they can inherit the visibility of their parent).

At right, we see that each instance can not only be assigned its own material, but can even decide which of its geometry's UV sets to use. In the image we are seeing five instances of the same mesh plane, each using different materials and UV sets.


Physical Sky & SUn

Le sky dome et le soleil de Bella sont basés sur le modèle Hošek & Wilkie model, légèrement modifié pour permettre les rendus après le coucher du soleil. Par défaut le skydome node fonctionne très simplement : on choisit la date, l'heure et sa localisation. Le calage des faisceaux horaires est automatique.

Différentes heures de la journée du 23 septembre à Barcelone :

8h
12h
9h15m
19h45m
9h
16h
19h30m
20h05m

Il est également possible de lier une node soleil pour avoir plus de liberté dans le positionnement du soleil.


PROCEDURAL LIGHTS

Pour compléter les mesh lights réalisables grâce aux matériaux émissifs, Bella dispose également de lumières procédurales de type Point, Area, Directional, et Spot.

L'utilisation principale reste la connexion avec les applications 3D.

Dans le cas d'une liaison avec un programme 3D, ce type de source n'a pas d'unité et l'intensité est piloté pour un coefficient multiplicateur.

On peut cependant connecter à ces sources un matériau émissif si l'on préfère travailler avec des unités réelles d'énergie.


cameras

Les caméras dans Bella sont définies par les nodes : Camera, Lens et Sensor qui sont conçus pour modéliser les éléments principaux d'un appareil photo.

La caméra supporte le mode manuel ou automatique d'exposition comme les priorités diaphragme ou vitesse. La priorité diaphragme est le mode par défaut car c'est celui qui permet de régler la profondeur de champ en gardant une exposition correcte.


THIN / THICK LENS

En plus des lentilles minces (thin lens - lentilles "parfaites"), Bella autorise aussi l'utilisation de lentilles épaisses (thin lens - lentilles bi-convexes). Comme les objectifs réels sont de qualité très variable, la "thick lens" augmente le réalisme en produisant des aberrations chromatiques et des distortions.

Thin lens.
Thick lens.
Thick lens effects, including chromatic noise & aberration.
The left image uses a thin lens, the middle image uses a thick lens with moderate thickness (showing chromatic aberration), and the right image uses a very thick lens to produce extreme image distortion.

Sensor BLOOM

Quand un pixel d'un capteur reçoit trop d'énergie lumineuse, il "bave" sur le les pixels adjacents provoquant un effet de halo.

Subtle bloom can help to add realism.
Demonstration of varying levels of sensor bloom.


DIFFRACTION

Quand la lumière passe à travers le diaphragme, elle peut être diffractée. L'image d'un point devient alors moins nette. Il y a donc une limite à la netteté qu'une caméra peut capter.

La diffraction dans Bella est calculée de manière physique en se basant sur la simulation ondulatoire de la lumière, la forme du diaphragme, la taille du capteur et la longueur focale.

Nous prenons pour exemple de vraies prises de vues tirées du site What is diffraction in photography? Plus particulièrement le paragraphe 5, Diffraction and Depth of Field,

f-stop 5.6, diffraction OFF
f-stop 22, diffraction OFF
f-stop 5.6, diffraction ON
f-stop 22, diffraction ON
f-stop 5.6, diffraction OFF
f-stop 22, diffraction OFF
f-stop 5.6, diffraction ON
f-stop 22, diffraction ON

Comparable au Sensor bloom, la diffraction peut être utilisée pour augmenter la perception des pixels très lumineux ou simplement être utilisée pour des effets artistiques.


COOPERATIVE & Resume Render

La nature des algorithmes de Bella permet de rendre une même scène sur plusieurs machines et d'assembler les résultats de simulation plus tard. Il est aussi possible d'arrêter un rendu pour le relancer plus tard sur la même scène 3D pour ainsi cumuler des temps de calcul.

Progressive Rendering

Dans le flux de production, les compositeurs peuvent commencer à travailler avec des images de moindre qualité. On peut donc lancer une première série de rendu plus rapide en qualité basse et ensuite grâce au progressive rendering reprendre le rendu pour le pousser plus loin.

Resume Rendering

La reprise de rendu permet de garder l'esprit serein en cas de crash ou de reboot car vous ne perdez pas les temps de calcul déjà effectué.

Une méthode possible est de mettre en attente les rendus sur lesquels vous avez travaillés durant la journée pour les relancer la nuit. Ils reprendront là où vous les avez stoppés.


denoiser

Bella utilise le denoiser Intel : OpenImageDenoise pour les rendus IPR et production.

Dans le rendu interactif (IPR) nous utilisons une passe de denoising rapide qui occupe peu de temps CPU et de mémoire. Pour le rendu production et l'utilisation à 100% du denoiser nous générons toutes les passes nécessaires pour des résultats qui iront au delà de vos attentes.


Render passes

Les passes (appelées aussi layer, channel ou AOV dans d'autres moteurs de rendu) sont des images techniques comme l'object_id or le material_id utilisés pour le compositing.
Les passes actuellement supportées par Bella sont :

  • Alpha Pass
  • Material Pass
  • Object Pass
  • Shadow Pass
  • Albedo Pass
  • Normal Pass
  • Tangent Pass
  • Z Pass

Nous ajouterons des passes supplémentaires suivant les besoins que vous nous remonterez.


geometry Import

Bella supporte l'import des formats OBJ, FBX, DAE, 3DS et STL formats.


PROCEDURAL GEOMETRIES

Bella possède quelques nodes "objets" procéduraux comme Sphere, Plane, Cylinder, et Disk , qui sont rendus avec une précision parfaite (pas de défaut de maillage) et avec une occupation mémoire quasi-nulle.

Maya peut avantageusement en tirant profit en remplaçant ses géométries mesh : polySphere, polyPlane, polyCylinder, ou polyDisc par les nodes procéduraux Bella grâce à l'option Render Perfect.


nodes and the scene hierarchy

Les scènes de Bella sont nodales. Tout dans Bella est un node, une instance de node ou un instance d'un hiérarchie de node.

Une scène se compose donc d'un ensemble de nodes chacun possédant des entrées/sorties se connecter à d'autres entrées/sorties d'autres nodes.

A la racine de la scène il y a le node World Xform. Tout est parenté sur ce node.

For detailed help on all Bella node definitions, see here.


color management

Bella supporte nativement les espaces linear, sRGB, et Rec709. Suivant le paramétrage des variables d'environnement OCIO, Bella peut utiliser OpenColorIO pour le color management.


The Bella file formats

Bella sauvegarde au format binaire (.bsx) ou plain-text (.bsa) file formats. Il peut aussi créer une archive zippée (.bsz) de la scène qui contient toutes les assets. Ce format est très pratique pour transporter les scènes d'une machine à une autre (dans le cas d'une render farm par exemple).

Le format binaire est le format privilégié pour par production de part sa taille réduite de fichier et ses performances en lecture/écriture. Le format plain-text quant à lui est utile pour débogguer des scènes et éditer les scènes manuellement par exemple.

Nous avons porté une attention particulière dans le développement du format plain-text pour rendre sa accès facile et lisible.


# Bella Scene - 2019-02-24T20:32:39-0600

# Arrays may be auto-indexed, and nodes may be referenced before creation:
xform world:
  .children[*]          = __persp__;
  .children[*]          = __sphere__;
  .children[*]          = __plane__;
  .children[*]          = __keyRight__;
  .children[*]          = __keyLeft__;
  .steps[0].xform       = mat4(-0.01 0 0 0 0 0.01 0 0 0 0 0.01 0 0 0 0 1);

# We can create a node and set its inputs by their full paths:
settings settings;
settings.beautyPass     = beautyPass;
settings.camera         = __perspShape__;
settings.iprScale       = 57f;

# Or, an existing node may be made current using the 'with' keyword:
camera __perspShape__;
with __perspShape__:
  .lens                 = lens;
  .sensor               = sensor;

# Or, we can combine both into the node creation step:
xform __persp__:
  .children[0]          = __perspShape__;

[...]

Nous produirons dans la documentation autour de ce format mais comme vous pouvez le voir sur l'exemple c'est très facile de créer des scènes Bella.


plugins

Le premier plugin de Bella est pour Maya. Les Bella nodes sont reliés au nodes Maya ce qui assure un intégration transparente and interactive pour l'édition des scènes et des matériaux.

La documentation pour le plugin Maya est ici.

Notre roadmap prévoit le développement des plugins : Rhino, SketchUp, Cinema 4D, 3dsMax... Pas nécessairement dans cette ordre suivant vos besoins. N'hésitez pas à nous le faire savoir.


Bella GUI

Bella GUI est utilisé en standalone pour le rendu et l'édition interactive de vos scènes.

Les plugins servent à l'utilisation directe de Bella au sein de votre modeleur, il peut être utile d'avoir un outil indépendant des logiciels de modélisation pour faire du rendu un process séparé. Vous pouvez ainsi continuer à travailler dans votre modeleur pendant le rendu.

Les plugins Bella possède une commande Send to Bella, qui exporte la scène au format Bella, lance Bella GUI et démarre le rendu.

Documentation Bella GUI ici.


Bella CLI

Bella CLI permet d'attaquer Bella en ligne de commande pour lancer le rendu de fichier Bella.

Bella CLI peut être utile pour l'intégration des pipelines existants au sein de studios.
CLI documentation ici.


Feature list
  • Interactive Progressive Rendering ( IPR )
  • Plusieurs solvers de production
  • Interactive material preview
  • Spectral rendering
  • Solver automatic pour les caustics suivant le niveau de difficulté
  • Material model with a real layer simulation.
  • Thin sub-surface
  • Thin film interference (coating)
  • Spectral complex iors
  • Nested dielectrics (matériaux transparents imbriqués)
  • Smart materials
  • Thick and thin camera lenses (objectifs parfaits ou réels)
  • Optional polygonal aperture diaphragm, produces bokeh effect.
  • Bloom ( uniform and vertical smear )
  • Aperture diffraction
  • Grating filters for diffraction
  • Cooperative rendering (rendu sur plusieurs machines)
  • Resume rendering (reprise de rendu)
  • High quality denoiser
  • Physical sun and atmospheric spectral model
  • Memory efficient instances
  • Procedural lights: area ( mesh, disk, sphere, cylinder ), point, spotlight, directional
  • Different textures types: reflectance, normal mapping, bumping, roughness, anisotropy, rotation anisotropy, thickness, layer opacity, material opacity, transmittance, scattering
  • Procedural geometry: disk, plane, sphere, cylinder
  • Render passes: beauty, albedo, alpha, material, normal, object, shadow, tangent, z
  • Region rendering
  • Blow up rendering
  • Shift lens
  • Optional vignetting
  • Node-based architecture
  • Color management (via OpenColorIO).
  • Bella CLI ( command line application )
  • Import several 3d files to Bella scene ( fbx, obj, 3ds, dae, stl ).
  • Plugins & GUI available for Windows and MacOS, with CLI support for linux.