public class SRaytracerRunnable extends SAbstractRaytracer implements java.lang.Runnable
Constructor and Description |
---|
SRaytracerRunnable(SViewFrustum view_frustum,
SShader shader,
SViewport viewport,
int sampling,
int nb_pixel_to_calculate)
Constructeur d'une tâche de ray tracing.
|
Modifier and Type | Method and Description |
---|---|
int |
nbPixels()
Méthode pour obtenir le nombre total de pixels à calculer.
|
void |
raytrace(int nb_pixel)
Méthode pour effectuer le raytracing de la scène sur un nombre limité de pixels du viewport.
|
void |
run() |
void |
setColorViewport()
Méthode pour faire l'affectation des couleurs calculées dans le viewport.
|
raytrace
public SRaytracerRunnable(SViewFrustum view_frustum, SShader shader, SViewport viewport, int sampling, int nb_pixel_to_calculate) throws SConstructorException
view_frustum
- - La pyramide de vue.shader
- - Le calculateur d'illumination.viewport
- - L'écran de vue.sampling
- - Le nombre de rayon par pixel dans le calcul de la couleur.nb_pixel_to_calculate
- - Le nombre de pixels qui seront calculés lors de l'exécution de la tâche.SConstructorException
- - Si le nombre de rayons par pixel (sampling) est inférieur à 1.public int nbPixels()
SRaytracer
nbPixels
in interface SRaytracer
nbPixels
in class SAbstractRaytracer
public void setColorViewport() throws SRuntimeException
SRuntimeException
- S'il y avait des calculs à effecter et qu'ils n'ont pas été réalisés.public void raytrace(int nb_pixel) throws SRuntimeException
SRaytracer
raytrace
in interface SRaytracer
nb_pixel
- - Le nombre de pixels à calculer. Si le nombre est supérieur aux pixels disponibles, ils seronts tous calculés.SRuntimeException
- Si le nombre de pixels à calculer est négatif.public void run()
run
in interface java.lang.Runnable