SOSPOTLIGHT(3iv)
π SoSpotLight(3IV) β ok bestie, let's talk spotlight energy β¨
No cap, this is the manual page for SoSpotLight(3IV), and by the end of it you're gonna understand spotlights in Open Inventor like it's your Roman empire. Let's go π
πΈ NAME πΈ
SoSpotLight β the node that IS a spotlight source, periodt. It's giving "one perfect cone of light, placed exactly where I want it" β¨
π¦ INHERITS FROM π¦
SoBase > SoFieldContainer > SoNode > SoLight > SoSpotLight
So yeah, she's got ancestors. The whole family tree is carrying her. π
β¨ SYNOPSIS β¨
#include <Inventor/nodes/SoSpotLight.h>
Fields from class SoSpotLight:
SoSFVec3f location
SoSFVec3f direction
SoSFFloat dropOffRate
SoSFFloat cutOffAngle
Fields from class SoLight:
SoSFBool on
SoSFFloat intensity
SoSFColor color
Methods from class SoSpotLight:
SoSpotLight()
static SoType getClassTypeId()
Methods from class SoNode:
void setOverride(SbBool state)
SbBool isOverride() const
SoNode * copy(SbBool copyConnections = FALSE) const
virtual SbBool affectsState() const
static SoNode * getByName(const SbName &name)
static int getByName(const SbName &name, SoNodeList &list)
Methods from class SoFieldContainer:
void setToDefaults()
SbBool hasDefaultValues() const
SbBool fieldsAreEqual(const SoFieldContainer *fc) const
void copyFieldValues(const SoFieldContainer *fc, SbBool
copyConnections = FALSE)
SbBool set(const char *fieldDataString)
void get(SbString &fieldDataString)
virtual int getFields(SoFieldList &resultList) const
virtual SoField * getField(const SbName &fieldName) const
SbBool getFieldName(const SoField *field, SbName &fieldName)
const
SbBool isNotifyEnabled() const
SbBool enableNotify(SbBool flag)
Methods from class SoBase:
void ref()
void unref() const
void unrefNoDelete() const
void touch()
virtual SoType getTypeId() const
SbBool isOfType(SoType type) const
virtual void setName(const SbName &name)
virtual SbName getName() const
Like... look at all those inherited methods. She's literally that girl who got everything from her mama. π«Ά
π DESCRIPTION π
Okay so listen. This node defines a spotlight style light source. A spotlight gets placed at a fixed location in 3-space and it illuminates in a cone along a particular direction β think of it as a flashlight beam that's main character energy only inside the cone.
The intensity of the illumination drops off exponentially as a ray of light diverges from this direction toward the edges of the cone. So near the center axis? Bright. Near the rim? Not so much. The way that it fades is a whole vibe.
The rate of that drop-off and the angle of the cone are controlled by the dropOffRate and cutOffAngle fields. Those two are running the whole show, fr fr. π₯
π FIELDS π
SoSFVec3flocationβ where the source is at. Location of the source. πSoSFVec3fdirectionβ Principal direction of illumination, aka the center axis of the cone. This is the way the beam is looking. πSoSFFloatdropOffRateβ Rate of intensity drop-off per change in angle from primary direction:0= constant intensity,1= very sharp drop-off. So like,0is "chill, even glow" and1is "wow that's a harsh edge bestie". πSoSFFloatcutOffAngleβ Angle (in radians) outside of which intensity is zero, measured from the center axis of the cone to an edge. Past this angle? Nothing. Darkness. The beam simply does not exist there. π
π METHODS π
SoSpotLight()β Creates a spotlight source node with default settings. Brand new baby spotlight, fresh out the box. πstatic SoType getClassTypeId()β Returns type identifier for this class. Classic. Every class has one, iykyk. β
π ACTION BEHAVIOR π
SoGLRenderActionβ Activates this light (if so specified) during traversal. All shape nodes that come after this light in the scene graph are illuminated by this light. The light's location is affected by the current transformation.
Lowkey important: order matters, bestie. Shapes that come after this light in the scene graph get lit by it. Shapes before? They didn't get the invite. π And yes, the current transformation moves the light's location around. Keep up. π«
π FILE FORMAT/DEFAULTS π
SpotLight {
on TRUE
intensity 1
color 1 1 1
location 0 0 1
direction 0 0 -1
dropOffRate 0
cutOffAngle 0.785398
}
Look at those defaults, she's so well-adjusted out the box. on is TRUE, intensity is 1, color is 1 1 1 (pure white, obviously), location is 0 0 1, direction is 0 0 -1, dropOffRate is 0, and cutOffAngle is 0.785398. Iconic. πΈ
π§ SEE ALSO π§
SoDirectionalLight, SoPointLight
Go read those too, they're the other light girls in the group chat. π
Okay that's the whole page, you ate that. π This was SoSpotLight(3IV), and the version/date slots on this one are literally just empty parentheses β nothing in there at all, not even a vibe β so consider this your cute sign-off instead. Bye bestie, go light something up. β¨π¦
π¦ where this page comes from
- debian bookworm: inventor-doc 2.1.5-10+dfsg-2 Β· LGPL-2.0-or-later
- debian trixie: inventor-doc 2.1.6+ds-2 Β· LGPL-2.0-or-later
- ubuntu jammy: inventor-doc 2.1.5-10-24
- ubuntu noble: inventor-doc 2.1.5-10+dfsg-2.1build2 Β· LGPL-2.0-or-later
- ubuntu questing: inventor-doc 2.1.6+ds-2
- ubuntu resolute: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- ubuntu stonking: inventor-doc 2.1.6.1+ds-1 Β· LGPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms