Предположим, у меня есть плоское идеальное зеркало. Как найти то, что он отражает? Легко, переместите камеру в положение, которое выглядит под углом падения.Отражение от изогнутой поверхности - HLSL
Теперь, если это плоское зеркало было изогнутым или сферическим? Как бы я нашел отражение объекта А, если бы объект В был не плоским, идеальным зеркалом.
Предположительно, для этого потребуется какой-то трассировка лучей (не уверен, как это сделать в HLSL ... пока), но я предполагаю, что это будет убийца производительности. Так кто-нибудь сделал это раньше и знал, что делать сейчас? Если это так, есть ли более простой способ? Как ты сделал это?
EDIT: Это должно работать в DX9
Размышление вслух - можете ли вы отразить плоское отражение текстуры, а затем отобразить эту текстуру по любой форме, в которой находится ваше зеркало? –
Существует технология под названием «отражения на экране», которые выполняют некоторые трассировки лучей, но упрощаются для использования в реальном времени. Может быть, это интересно для вас :) – Gnietschow
@Gnietschow это должно работать в DX9, и из быстрого поиска в Google ваша техника кажется специфичной для DX11 (пожалуйста, поправьте меня, если я ошибаюсь). Интересный ответ, хотя, я буду держать в памяти отражения экрана. – MetaReference