ProteinMotion
Reference navigation
On this page

StudioLook

Studio lighting, material, and global effects presets with explicit per-setting overrides.

python
from proteinmotion import StudioLook

Constructor

python
StudioLook(
    lighting: str='studio',
    material: str='glossy',
    effects: str | None=None,
    key: float=None,
    key_color: tuple=None,
    key_direction: tuple=None,
    fill: float=None,
    fill_color: tuple=None,
    fill_direction: tuple=None,
    rim: float=None,
    rim_color: tuple=None,
    rim_direction: tuple=None,
    ambient: float=None,
    sky: tuple=None,
    ground: tuple=None,
    roughness: float=None,
    specular: float=None,
    clearcoat: float=None,
    clearcoat_roughness: float=None,
    ambient_occlusion: float=None,
    bloom: float | str | None=None,
    bloom_threshold: float | None=None,
    bloom_radius: float | None=None,
    grain: float | str | None=None,
    grain_size: float | None=None,
    grain_fps: float=24.0,
    grain_seed: int=0,
    halation: float | str | None=None,
    halation_threshold: float | None=None,
    halation_radius: float | None=None,
    halation_color: tuple=(1.0, 0.22, 0.045),
    knee: float=0.72,
    vignette: float=0.0,
    surface_mode: str='molecular',
    surface_inflation: float=0.45,
    surface_blobbiness: float=1.6,
    surface_voxels: int=3000000,
    cartoon_style: str='classic',
)

Parameters

ParameterDefaultDescription
lightingstr'studio'Lighting preset: studio, soft, dramatic, or flat.
materialstr'glossy'Material preset: rough, medium, or glossy.
effectsstr | NoneNoneEffects recipe: clean, subtle, film, or dreamy. None retains lighting-dependent defaults.
keyfloatNoneKey-light intensity override.
key_colortupleNoneKey-light RGB triple or hex color.
key_directiontupleNoneKey-light direction in camera right/up/toward-camera coordinates.
fillfloatNoneFill-light intensity override.
fill_colortupleNoneFill-light RGB triple or hex color.
fill_directiontupleNoneFill-light direction in camera coordinates.
rimfloatNoneRim-light intensity, or a cutaway rim RGB/hex color for Reveal.
rim_colortupleNoneRim-light RGB triple or hex color.
rim_directiontupleNoneRim-light direction in camera coordinates.
ambientfloatNoneAmbient illumination intensity.
skytupleNoneHemisphere sky RGB triple or hex color.
groundtupleNoneHemisphere ground RGB triple or hex color.
roughnessfloatNoneSurface roughness in [0.02, 1]; larger values broaden highlights.
specularfloatNoneSpecular reflection strength.
clearcoatfloatNoneClearcoat reflection strength.
clearcoat_roughnessfloatNoneClearcoat roughness in [0.02, 1].
ambient_occlusionfloatNoneScreen-space ambient-occlusion strength in [0, 1].
bloomfloat | str | NoneNoneBloom preset or numeric strength; zero disables it.
bloom_thresholdfloat | NoneNoneBrightness threshold for bloom.
bloom_radiusfloat | NoneNoneBloom spread multiplier.
grainfloat | str | NoneNoneLuminance-based monochrome grain preset or strength; zero disables it.
grain_sizefloat | NoneNoneGrain size in 1080p design pixels.
grain_fpsfloat24.0Grain temporal refresh frequency, independent of output FPS.
grain_seedint0Deterministic unsigned 32-bit grain seed.
halationfloat | str | NoneNoneHalation preset or numeric strength; zero disables it.
halation_thresholdfloat | NoneNoneBrightness threshold for halation.
halation_radiusfloat | NoneNoneHalation radius in 1080p design pixels.
halation_colortuple(1.0, 0.22, 0.045)Halation RGB triple or hex color.
kneefloat0.72Highlight compression knee in [0, 0.999].
vignettefloat0.0Vignette strength in [0, 1].
surface_modestr'molecular'molecular uses VDW/SAS/SES meshes; density uses artistic density surfaces.
surface_inflationfloat0.45Additional atom radius in Å, for density surface mode only.
surface_blobbinessfloat1.6Density-surface falloff control, for density mode only.
surface_voxelsint3000000Maximum density-surface voxel count.
cartoon_stylestr'classic'classic uses helix bands, sheet arrows, and loop tubes; legacy retains the older sweep.

Notes

Derive looks with with_presets() or dataclasses.replace(). Preset-derived fields are re-resolved, explicit overrides remain. Colors accept hex or RGB. Create a new renderer after changing shader or geometry settings; post effects use live uniforms.

Attributes

NameDescription
lightingLighting preset: studio, soft, dramatic, or flat.
materialMaterial preset: rough, medium, or glossy.
effectsEffects recipe: clean, subtle, film, or dreamy. None retains lighting-dependent defaults.
keyKey-light intensity override.
key_colorKey-light RGB triple or hex color.
key_directionKey-light direction in camera right/up/toward-camera coordinates.
fillFill-light intensity override.
fill_colorFill-light RGB triple or hex color.
fill_directionFill-light direction in camera coordinates.
rimRim-light intensity, or a cutaway rim RGB/hex color for Reveal.
rim_colorRim-light RGB triple or hex color.
rim_directionRim-light direction in camera coordinates.
ambientAmbient illumination intensity.
skyHemisphere sky RGB triple or hex color.
groundHemisphere ground RGB triple or hex color.
roughnessSurface roughness in [0.02, 1]; larger values broaden highlights.
specularSpecular reflection strength.
clearcoatClearcoat reflection strength.
clearcoat_roughnessClearcoat roughness in [0.02, 1].
ambient_occlusionScreen-space ambient-occlusion strength in [0, 1].
bloomBloom preset or numeric strength; zero disables it.
bloom_thresholdBrightness threshold for bloom.
bloom_radiusBloom spread multiplier.
grainLuminance-based monochrome grain preset or strength; zero disables it.
grain_sizeGrain size in 1080p design pixels.
grain_fpsGrain temporal refresh frequency, independent of output FPS.
grain_seedDeterministic unsigned 32-bit grain seed.
halationHalation preset or numeric strength; zero disables it.
halation_thresholdBrightness threshold for halation.
halation_radiusHalation radius in 1080p design pixels.
halation_colorHalation RGB triple or hex color.
kneeHighlight compression knee in [0, 0.999].
vignetteVignette strength in [0, 1].
surface_modemolecular uses VDW/SAS/SES meshes; density uses artistic density surfaces.
surface_inflationAdditional atom radius in Å, for density surface mode only.
surface_blobbinessDensity-surface falloff control, for density mode only.
surface_voxelsMaximum density-surface voxel count.
cartoon_styleclassic uses helix bands, sheet arrows, and loop tubes; legacy retains the older sweep.

Methods and properties

NameDescription
with_presets()methodDerive a look while preserving explicit overrides.
validate()methodReject invalid values before creating GPU resources or compiling shaders.
python
StudioLook.with_presets(**changes)

Derive a look while preserving explicit overrides.

ParameterDefaultDescription
**changes—Named presets or explicit field overrides for a derived StudioLook.
python
StudioLook.validate()

Reject invalid values before creating GPU resources or compiling shaders.