передача информации о сцене на видеокарту через буфер для рендеринга отражений - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь отобразить отражения объектов в моей сцене на другую модель в той же сцене.Вот фрагмент кода в моей функции фрагмента, которая обрабатывает зеркальное освещение.(Я делаю это в металле, но было бы полезно лишь общее объяснение того, как это делается, я могу применить его к своему приложению).

 //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) будет просто отражать цвет на моем объекте.Вот изображение того, что я пытаюсь сделать для разъяснения.

enter image description here

...