On Sat, 14 Aug 2021 12:58:01 GMT, Nir Lisker <nlis...@openjdk.org> wrote:
>> Adds a directional light as a subclass of `LightBase`. I think that this is >> the correct hierarchy for it. >> >> I tried to simulate a directional light by putting a point light far away, >> but I got artifacts when the distance was large. Instead, I added an on/off >> attenuation flag as the 4th component of the attenuation 4-vector. When it >> is 0, a simpler computation is used in the pixel/fragment shader that >> calculates the illumination based on the light direction only (making the >> position variables meaningless). When it is 1, the point/spot light >> computation is used. It's possible that the vertex shader can also be >> simplified in this case since it does not need to transform the position >> vectors, but I left this optimization avenue for another time. >> >> I noticed a drop of ~1 fps in the stress test of 5000 meshes. >> >> I added a system test that verifies the correct color result from a few >> directions. I also updated the lighting sample application to include 3 >> directional lights and tested them on all the models visually. The lights >> seem to behave the way I would expect. > > My commit message was wrong. I updated the `@since` tag, not the copyright > year. I'll let the copyright year script do all the changed files together > instead of doing it by hand. @nlisker I reviewed the CSR as well, so you can finalize it. ------------- PR: https://git.openjdk.java.net/jfx/pull/548