Я пытаюсь отобразить отражения объектов в моей сцене на другую модель в той же сцене.Вот фрагмент кода в моей функции фрагмента, которая обрабатывает зеркальное освещение.(Я делаю это в металле, но было бы полезно лишь общее объяснение того, как это делается, я могу применить его к своему приложению).
//Specular Color
float3 reflection = reflect(light.direction, unitNormal);
float specularFactor = pow(saturate(-dot(reflection, unitEye)), vIn.shininess);
float3 specularColor = float3(1.0, 0, 0) * vIn.specularIntensity * specularFactor;
color = color * float4(ambientColor + diffuseColor + specularColor,1);
unitEye
- это просто единичный векторположение глаза (положение кулачка).Линия внизу просто складывает мои 3 цвета (окружающий, рассеянный и зеркальный).Из того, что я понимаю, мое текущее зеркальное освещение будет преобразовано в мое отражающее освещение.Например, float3(1,0, 0, 0)
будет просто отражать цвет на моем объекте.Вот изображение того, что я пытаюсь сделать для разъяснения.