JavaFX: подсветка объекта изнутри - PullRequest
0 голосов
/ 29 февраля 2020

Я делаю маленькую модель солнечной системы и пытаюсь изучить тонкости освещения. Солнце моделируется как сфера с диффузной текстурой карты, которую я нашел, и я добавил PointLight в его центр. Он очень хорошо освещает другие планеты, но само солнце темно. Как правильно сделать объект сияющим, а не просто отражающим?

1 Ответ

1 голос
/ 29 февраля 2020

Конечно, я нашел ответ сразу после публикации. Ключом является setSelfIlluminationMap метод в PhongMaterial:

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;
}

Было бы неплохо, если бы был способ просто сделать подсветку цветом solid, но вы могли бы просто использовать пустое белое изображение для этого.

...