Closed sethrj closed 5 months ago
@elliottbiondo This next please. Even though I have others that are in the queue, I'd like to get the "capability" requests in before the performacne ones.
@elliottbiondo Does af5b5d0bafa13d9d2f3d7ca5f8286f964abee007 address the documentation/explanation well enough?
@sethrj I am familiar with the the upper-left origin convention and think it's good to have here. My comment was w.r.t. why the downward basis vector is being set to a diagonal:
"Set downward axis to the diagonal with the rightward component"
@elliottbiondo You missed the second line of the comment:
// Set downward axis to the diagonal with the rightward component
// subtracted out; then normalize
i.e. it's turning the diagonal vector into an orthonormal vector by projecting the diagonal onto the rightward basis vector, subtracting out, and normalizing.
@sethrj okay I see what you mean. I think something like "calculate the downward vector from the diagonal" would be more straightforward.
This restructures the data backend and core raytracing kernel from
demo-rasterizer
. That app is now temporarily disabled, to be restored in #1191.This is working toward https://github.com/celeritas-project/celeritas/issues/778 . It refactors the GPU-only kernel as an executor and a couple of helper classes. Unlike the demo rasterizer, the current imager and ray tracer should be compatible with any combination of geometry and execution space.
ImageParams
is the specification for a "window", a 2D rectangle in 3D spaceImage
is an actual visualization of that window, possibly generated by different geometries, different methods, or by different memory/execution spacesImageLineView
is a helper class for updating a horizontal line of the imageRaytracer
calculates a single integer value for a pixel in the image