java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.PhotoLighting
de.grogra.gpuflux.imp3d.objects.SpectralPhotoLighting
- All Implemented Interfaces:
Transformation,Pickable,Renderable,Manageable,PersistenceCapable,Shareable,UserFields,XObject,Map,Serializable
A GPU Flux spectral variant of
PhotoLighting that uses physically
accurate spectral power distributions (SPDs) for sky and sun lights.
Overrides buildSkyDome() and buildSun() to return
SpectralSkyDome and SpectralSun instances with preset-
appropriate SPDs:
- Sky: CIE D65 (daylight, ~6504 K) for OVERCAST_DAY and CLEAR_NOON; CIE D50 (warm daylight, ~5003 K) for GOLDEN_HOUR.
- Sun: blackbody 5778 K for CLEAR_NOON; blackbody 2856 K (warm / incandescent-like) for GOLDEN_HOUR.
Example XL usage with GPU Flux:
Axiom ==> new SpectralPhotoLighting(PhotoLighting.CLEAR_NOON);
- Author:
- MH at YNL 2026
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType -
Field Summary
FieldsFields inherited from class de.grogra.imp3d.objects.PhotoLighting
CLEAR_NOON, GOLDEN_HOUR, intensity, intensity$FIELD, OVERCAST_DAY, preset, preset$FIELD, STUDIOFields inherited from class de.grogra.imp3d.objects.Null
transform, transform$FIELD, TRANSFORMING_MASK, transforming$FIELD, USED_BITSFields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_FIELDS, bits, DELETED, EXPLICIT_EXTENT_INDEX, explicitExtentIndex$FIELD, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IMPORT_NODE_EXTENT_INDEX, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, LAST_VISIBLE_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD, TYPE_EXTENT_INDEXFields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP -
Constructor Summary
ConstructorsConstructorDescriptionCreates a SpectralPhotoLighting node with theCLEAR_NOONpreset.SpectralPhotoLighting(int preset) Creates a SpectralPhotoLighting node with the specified preset.SpectralPhotoLighting(int preset, float intensity) Creates a SpectralPhotoLighting node with the specified preset and intensity. -
Method Summary
Modifier and TypeMethodDescriptionReturns aSpectralSkyDomewith a preset-appropriate SPD, ornullfor thePhotoLighting.STUDIOpreset.buildSun()Returns aSpectralSunwith a preset-appropriate SPD, ornullfor presets that have no direct sun.protected Node.NTypeThis method returns theNode.NTypewhich describes the managed fields of the class of this node.protected NodeThis method returns a new instance of the class of this node.Methods inherited from class de.grogra.imp3d.objects.PhotoLighting
draw, getIntensity, getPreset, pick, setIntensity, setPresetMethods inherited from class de.grogra.imp3d.objects.Null
getLocalTransformation, getTransform, getTransformMatrix, getTranslation, isTransforming, postTransform, preTransform, setRotation, setScale, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransform, setTransforming, setTranslationMethods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, clone, cloneGraph, dump, dumpTree, dup, dup, dupFrom, dupnew, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIgnored, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, getShort, getSource, getStamp, getSuccessor, getSymbol, getSymbolColor, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isExplicitExtentIndex, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, paramString, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExplicitExtentIndex, setExtentIndex, setGraphForDeserialization, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, toString, writeReplaceMethods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
-
Field Details
-
$TYPE
-
-
Constructor Details
-
SpectralPhotoLighting
public SpectralPhotoLighting()Creates a SpectralPhotoLighting node with theCLEAR_NOONpreset. -
SpectralPhotoLighting
public SpectralPhotoLighting(int preset) Creates a SpectralPhotoLighting node with the specified preset.- Parameters:
preset- one ofPhotoLighting.OVERCAST_DAY,PhotoLighting.CLEAR_NOON,PhotoLighting.GOLDEN_HOUR,PhotoLighting.STUDIO
-
SpectralPhotoLighting
public SpectralPhotoLighting(int preset, float intensity) Creates a SpectralPhotoLighting node with the specified preset and intensity.- Parameters:
preset- one of the preset constantsintensity- global power multiplier (1.0 = nominal)
-
-
Method Details
-
buildSkyDome
Returns aSpectralSkyDomewith a preset-appropriate SPD, ornullfor thePhotoLighting.STUDIOpreset.- Overrides:
buildSkyDomein classPhotoLighting- Returns:
- configured
SkyDomeinstance, ornull
-
buildSun
Returns aSpectralSunwith a preset-appropriate SPD, ornullfor presets that have no direct sun.- Overrides:
buildSunin classPhotoLighting- Returns:
- configured
Sunnode, ornull
-
getNTypeImpl
Description copied from class:NodeThis method returns theNode.NTypewhich describes the managed fields of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
getNTypeImplin classPhotoLighting- Returns:
- type describing the managed fields of the class of this node
-
newInstance
Description copied from class:NodeThis method returns a new instance of the class of this node. This method has to be implemented in every concrete subclass.- Overrides:
newInstancein classPhotoLighting- Returns:
- new instance of class of this node
-