Я пытаюсь написать программу на java с нуля, которая визуализирует сферу с помощью техники raycasting и фонговой подсветки, но я немного потерялся.
Я понимаю концепцию коэффициентов уравнения фонга, но я не понимаю, как добраться до векторных значений и какое отношение все это имеет к приведению лучей.
Итак, скажем, я хочу отобразить сферу в середине экрана, и у меня есть ее положение и радиус, поэтому (cx, cy, r). С чего конкретно мне начать сейчас? как именно я могу получить значения вектора? моя идея заключается в следующем (псевдокод)
int cx = window width/2
int cy = window height/2
int r = 30;
for(i = 0 -> window height) {
for(j = 0 -> window width) {
if( (j-cx)^2 + (i-cy)^2 < r^2) {
//point inside
Color c = phong(arguments..)
draw pixel j,i with color c
}
}
}
но я понятия не имею, правильно это или нет, и если да, то как мне получить векторные значения, для начала, Нормальный?
не могли бы вы указать мне в правильном направлении? Я пытался много гуглить, но безуспешно, заранее спасибо