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;
}
如果有一种方法可以使照明成为纯色就好了,但是您可以为此使用空白的白色图像。
我正在制作一个小模型太阳系,并尝试学习更精细的照明点。太阳被建模为一个带有我发现的漫反射贴图纹理的球体,我在它的中心添加了一个 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;
}
如果有一种方法可以使照明成为纯色就好了,但是您可以为此使用空白的白色图像。