Курсовая работа: Отрисовка сцены "Отражающиеся дорожки" алгоритмом обратной трассировки лучей

* @author Алексей

*/

public class Surface {

public float ir, ig, ib; // цветобьекта

public float kRasseivania, kOtragenia, ns; // константыдляосвещенияобьекта

public float kt, kr; // коэффициентыматериала

private float TINY = 0.001f;

private float I255 = 0.00392156f;

private WorkVector luch;

public Surface (float rval, float gval, float bval, float d,

float s, float n, float r, float t) {

ir = rval; ig = gval; ib = bval; // задание цвета поверхности

kRasseivania = d; // рассеивающая составляющая поверхности

kOtragenia = s; // отражающая составляющая поверхности

ns = n;

kr = r*I255;

kt = t*I255;

}

public Color Shade (WorkVector p, WorkVector n, WorkVector v, Vector lights, Vector objects, Color bgnd) // возвращаетполученныйцветобьектавточке

// нормаль в точке пересечения (n)

// вектор направленный в точку из которой пришел лучь (v)

{

float r = 0; // обнуляем

float g = 0;

float b = 0;

for (int i = 0; i < lights.size(); i++) { // цикл, в котором расчитывается освещенность

Light light = (Light) lights.elementAt(i); // взятиетекущегоистчоникаосвещения

luch = new WorkVector (light.lightvec.sub(p)); // задаем вектор luch как вектор от источника освещения до точки обьекта

luch.normalize(); // нормализируем вектор luch чтобы получить вектор направления от источника освещения к точке обьекта

К-во Просмотров: 318
Бесплатно скачать Курсовая работа: Отрисовка сцены "Отражающиеся дорожки" алгоритмом обратной трассировки лучей