![]() |
DPOINT Documentation
[revenir à la page d'accueil] |
extern void dpoint_init(MODEL *model, DPOINT *point);
extern MATERIAL *dpoint_get_material_ptr(DPOINT *point);
renvoie la matière associée au point.extern float dpoint_brdf(DPOINT *point, VEC in, VEC out);
renvoie la valeur de la brdf au point pour un
coupe de directions incidente (in) et réfléchie (out).
extern float dpoint_brdf_3points(DPOINT *o, DPOINT *p, DPOINT *q);
renvoie la valeur de la brdf au point pour un
triplet de points. La lumière est émise par Q et
réflechie par P vers O.int dpoint_trace_ray(DPOINT *point, VEC w, DPOINT *q);
détermine le point Q visible du point dans la direction wint dpoint_visibility_ray(DPOINT *p, DPOINT *q);
vérifie que les points P et Q sont visibles.extern float dpoint_get_dWdA(DPOINT *p, DPOINT *q);
calcule et renvoie le changement de mesure dW / dA entre les points P et Q.
extern float dpoint_get_G(DPOINT *p, DPOINT *q);
calcule et renvoie le couplage géometrique, noté G(p q), entre les points P et G._sample_
sont couplées avec une fonction _weight_
qui calcule la probabilité d'un échantillon passé en paramètre.extern void dpoint_sample_direction(DPOINT *point, VEC w, float *pw);
extern float dpoint_weight_direction(DPOINT *point, VEC w);
échantillonnage selon une loi uniforme. La probabilité est exprimée sur les directions.extern void dpoint_sample_direction_cos(DPOINT *point, VEC w, float *pw);
extern float dpoint_weight_direction_cos(DPOINT *point, VEC w);
échantillonnage selon une direction w
proportionnelle au cosinus avec la normale du point. La
probabilité est exprimée sur les directions.extern int dpoint_sample(DPOINT *point, DPOINT *q, float *pa);
extern float dpoint_weight(DPOINT *point, DPOINT *q);
extern int dpoint_sample_cos(DPOINT *point, DPOINT *q, float *pa);
extern float dpoint_weight_cos(DPOINT *point, DPOINT *q);