RFR: 8255015: Inconsistent illumination of 3D shape by PointLight [v11]

Andreas Heger duke at openjdk.java.net
Tue Oct 26 19:48:47 UTC 2021


On Mon, 25 Oct 2021 23:50:09 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Andreas Heger has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision:
>> 
>>  - Merge branch 'openjdk:master' into fix-8255015
>>  - 8255015: Comments corrected
>>  - 8255015: Comment about copying pixel scale factors corrected
>>  - 8255015: Tabs removed from PointLightIllumination.java
>>  - Merge branch 'openjdk:master' into fix-8255015
>>  - 8255015: JUnit Test class added.
>>  - Merge branch 'openjdk:master' into fix-8255015
>>  - Merge branch 'openjdk:master' into fix-8255015
>>  - Merge branch 'openjdk:master' into fix-8255015
>>  - 8255015: Copy pixel scale factors from graphics object to subscene graphics so that the position of lights will be scaled correctly on retina displays
>
> tests/system/src/test/java/test/robot/test3d/PointLightIlluminationTest.java line 67:
> 
>> 65:     private static final int    LOWER_CORNER_Y     = (int) (SCENE_WIDTH_HEIGHT * (1 - CORNER_FACTOR));
>> 66:     private static final double COLOR_TOLERANCE    = 0.07;
>> 67:     private static Scene testScene;
> 
> This is created on one thread and tested on another (to see whether it's already been created), so I recommend making it `volatile` (i.e., `private static volatile ...`). Also, you might want to explicitly set it to `null` since you rely on it (yes, I know `null` is the default).

@kevinrushforth Thanks for the hint about about making the variable volatile! I've just updated the class accordingly.

-------------

PR: https://git.openjdk.java.net/jfx/pull/531


More information about the openjfx-dev mailing list