|
|
On 2/11/22 14:42, Kenneth wrote:
> Sorry for the long delay, I needed to wrap my mind around your very useful
> comments and to run some more tests.
>
> This camera-normal stuff is indeed weird, and certainly not as simple to fix as
> I thought.
No worries - this our hobby - we play when able. ...And, I cannot count
the number of times I've mumbled to myself, "...not as simple to fix as
I thought." :-)
Aside: I find your images here appealing.
---
I'll start by saying I'm sure I don't see or understand all that can
happen when apply a normal block to the camera. That said, I think your
general rules more or less correct.
(2) - Whether the pattern is centered or not will depend on the pattern.
Internally the coordinates any pattern sees from the camera are
-0.5,-0.5,0 to +0.5,+0.5,0.0.
(3) - Yes. The camera direction vector is effectively the raw normal
into the normal pattern. (I've wondered whether there are any AA induced
distortions when perturb camera rays with a normal{}. We, there, are
twiddling with ray directions)
(4) - Yes. Similarly, beyond the simplest user defined functional camera
set ups, figuring out how to set up a camera in a way which behaves in
an understandable across all possible transformations is difficult.
Aside: Unsure I mentioned it. There is an odd check in the normal.cpp
code whether a valid intersection exists. I initially took it to be an
unneeded conditional and added an assert to see if it ever tripped while
rendering. Camera normal{} and kaboom. Then had a reason for the
conditional and also served notice the perturbed normal information is
getting back to the camera direction rays by a somewhat different means
than usual.
Bill P.
Post a reply to this message
|
|