summaryrefslogtreecommitdiff
path: root/src/mesh.h
AgeCommit message (Collapse)Author
2011-09-11speedup triangle intersection by reducing STACK_SIZE.Anthony LaTorre
2011-09-10store geometry struct in shared memory. this increases photon propagation ↵Anthony LaTorre
speed from 3.3M -> 3.45!.
2011-09-10geometry -> g, triangle -> t. dot(-a,b) <-> -dot(a,b).Anthony LaTorre
2011-09-10update 3d mode to work properly when rendering multiple geometries.Anthony LaTorre
2011-09-06make min_distance argument to intersect_node() optional.Anthony LaTorre
2011-09-06geometry on the GPU is now a struct created in the GPUGeometry class. coding ↵Anthony LaTorre
style for cuda code is now compliant with python PEP 7 -- Style Guide for C Code.
2011-08-14Rewrite the color_solid function in gpu.GPU (and associated CUDA code)Stan Seibert
to make it 100x faster. Instead of having each CUDA thread loop over the full triangle list, we give each thread a single triangle and ask it to look up the hit status and color for that triangle. The hit array and color array are small enough (approx 30,000 entries) to fit into the cache, so this goes much faster. Now the event viewer is quite snappy!
2011-08-12do not check child nodes of a node at which the distance to the bounding box ↵Anthony LaTorre
is further than a triangle the ray/photon has already intersected
2011-08-11Switch from texture to float3 array for upper and lower bounds. 10% speed ↵Stan Seibert
boost!
2011-08-10add the ability to cache a geometry along with its bounding volume ↵Anthony LaTorre
hierarchy. cached files are stored in $HOME/.chroma. fixed the timeit() decorator so that the decorated function is still able to pass back a return value.
2011-08-09switch to indexing child nodes by start and stop indices instead of start ↵Anthony LaTorre
and length; this reduces a bit of arithmetic when traversing the bounding volume hierarchy and makes the code in Geometry.build() more concise. add an untested cuda kernel to interleave the bits in three uint64 arrays.
2011-08-08add a simple event viewer. view events by running ./camera.py ↵Anthony LaTorre
<detector_name> -i <name_of_io_file>.
2011-07-25moved triangle colors to a separate global device array so that the ray ↵Anthony LaTorre
tracer and photon simulation can be run in the same context. added the ability to add alpha channel to triangle color so that triangles can be made transparent. added __noinline__ modifier to certain device functions to speed up kernel compilation.
2011-07-20pulled a lot of the photon propagation code out of src/kernel.cu into ↵Anthony LaTorre
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.