En quoi une sonde lumineuse est-elle différente d'une carte de cubes environnementaux?

17

En regardant une texture de sonde légère, cela ressemble à une carte d'environnement floue.

Quelle est la différence entre les deux, comment est fabriquée une sonde lumineuse et quel est l'avantage qu'elle soit floue?

Alan Wolfe
la source
3
Réponse courte: "sondes lumineuses" signifie généralement une représentation harmonique sphérique compacte de l'environnement. Ils sont flous à la fois parce qu'ils sont très compacts (seulement quelques dizaines d'octets de stockage) et parce qu'ils sont préfiltrés pour être utilisés comme éclairage diffus. Je développerai une réponse plus longue lorsque j'en aurai l'occasion. :)
Nathan Reed
Y a-t-il un contexte pour votre question? Le terme «sonde lumineuse» est ambigu et utilisé différemment dans différents scénarios, algorithmes et moteurs.
David Kuri
Plus précisément, si vous êtes allé sur shadertoy.com, vous verrez deux ensembles de cartes de cube disponibles pour utilisation. Un ensemble est des cartes d'environnement, l'autre ensemble est le même mais flou qui sont étiquetés sondes lumineuses. Juste curieux à ce sujet et sondes lumineuses en général.
Alan Wolfe

Réponses:

18

Il y a deux significations communes différentes de "sonde de lumière" que je connais. Les deux représentent la lumière autour d'un seul point dans une scène, c'est-à-dire ce que vous verriez autour de vous dans toutes les directions si vous étiez réduit à une petite taille et restiez à ce point.

Une signification est une représentation harmonique sphérique de la lumière autour d'un point. Les harmoniques sphériques sont un ensemble de fonctions définies sur un domaine sphérique, qui sont analogues aux ondes sinusoïdales qui oscillent un certain nombre de fois autour de l'équateur et d'un pôle à l'autre sur la sphère.

Les harmoniques sphériques peuvent être utilisées pour créer une approximation douce et basse résolution de toute fonction sphérique, en mettant à l'échelle et en ajoutant un certain nombre d'harmoniques sphériques, généralement 4 (connues sous le nom de SH linéaire, au premier degré ou à une bande) ou 9 ( appelé quadratique, deuxième degré ou SH à deux bandes). C'est très compact car il vous suffit de stocker les facteurs d'échelle. Par exemple, pour SH quadratique avec des données RVB, vous n'avez besoin que de 9 * 3 = 27 valeurs par sonde. SH fait donc une représentation très compacte, mais aussi nécessairement très douce et floue de la lumière autour d'un point. Cela convient à l'éclairage diffus, et peut-être spéculaire avec une rugosité élevée.

Cette capture d'écran de Simon's Tech Blog montre un tableau de sondes de lumière SH espacées dans une scène, chacune montrant l'éclairage indirect reçu à ce point:

Réseau de sondes lumineuses SH

L'autre signification actuellement courante de "sonde de lumière" est une carte de cube d'environnement dont les niveaux de mip ont été pré-flous à différentes étendues de sorte qu'elle peut être utilisée pour un éclairage spéculaire avec différents niveaux de rugosité. Cette image du blog de Seb Lagarde montre l'idée de base:

Niveaux de mip cubemap préfiltrés

Les mips de plus haute résolution (vers la gauche) sont utilisés pour les surfaces hautement polies où vous avez besoin d'une image réfléchie détaillée. Vers la droite, les niveaux de mip de résolution inférieure sont de plus en plus flous et sont utilisés pour les réflexions des surfaces rugueuses. Dans un shader, lors de l'échantillonnage de ce cubemap, vous pouvez calculer votre niveau de mip demandé en fonction de la rugosité du matériau et profiter du matériel de filtrage trilinéaire.

Ces deux types de sondes lumineuses sont utilisés dans les graphiques en temps réel pour approximer l'éclairage indirect. Alors que l'éclairage direct peut être calculé en temps réel (ou au moins bien approché pour les éclairages de zone), l'éclairage indirect est généralement encore cuit dans un prétraitement hors ligne en raison de sa complexité et de ses frais de calcul.

Traditionnellement, le résultat du processus de cuisson serait des lightmaps, mais les lightmaps ne fonctionnent que pour un éclairage diffus sur une géométrie statique, et ils prennent en outre beaucoup de mémoire. La cuisson d'un tas de sondes lumineuses SH (vous pouvez vous en offrir beaucoup car elles sont très compactes), plus une pulvérisation plus clairsemée de sondes lumineuses cubemap, vous permet d'obtenir un éclairage indirect diffus et spéculaire décent sur les objets statiques et dynamiques. Ils sont une option populaire dans les jeux aujourd'hui.

Nathan Reed
la source
Grande explication! Juste pour confirmer la partie sur l'utilisation du filtrage trilinéaire sur les mips ... Les mips sont préférés aux textures de volume car ils utilisent moins de résolution, et les niveaux de flou plus élevés nécessitent moins de résolution?
Alan Wolfe
1
Je dirais que ces deux "types" de sondes lumineuses sont les mêmes. Les sondes lumineuses sont une mesure du rayonnement (généralement pré-alambiqué d'une certaine manière) reçu à un point de la scène. Cubemaps et SH ne sont que des façons différentes de stocker / calculer une sonde de lumière, faisant des compromis différents de stockage / perf / qualité. (EDIT: Juste pour être clair, je suis d'accord avec la réponse, je pense simplement qu'il est contre-productif de les considérer comme des choses distinctes.)
yuriks
@AlanWolfe Il y a une utilité et c'est d'avoir des cartes pour un éclairage diffus prises à partir d'un environnement réel (appelé boule grise / boule blanche), pas seulement spéculaire. Voici une discussion des deux Shaders Mirror / Gray Ball
joojaa
1
@AlanWolfe Correct & mdash; vous avez besoin de moins de résolution sur les niveaux les plus flous. De plus, les textures de volume cubemap ne sont pas une chose qui existe dans le matériel. :)
Nathan Reed