JavaFX:从内部照亮对象

JavaFX: Illuminate object from inside

我正在制作一个小模型太阳系,并尝试学习更精细的照明点。太阳被建模为一个带有我发现的漫反射贴图纹理的球体,我在它的中心添加了一个 PointLight。它很好地照亮了其他行星,但太阳本身是黑暗的。让物体看起来光彩夺目而不仅仅是反光的正确方法是什么?

当然,我在发帖后就找到了答案。关键是PhongMaterial中的setSelfIlluminationMap方法:

private static Sphere buildGlowingPlanet(double radius, Image diffuseMap, Image selfIlluminationMap) {

    Sphere planet = new Sphere(radius);

    PhongMaterial planetMaterial = new PhongMaterial();
    planetMaterial.setDiffuseMap(diffuseMap);
    planetMaterial.setSelfIlluminationMap(selfIlluminationMap);

    planet.setMaterial(planetMaterial);

    return planet;
}

如果有一种方法可以使照明成为纯色就好了,但是您可以为此使用空白的白色图像。