java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.imp3d.objects.Null
de.grogra.imp3d.objects.CIELighting
de.grogra.gpuflux.imp3d.objects.SpectralCIELighting
- All Implemented Interfaces:
Transformation,Pickable,Renderable,Manageable,PersistenceCapable,Shareable,UserFields,XObject,Map,Serializable
A GPU Flux spectral variant of
CIELighting that uses physically
accurate spectral power distributions (SPDs) for sky and sun lights.
Overrides createPerezSunSky() to return a
SpectralPerezSunSky with SPDs appropriate for the sky condition:
- CIE types 1–9 (overcast / mixed) — CIE D65 (daylight, ~6504 K) for sky; D65 for sun beam.
- CIE types 10–15 (clear) — CIE D55 (~5500 K) for diffuse sky; blackbody 5778 K for direct sun beam.
CIELighting.inputMode is
CIELighting.CLOUD_COVER or CIELighting.TURBIDITY: clear skies (low cloud cover /
low turbidity) use D55 + solar blackbody; overcast conditions use D65 throughout.
Example XL usage with GPU Flux:
Axiom ==> new SpectralCIELighting(CIE_CLEAR, 52.0f, 172, 12, 0);
- 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.CIELighting
CIE_CLEAR, CIE_OVERCAST, CIE_PARTLY_CLOUDY, CIE_TYPE, cieType, cieType$FIELD, CLOUD_COVER, cloudCover, cloudCover$FIELD, dayOfYear, dayOfYear$FIELD, distance, distance$FIELD, hourOfDay, hourOfDay$FIELD, inputMode, inputMode$FIELD, latitude, latitude$FIELD, minuteOfHour, minuteOfHour$FIELD, turbidity, TURBIDITY, turbidity$FIELDFields 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 SpectralCIELighting node with CIE Type 7 (partly cloudy).SpectralCIELighting(int cieType, float latitude, int dayOfYear, int hourOfDay, int minuteOfHour) Creates a SpectralCIELighting node for a specific CIE sky type. -
Method Summary
Modifier and TypeMethodDescriptionprotected PerezSunSkyReturns aSpectralPerezSunSkywith SPDs appropriate for the current sky condition.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.CIELighting
buildSkyDome, draw, getCieType, getCloudCover, getDayOfYear, getDistance, getHourOfDay, getInputMode, getLatitude, getMinuteOfHour, getTurbidity, pick, setCieType, setCIEType, setCloudCover, setDayOfYear, setDistance, setFromCloudCover, setFromTurbidity, setHourOfDay, setInputMode, setLatitude, setMinuteOfHour, setTurbidity, updateMethods 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
-
SpectralCIELighting
public SpectralCIELighting()Creates a SpectralCIELighting node with CIE Type 7 (partly cloudy). -
SpectralCIELighting
public SpectralCIELighting(int cieType, float latitude, int dayOfYear, int hourOfDay, int minuteOfHour) Creates a SpectralCIELighting node for a specific CIE sky type.- Parameters:
cieType- CIE sky type 1–15latitude- geographic latitude [degrees N]dayOfYear- day of year [1..365]hourOfDay- hour of day [0..23]minuteOfHour- minute [0..59]
-
-
Method Details
-
createPerezSunSky
Returns aSpectralPerezSunSkywith SPDs appropriate for the current sky condition.Clear skies (CIE types 10–15, cloud cover < 0.4, or turbidity < 3.5) receive CIE D55 for the diffuse sky and a 5778 K blackbody for the direct sun. All other conditions use CIE D65.
- Overrides:
createPerezSunSkyin classCIELighting
-
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 classCIELighting- 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 classCIELighting- Returns:
- new instance of class of this node
-