# SpotLamp(Lamp)

base classes — `bpy_struct`, `ID`, `Lamp`

class `bpy.types.``SpotLamp`(Lamp)

  Directional cone lamp

  `compression_threshold`

    Deep shadow map compression threshold

    Type: | float in [0, 1], default 0.0

  `falloff_curve`

    Custom Lamp Falloff Curve

    Type: | `CurveMapping`, (readonly)

  `falloff_type`

    Intensity Decay with distance

    Type: | enum in [‘CONSTANT’, ‘INVERSE_LINEAR’, ‘INVERSE_SQUARE’, ‘CUSTOM_CURVE’, ‘LINEAR_QUADRATIC_WEIGHTED’], default ‘CONSTANT’

  `ge_shadow_buffer_type`

    The shadow mapping algorithm used

    - `SIMPLE` Simple, Simple shadow maps.
    - `VARIANCE` Variance, Variance shadow maps.

    Type: | enum in [‘SIMPLE’, ‘VARIANCE’], default ‘SIMPLE’

  `halo_intensity`

    Brightness of the spotlight’s halo cone

    Type: | float in [-inf, inf], default 0.0

  `halo_step`

    Volumetric halo sampling frequency

    Type: | int in [0, 12], default 0

  `linear_attenuation`

    Linear distance attenuation

    Type: | float in [0, 1], default 0.0

  `quadratic_attenuation`

    Quadratic distance attenuation

    Type: | float in [0, 1], default 0.0

  `shadow_adaptive_threshold`

    Threshold for Adaptive Sampling (Raytraced shadows)

    Type: | float in [0, 1], default 0.0

  `shadow_buffer_bias`

    Shadow buffer sampling bias

    Type: | float in [0.001, 5], default 0.0

  `shadow_buffer_bleed_bias`

    Bias for reducing light-bleed on variance shadow maps

    Type: | float in [0, 1], default 0.0

  `shadow_buffer_clip_end`

    Shadow map clip end, beyond which objects will not generate shadows

    Type: | float in [0, 9999], default 0.0

  `shadow_buffer_clip_start`

    Shadow map clip start, below which objects will not generate shadows

    Type: | float in [0, 9999], default 0.0

  `shadow_buffer_samples`

    Number of shadow buffer samples

    Type: | int in [1, 16], default 0

  `shadow_buffer_size`

    Resolution of the shadow buffer, higher values give crisper shadows but use more memory

    Type: | int in [128, 10240], default 0

  `shadow_buffer_soft`

    Size of shadow buffer sampling area

    Type: | float in [0, 100], default 0.0

  `shadow_buffer_type`

    Type of shadow buffer

    - `REGULAR` Classical, Classic shadow buffer.
    - `HALFWAY` Classic-Halfway, Regular buffer, averaging the closest and 2nd closest Z value to reducing bias artifacts.
    - `IRREGULAR` Irregular, Irregular buffer produces sharp shadow always, but it doesn’t show up for raytracing.
    - `DEEP` Deep, Deep shadow buffer supports transparency and better filtering, at the cost of more memory usage and processing time.

    Type: | enum in [‘REGULAR’, ‘HALFWAY’, ‘IRREGULAR’, ‘DEEP’], default ‘REGULAR’

  `shadow_color`

    Color of shadows cast by the lamp

    Type: | float array of 3 items in [0, inf], default (0.0, 0.0, 0.0)

  `shadow_filter_type`

    Type of shadow filter (Buffer Shadows)

    - `BOX` Box, Apply the Box filter to shadow buffer samples.
    - `TENT` Tent, Apply the Tent Filter to shadow buffer samples.
    - `GAUSS` Gauss, Apply the Gauss filter to shadow buffer samples.

    Type: | enum in [‘BOX’, ‘TENT’, ‘GAUSS’], default ‘BOX’

  `shadow_method`
    - `NOSHADOW` No Shadow.
    - `BUFFER_SHADOW` Buffer Shadow, Let spotlight produce shadows using shadow buffer.
    - `RAY_SHADOW` Ray Shadow, Use ray tracing for shadow.

    Type: | enum in [‘NOSHADOW’, ‘BUFFER_SHADOW’, ‘RAY_SHADOW’], default ‘NOSHADOW’

  `shadow_ray_sample_method`

    Method for generating shadow samples: Adaptive QMC is fastest, Constant QMC is less noisy but slower

    Type: | enum in [‘ADAPTIVE_QMC’, ‘CONSTANT_QMC’], default ‘ADAPTIVE_QMC’

  `shadow_ray_samples`

    Number of samples taken extra (samples x samples)

    Type: | int in [1, 64], default 0

  `shadow_sample_buffers`

    Number of shadow buffers to render for better AA, this increases memory usage

    - `BUFFERS_1` 1, Only one buffer rendered.
    - `BUFFERS_4` 4, Render 4 buffers for better AA, this quadruples memory usage.
    - `BUFFERS_9` 9, Render 9 buffers for better AA, this uses nine times more memory.

    Type: | enum in [‘BUFFERS_1’, ‘BUFFERS_4’, ‘BUFFERS_9’], default ‘BUFFERS_1’

  `shadow_soft_size`

    Light size for ray shadow sampling (Raytraced shadows)

    Type: | float in [0, inf], default 0.0

  `show_cone`

    Draw transparent cone in 3D view to visualize which objects are contained in it

    Type: | boolean, default False

  `spot_blend`

    The softness of the spotlight edge

    Type: | float in [0, 1], default 0.0

  `spot_size`

    Angle of the spotlight beam

    Type: | float in [0.0174533, 3.14159], default 0.0

  `use_auto_clip_end`

    Automatic calculation of clipping-end, based on visible vertices

    Type: | boolean, default False

  `use_auto_clip_start`

    Automatic calculation of clipping-start, based on visible vertices

    Type: | boolean, default False

  `use_halo`

    Render spotlight with a volumetric halo

    Type: | boolean, default False

  `use_only_shadow`

    Cast shadows only, without illuminating objects

    Type: | boolean, default False

  `use_shadow`

    Type: | boolean, default False

  `use_shadow_layer`

    Objects on the same layers only cast shadows

    Type: | boolean, default False

  `use_sphere`

    Set light intensity to zero beyond lamp distance

    Type: | boolean, default False

  `use_square`

    Cast a square spot light shape

    Type: | boolean, default False

Inherited Properties

`bpy_struct.id_data` `ID.name` `ID.users` `ID.use_fake_user` `ID.tag` `ID.is_updated` `ID.is_updated_data` `ID.is_library_indirect` `ID.library` `ID.preview` `Lamp.type` `Lamp.distance` `Lamp.energy` | `Lamp.color` `Lamp.use_own_layer` `Lamp.use_negative` `Lamp.use_specular` `Lamp.use_diffuse` `Lamp.node_tree` `Lamp.use_nodes` `Lamp.animation_data` `Lamp.texture_slots` `Lamp.active_texture` `Lamp.active_texture_index` `Lamp.cycles`

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` | `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values` `ID.copy` `ID.user_clear` `ID.animation_data_create` `ID.animation_data_clear` `ID.update_tag`