diff options
Diffstat (limited to 'src/materials.h')
-rw-r--r-- | src/materials.h | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/materials.h b/src/materials.h deleted file mode 100644 index 2355d24..0000000 --- a/src/materials.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef __MATERIALS_H__ -#define __MATERIALS_H__ - -__device__ float min_wavelength; -__device__ float max_wavelength; -__device__ float wavelength_step; -__device__ unsigned int wavelength_size; - -struct Material -{ - float *refractive_index; - float *absorption_length; - float *scattering_length; -}; - -struct Surface -{ - float *detect; - float *absorb; - float *reflect_diffuse; - float *reflect_specular; -}; - -__device__ Material materials[20]; -__device__ Surface surfaces[20]; - -__device__ float interp_property(const float &x, const float *fp) -{ - if (x < min_wavelength) - return fp[0]; - - if (x > max_wavelength) - return fp[wavelength_size-1]; - - int jl = (x-min_wavelength)/wavelength_step; - - return fp[jl] + (x-(min_wavelength + jl*wavelength_step))*(fp[jl+1]-fp[jl])/wavelength_step; -} - -extern "C" -{ - -__global__ void set_wavelength_range(float _min_wavelength, float _max_wavelength, float _wavelength_step, unsigned int _wavelength_size) -{ - min_wavelength = _min_wavelength; - max_wavelength = _max_wavelength; - wavelength_step = _wavelength_step; - wavelength_size = _wavelength_size; -} - -__global__ void set_material(int material_index, float *refractive_index, float *absorption_length, float *scattering_length) -{ - materials[material_index].refractive_index = refractive_index; - materials[material_index].absorption_length = absorption_length; - materials[material_index].scattering_length = scattering_length; -} - -__global__ void set_surface(int surface_index, float *detect, float *absorb, float *reflect_diffuse, float *reflect_specular) -{ - surfaces[surface_index].detect = detect; - surfaces[surface_index].absorb = absorb; - surfaces[surface_index].reflect_diffuse = reflect_diffuse; - surfaces[surface_index].reflect_specular = reflect_specular; -} - -} // extern "c" - -#endif |