summaryrefslogtreecommitdiff
path: root/camera.py
AgeCommit message (Collapse)Author
2011-08-17move useful bits from view.py into camera.py and get rid of view.pyAnthony LaTorre
2011-08-17import chroma modules from subpackages with import chroma.module_nameAnthony LaTorre
2011-08-16Draw hits with charge rather than time.Stan Seibert
2011-08-15special camera modeStan Seibert
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-12Widen the field of view in camera to make it easier to look at Cherenkov ↵Stan Seibert
rings from inside the detector.
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-09Autodetect presence of Space Navigator rather than require an option.Stan Seibert
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-09Update camera to use SpaceNav over X11 protocol. Now events pass through ↵Stan Seibert
pygame loop.
2011-08-08toggle fullscreen mode with f11 key. use matplotlib colors maps defined in ↵Anthony LaTorre
matplotlib.cm.
2011-08-08add a simple event viewer. view events by running ./camera.py ↵Anthony LaTorre
<detector_name> -i <name_of_io_file>.
2011-08-05--spnav option to camera.py enables camera control with aStan Seibert
locally-attached Space Navigator 3D mouse. Assumes you have the open source spacenavd and libspnav installed. (Both included in Ubuntu now.)
2011-08-03merge headsAnthony LaTorre
2011-08-03add a GPU class to handle both the gpu context and module; since the ↵Anthony LaTorre
geometry requires global device pointers, there should be a one to one correspondence between modules and contexts. the current plan is to perform all gpu operations within this class. also add a simple color map to display hit pmt charge and timing information.
2011-08-03Merge with TonyStan Seibert
2011-07-30reduce number of lookup calls.Anthony LaTorre
2011-07-30you can rotate just the camera by holding the control key and take movies by ↵Anthony LaTorre
pressing the m key.
2011-07-30when throwing photons from the light source out onto the scene, photons are ↵Anthony LaTorre
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.
2011-07-28Support for reading bz2 compressed STL files.Stan Seibert
2011-07-27camera automatically increases render quality when it is not being movedAnthony LaTorre
2011-07-26added a camera class which is able to render using the simple ray tracer or ↵Anthony LaTorre
the hybrid monte carlo ray tracer in a separate thread. the camera object is initialized by passing a pycuda.driver.Context object and a threading.Lock object; you can then run kernels and copy arrays to and from the device in the same context as that used by the camera by acquiring the lock, calling context.push(), executing the kernel and/or copying arrays, calling context.pop(), and then releasing the lock. fixed mistakes in both build_rgb_lookup() and render() where I had accidently switched the green and blue photons. updated the lbne geometry with the latest specifications. added profiles for the sno pmt and concentrator.
2011-05-17added documentationAnthony LaTorre
2011-05-15cleanup. fixed testsAnthony LaTorre
2011-05-15new geometry class. beginning to implement physics by defining a material ↵Anthony LaTorre
class; each triangle will have a material linked to both of its sides