Class SpotLight
- All Implemented Interfaces:
Styleable
,EventTarget
direction
vector
property.
In addition to the attenuation factors that control the light intensity over
distance, a SpotLight
has a light-cone attenuation factor, spot
, that is determined by 3 properties:
-
innerAngle
: the angle of the inner cone (see image below) -
outerAngle
: the angle of the outer cone (see image below) -
falloff
: the factor that controls the light's intensity drop inside the outer cone
0 <= innerAngle <= outerAngle <= 180
and falloff >= 0
;
values outside either of these ranges can produce unexpected results.
The angle of a point to the light is defined as the angle between its vector to the light's position and the
direction of the light. For such an angle theta
, if
theta < innerAngle
thenspot = 1
theta > outerAngle
thenspot = 0
innerAngle <= theta <= outerAngle
thenspot = pow((cos(theta) - cos(outer)) / (cos(inner) - cos(outer)), falloff)
which represents a drop in intensity from the inner angle to the outer angle.
0 <= spot <= 1
. The overall intensity of the light is I = lambert * atten * spot
.
SpotLight
s can represent point-like light sources with directionality. Flashlights and floodlights are
common light sources that can be simulated with this light type.
- Since:
- 17
- See Also:
-
Property Summary
TypePropertyDescriptionfinal ObjectProperty
<Point3D> The direction vector of the spotlight.final DoubleProperty
The intensity falloff factor of the spotlight's outer cone.final DoubleProperty
The angle of the spotlight's inner cone, in degrees.final DoubleProperty
The angle of the spotlight's outer cone, in degrees (as shown in the class doc image).Properties declared in class javafx.scene.PointLight
constantAttenuation, linearAttenuation, maxRange, quadraticAttenuation
Properties declared in class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
Field Summary
Fields declared in class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal ObjectProperty
<Point3D> The direction vector of the spotlight.final DoubleProperty
The intensity falloff factor of the spotlight's outer cone.final Point3D
Gets the value of thedirection
property.final double
Gets the value of thefalloff
property.final double
Gets the value of theinnerAngle
property.final double
Gets the value of theouterAngle
property.final DoubleProperty
The angle of the spotlight's inner cone, in degrees.final DoubleProperty
The angle of the spotlight's outer cone, in degrees (as shown in the class doc image).final void
setDirection
(Point3D value) Sets the value of thedirection
property.final void
setFalloff
(double value) Sets the value of thefalloff
property.final void
setInnerAngle
(double value) Sets the value of theinnerAngle
property.final void
setOuterAngle
(double value) Sets the value of theouterAngle
property.Methods declared in class javafx.scene.PointLight
constantAttenuationProperty, getConstantAttenuation, getLinearAttenuation, getMaxRange, getQuadraticAttenuation, linearAttenuationProperty, maxRangeProperty, quadraticAttenuationProperty, setConstantAttenuation, setLinearAttenuation, setMaxRange, setQuadraticAttenuation
Methods declared in class javafx.scene.LightBase
colorProperty, getColor, getExclusionScope, getScope, isLightOn, lightOnProperty, setColor, setLightOn
Methods declared in class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
direction
The direction vector of the spotlight. It can be rotated by setting a rotation transform on theSpotLight
. The vector need not be normalized.- Default value:
Point3D(0, 0, 1)
- See Also:
-
innerAngle
The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is not attenuated by the spotlight factor (spot = 1
). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is
0 <= innerAngle <= outerAngle
; values outside of this range can produce unexpected results.- Default value:
- 0
- See Also:
-
outerAngle
The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the light is greater than this angle receives no light (spot = 0
). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is
innerAngle <= outerAngle <= 180
; values outside of this range can produce unexpected results.- Default value:
- 30
- See Also:
-
falloff
The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is greater than the inner angle but less than the outer angle receives partial intensity governed by this factor. The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave drop. See the class doc for more information.The valid range is
0 <= falloff
; values outside of this range can produce unexpected results.- Default value:
- 1
- See Also:
-
-
Constructor Details
-
SpotLight
public SpotLight()Creates a new instance ofSpotLight
class with a defaultColor.WHITE
light source. -
SpotLight
Creates a new instance ofSpotLight
class using the specified color.- Parameters:
color
- the color of the light source
-
-
Method Details
-
setDirection
Sets the value of thedirection
property.- Property description:
- The direction vector of the spotlight. It can be rotated by setting a rotation transform on the
SpotLight
. The vector need not be normalized. - Default value:
Point3D(0, 0, 1)
- Parameters:
value
- the value for thedirection
property- See Also:
-
getDirection
Gets the value of thedirection
property.- Property description:
- The direction vector of the spotlight. It can be rotated by setting a rotation transform on the
SpotLight
. The vector need not be normalized. - Default value:
Point3D(0, 0, 1)
- Returns:
- the value of the
direction
property - See Also:
-
directionProperty
The direction vector of the spotlight. It can be rotated by setting a rotation transform on theSpotLight
. The vector need not be normalized.- Default value:
Point3D(0, 0, 1)
- Returns:
- the
direction
property - See Also:
-
setInnerAngle
public final void setInnerAngle(double value) Sets the value of theinnerAngle
property.- Property description:
- The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is
not attenuated by the spotlight factor (
spot = 1
). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is
0 <= innerAngle <= outerAngle
; values outside of this range can produce unexpected results. - Default value:
- 0
- Parameters:
value
- the value for theinnerAngle
property- See Also:
-
getInnerAngle
public final double getInnerAngle()Gets the value of theinnerAngle
property.- Property description:
- The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is
not attenuated by the spotlight factor (
spot = 1
). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is
0 <= innerAngle <= outerAngle
; values outside of this range can produce unexpected results. - Default value:
- 0
- Returns:
- the value of the
innerAngle
property - See Also:
-
innerAngleProperty
The angle of the spotlight's inner cone, in degrees. A point whose angle to the light is less than this angle is not attenuated by the spotlight factor (spot = 1
). At larger angles, the light intensity starts to drop. See the class doc for more information.The valid range is
0 <= innerAngle <= outerAngle
; values outside of this range can produce unexpected results.- Default value:
- 0
- Returns:
- the
innerAngle
property - See Also:
-
setOuterAngle
public final void setOuterAngle(double value) Sets the value of theouterAngle
property.- Property description:
- The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the
light is greater than this angle receives no light (
spot = 0
). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is
innerAngle <= outerAngle <= 180
; values outside of this range can produce unexpected results. - Default value:
- 30
- Parameters:
value
- the value for theouterAngle
property- See Also:
-
getOuterAngle
public final double getOuterAngle()Gets the value of theouterAngle
property.- Property description:
- The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the
light is greater than this angle receives no light (
spot = 0
). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is
innerAngle <= outerAngle <= 180
; values outside of this range can produce unexpected results. - Default value:
- 30
- Returns:
- the value of the
outerAngle
property - See Also:
-
outerAngleProperty
The angle of the spotlight's outer cone, in degrees (as shown in the class doc image). A point whose angle to the light is greater than this angle receives no light (spot = 0
). A point whose angle to the light is less than the outer angle but greater than the inner angle receives partial intensity governed by the falloff factor. See the class doc for more information.The valid range is
innerAngle <= outerAngle <= 180
; values outside of this range can produce unexpected results.- Default value:
- 30
- Returns:
- the
outerAngle
property - See Also:
-
setFalloff
public final void setFalloff(double value) Sets the value of thefalloff
property.- Property description:
- The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is
greater than the inner angle but less than the outer angle receives partial intensity governed by this factor.
The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a
linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave
drop. See the class doc for more information.
The valid range is
0 <= falloff
; values outside of this range can produce unexpected results. - Default value:
- 1
- Parameters:
value
- the value for thefalloff
property- See Also:
-
getFalloff
public final double getFalloff()Gets the value of thefalloff
property.- Property description:
- The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is
greater than the inner angle but less than the outer angle receives partial intensity governed by this factor.
The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a
linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave
drop. See the class doc for more information.
The valid range is
0 <= falloff
; values outside of this range can produce unexpected results. - Default value:
- 1
- Returns:
- the value of the
falloff
property - See Also:
-
falloffProperty
The intensity falloff factor of the spotlight's outer cone. A point whose angle to the light is greater than the inner angle but less than the outer angle receives partial intensity governed by this factor. The larger the falloff, the sharper the drop in intensity from the inner cone. A falloff factor of 1 gives a linear drop in intensity, values greater than 1 give a convex drop, and values smaller than 1 give a concave drop. See the class doc for more information.The valid range is
0 <= falloff
; values outside of this range can produce unexpected results.- Default value:
- 1
- Returns:
- the
falloff
property - See Also:
-