2016-11-27 7 views
1

J'ai une scène de base avec un sol et une lumière unique. Mais où la lumière c'est la maille, elle produit des effets étranges. Les ombres sont coulées sans problème, mais toutes les autres mailles affectées par la lumière produisent un effet étrange.La lumière réfléchit change le matériau

Here is a Online demo.

Et voici un screenshoot que ce qui se passe: enter image description here enter image description here

Le carré noir sur le sol et les lumières noires sont produites par la lumière.

+0

Cela ressemble à des problèmes numériques. Montrer du code. Avez-vous un plan de clipping proche et lointain configuré raisonnablement? –

Répondre

1

Cet artefact ressemble à ce que l'on appelle «l'acné cachée». Il s'agit d'un problème courant de mappage d'ombre. Juste une petite modification est nécessaire dans le shader qui prend en charge le mappage d'ombre.

Vous pouvez trouver un guide très bien écrit sur le mappage d'ombre here. Fondamentalement, il y a deux solutions expliquées ici:

  1. Rendu de la carte d'ombre en utilisant les faces arrière.
  2. Ajoutez un biais au test qui détermine si un fragment est occlus.

Bien sûr, pour ce faire, vous devez avoir accès aux fragment shaders.