diff options
| author | Anthony LaTorre <tlatorre9@gmail.com> | 2011-09-06 17:18:14 -0400 |
|---|---|---|
| committer | Anthony LaTorre <tlatorre9@gmail.com> | 2011-09-06 17:18:14 -0400 |
| commit | 86cb5f26029b3357727b88fee3fa7dd799a8d6c8 (patch) | |
| tree | fc915556ef813cf4ad59edeb7b59fee0e3244c34 /src/materials.h | |
| parent | 3d3140071713e523516793258e3c904ca162d7b7 (diff) | |
| download | chroma-86cb5f26029b3357727b88fee3fa7dd799a8d6c8.tar.gz chroma-86cb5f26029b3357727b88fee3fa7dd799a8d6c8.tar.bz2 chroma-86cb5f26029b3357727b88fee3fa7dd799a8d6c8.zip | |
geometry on the GPU is now a struct created in the GPUGeometry class. coding style for cuda code is now compliant with python PEP 7 -- Style Guide for C Code.
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 |
