public BLumiereDirectionnelle(final Vector3f _vecteur, final Color _couleur) { couleur_ = _couleur; direction_ = _vecteur; l_ = new DirectionalLight(new Color3f(_couleur), _vecteur); l_.setCapability(Light.ALLOW_STATE_WRITE); l_.setCapability(Light.ALLOW_STATE_READ); l_.setCapability(Light.ALLOW_COLOR_WRITE); l_.setCapability(Light.ALLOW_COLOR_READ); l_.setCapability(DirectionalLight.ALLOW_DIRECTION_WRITE); l_.setCapability(DirectionalLight.ALLOW_DIRECTION_READ); l_.setCapability(Node.ALLOW_BOUNDS_READ); l_.setCapability(Node.ALLOW_BOUNDS_WRITE); l_.setCapability(Light.ALLOW_INFLUENCING_BOUNDS_READ); l_.setCapability(Light.ALLOW_INFLUENCING_BOUNDS_WRITE); setCapability(ALLOW_AUTO_COMPUTE_BOUNDS_READ); setCapability(ALLOW_AUTO_COMPUTE_BOUNDS_READ); l_.setInfluencingBounds(new BoundingSphere(new Point3d(), 100)); for (int i = 18; i < 20; i++) { l_.setCapability(i); } addChild(l_); setName("Direction"); }
/** * Adds a directional light of color col which shines in the direction vector (x, y, z) */ public static Light directionalLight (double x, double y, double z, Color col) { DirectionalLight light = new DirectionalLight(); light.setColor(new Color3f(col)); light.setInfluencingBounds(INFINITE_BOUNDS); light.setCapability(DirectionalLight.ALLOW_STATE_WRITE); light.setCapability(DirectionalLight.ALLOW_COLOR_WRITE); light.setEnable(true); BranchGroup bg = createBranchGroup(); TransformGroup tg = createTransformGroup(); tg.addChild(light); bg.addChild(tg); lightGroup.addChild(bg); Light l = new Light(bg, tg, light); l.setDirection(new Vector3D(x, y, z)); return l; }
/** * Adds a directional light of color col which shines in the direction vector (x, y, z) */ public static Light directionalLight (double x, double y, double z, Color col) { DirectionalLight light = new DirectionalLight(); light.setColor(new Color3f(col)); light.setInfluencingBounds(INFINITE_BOUNDS); light.setCapability(DirectionalLight.ALLOW_STATE_WRITE); light.setCapability(DirectionalLight.ALLOW_COLOR_WRITE); light.setEnable(true); BranchGroup bg = createBranchGroup(); TransformGroup tg = createTransformGroup(); tg.addChild(light); bg.addChild(tg); lightGroup.addChild(bg); Light l = new Light(bg, tg, light); l.setDirection(new Vector3D(x, y, z)); return l; }