I have a basic conceptual question: While a core component of Radiance rendering is ray-tracing (which makes the calculations view dependant), how does Radiance estimate view-independent illuminance/luminance values for the calculation points/grids?
calculation points/grids are also view dependent, each point has a origin and a single viewing direction.
There is some amount of additional wizardry behind the scenes including direct source sampling and adaptive sampling on the picture (the -ps option of rpict), but at a basic conceptual level, when you render a “view” each pixel is just a vector with an origin (the view point) and a direction to sample. This is just like a grid of points, except typical point grids vary the origin with a constant direction. Two examples to play around with to help illustrate this:
If you render a parallel view of a floor plan using the -i flag of rpict, what is happening is you are calculating the illuminance at each view ray intersection (normal to the surface) in the scene, which in this case will be the floor, what you have done is calculated a grid with spacing (view size)/(resolution) looking up.
To see this more explicitly, you can look at the vwrays command, try something like this:
vwrays -vf view.vf -x 20 -y 20
This will generate a set of view rays that can be fed to rtrace just like a point grid.
Hopefully you found that helpful…