Я работаю над реализацией рельефного отображения в своем собственном 3D-трассировщике. И, если быть совсем кратким, мне нужен такой результат:
Я читал страницы и страницы о рельефных картах, картах высот, картах нормалей, ... и я думаю, что понимаю большую часть предмета, разницу между всем вышеперечисленным и т. д. и т. д. (у меня работает perlin-bumpmapping - result). объект с текстурным изображением. Большинство документов и страниц более чем расплывчаты по этому вопросу.
Сначала я подумал, что вы просто добавите текстуру изображения к своему объекту, для данного пикселя вы вычислите цвет rgb из текстуры, а затем вычислите коэффициент яркости из значения rgb (что-то вроде значения оттенков серого,... ) и возмутил с его помощью нормаль перед добавлением световых эффектов. - Я хочу (ред.) рассчитать нормали на лету.
Вопрос: если вышеизложенное вообще возможно: как возмущать нормаль с учетом коэффициента легкости? И если я ошибаюсь, буду очень признателен за любые советы/ссылки, которые могли бы помочь мне продвинуться к данному результату.
Вопрос 2: если вышеперечисленное невозможно для любого заданного изображения RGB, может ли кто-нибудь объяснить, как исказить изображение с учетом карты высот? как первое изображение в Википедии Большое спасибо.
P.S: Я делаю/должен делать реализацию на Java.