Age | Commit message (Collapse) | Author |
|
style for cuda code is now compliant with python PEP 7 -- Style Guide for C Code.
|
|
angular distribution is slightly different, and now fits with the
distribution given in the GEANT4 physics reference manual.
Unit test is now included to verify the correctness of the scattering.
|
|
at exactly normal incidence.
The plane of incidence was undefined in that case, but should have
been the plane normal to polarization vector.
|
|
number of rotational steps to extrude instead of the angle step size. updated documention in make.py.
|
|
|
|
|
|
[0.0,1.0]
|
|
photon into NaN on the GPU. Now we abort these photons rather than
let them lock up the intersect_mesh() method. There is a new history
bit (#31) that indicates when a NAN_ABORT has occurred, and this bit
is checked for by GPU.propagate(). If set for any of the photons, a
warning message is printed.
While not as good as preventing the NaN problem in the first place,
this at least ensures we are aware of the problem.
|
|
now thrown randomly across each triangle instead of only at the center of each triangle. all of the rendering kernels have been rewritten so that they operate additively; for example, you may now throw photons from the light source onto the scene, render from the camera to the scene, then throw more photons and render again.
|
|
you to copy photon information within a thread but still keep a single random number generator throughout the thread.
|
|
of each triangle. reduced the number of runs to average when propagating photons from each pixel in render.py from 5 to 1; the speed improvement outweighs any small improvement in the quality of the rendered image.
|
|
a boundary
|
|
src/photon.h so that photon propagation by propagate() in kernel.cu and the hybrid monte carlo ray tracing use the same code. instead of a single state, photons now carry the history of the processes they've undergone. this history is stored as a bitmask; see src/photon.h. start_node and first_node of the mesh are now stored as global variables in mesh.h instead of being passed to kernel functions.
|