Qu'est-ce que cela signifie "cuire des lumières"?

36

Que signifie cuire lightmap? J'ai entendu cela dans Unity3d, et encore une fois, j'ai trouvé ce plugin LightUp pour sketchup qui cuit lightmap.

D'après ce que j'observe, le lightmap cuit donne à l'objet 3D une sensation beaucoup plus réaliste. Est-ce que le but de cuire de la lumière sur un objet est de donner à l’animation cg l’aspect que vous voyez sur les animations prédéfinies?

Kim Jong Woo
la source
En outre, chaque fois que vous faites cuire quelque chose, que ce soit sa physique, son éclairage ou autre chose. Cela signifie que vous avez configuré quelque chose dont le rendu / traitement prend beaucoup de temps en temps réel, ou que vous voulez qu'il soit lu de la même manière à chaque fois. tous les calculs sont faits, l'affichage de ce qui a été cuit est rapide et toujours le même à travers tous les tours.
AttaquerHobo
AttackingHobo, c'est un excellent moyen de le dire. Je le comprends maintenant. Mais curieux, comment cuire la physique? Luxrender produit-il des rendus photoréalistes, car ils peuvent calculer la physique de la lumière?
Kim Jong Woo
1
La physique peut être préparée pour des scènes complexes en simulant et en enregistrant une fois toutes les positions des objets, ainsi que les rotations, etc. pour chaque pas de temps. Ensuite, au lieu de recalculer toutes les valeurs en direct, elles sont simplement lues à partir des valeurs stockées.
AttaquerHobo

Réponses:

53

Lorsque vous avez une lumière statique (non mobile) dans un jeu, vous avez deux options pour rendre cette lumière. Vous pouvez le rendre comme une lumière dynamique. c'est-à-dire alimentez-le par le pipeline de shader qui calculera son effet sur tout ce qui l'entoure, chaque image, en allant à l'écran. C'est évidemment assez cher. Ou encore, un éditeur peut faire entrer la lumière dans la scène.

Ce que j'ai toujours pensé de la cuisson était peut-être une version plus simple: l'éditeur prend simplement les textures de tout ce qui entoure la lumière, calcule l'effet de la lumière sur ces textures (les éclaircit, peut-être même, les ombres, etc.) et les enregistre en tant que textures de remplacement à utiliser. Ainsi, toutes les textures autour de la "lumière" ont l'air d'être éclairées, mais au moment de l'exécution, il n'y a pas de lumière du point de vue du calcul; c'est une illusion d'optique, essentiellement.

L'unité, cependant, semble générer une lightmap . Ceci est similaire à la notion ci-dessus, mais l'éclairage cuit est conservé séparément au lieu de modifier la texture sous-jacente, et je suppose qu'un shader fusionne les deux au moment de l'exécution. Cela aurait l’avantage de conserver l’avantage des textures en mosaïque (c’est-à-dire une faible utilisation de la mémoire), car elles ne laisseraient pas la lumière pénétrer à l'intérieur, elles pourraient donc rester en mosaïque et le shader serait très léger, en particulier par rapport au traitement de l'image. léger comme dynamique.

Une lumière doit évidemment être statique pour que cela fonctionne; c'est-à-dire que vous ne pouvez pas le déplacer pendant le jeu, car la lumière a été introduite dans les textures. De plus, aucun objet dynamique dans la pièce (tel que le personnage du joueur) n'aura la lumière qui brille dessus, il doit donc exister une sorte d'exception, dans laquelle la lumière est rendue pour les objets dynamiques mais n'est pas (re) rendue le le paysage statique.

Rachitisme
la source
12
Et la plupart du temps, parce que l'éclairage est doux, la lightmap peut être enregistrée avec une résolution plus basse que le reste des textures, a toujours une belle apparence, mais rend le rendu plus rapidement et utilise moins de mémoire.
AttaquerHobo
+1, c'est une réponse vraiment agréable et complète, merci. :)
Xeo