I feel like we should just remove the translation in projection_orthographic
instead of explicitly undoing it here.
The rather boring outcome of an interesting investigation 😄
Before realizing the problem, I tested a number of other approaches:
- "Tweak": The tweak mentioned in footnote 5 of @nathanvegd…
To provide more context here following the meeting discussion:
This operation would sit in the display transformation pipeline, at the same stage where the curve mapping currently is.
There's…
Code seems mostly fine, just a few nitpicks. I've also left comments in the existing threads.
Not sure if we have guidelines for comment style, but I think C-style /* */
comments are preferred?
Nitpick: mix(range.x, range.y, u)
and mix(range.z, range.w, v)
.
Nitpick: inverse_lerp(atan2f(dir.y, dir.x), range.x, range.y)
and inverse_lerp(dir.z, range.z, range.w)
I don't think we need a subversion bump here, you can just use DNA_struct_member_exists
since the fields are new.
We could make it clearer (through the comment) that this really is a factor relative to the cylinder radius, whatever it is. For an end user, it should be straightforward to compute `physical…
Update: Here's a version with the CDF lookup table approach, as described in the paper. The LUT is generated by the attached script: [precompute_sample_table.py](/attachments/ede23608-058c-44f4-b87…
After some tweaking, I got the approximation error down to 0.004% on average and 0.08% maximum (out of 10000 random inputs) using a 32x32 table.
This also behaves well in the limits from what I…