BSDF#

gs.surfaces.BSDF is a Disney principled BSDF surface, carrying the full set of physically based rendering (PBR) parameters. gs.surfaces.Default subclasses it and adds no parameters of its own, so the PBR controls documented here, such as specular_trans, diffuse_trans, and metallic_texture, apply to both.

class genesis.options.surfaces.BSDF(*, color: tuple[float, ...] | None = None, opacity: float | None = None, roughness: float | None = None, metallic: float | None = None, emissive: tuple[float, ...] | None = None, ior: float | None = 1.0, default_roughness: float = 1.0, vis_mode: typing.Literal['visual', 'collision', 'particle', 'sdf', 'recon'] | None = None, smooth: bool = True, double_sided: bool | None = None, cutoff: float = 180.0, normal_diff_clamp: float = 180.0, recon_backend: typing.Literal['splashsurf', 'openvdb'] = 'splashsurf', generate_foam: bool = False, foam_options: genesis.options.misc.FoamOptions = <factory>, diffuse_texture: genesis.options.textures.Texture | None = None, opacity_texture: genesis.options.textures.Texture | None = None, roughness_texture: genesis.options.textures.Texture | None = None, metallic_texture: genesis.options.textures.Texture | None = None, normal_texture: genesis.options.textures.Texture | None = None, emissive_texture: genesis.options.textures.Texture | None = None, specular_trans: float = 0.0, diffuse_trans: float = 0.0) None[source]#

Disney BSDF surface with principled shading.

Parameters:
  • color (tuple | None, optional) – Diffuse color of the surface. Shortcut for diffuse_texture with a single color.

  • ior (float, optional) – Index of Refraction. Defaults to 1.0.

  • specular_trans (float, optional) – Specular transmission. Defaults to 0.0.

  • diffuse_trans (float, optional) – Diffuse transmission. Defaults to 0.0.

  • diffuse_texture (gs.textures.Texture | None, optional) – Diffuse (basic color) texture of the surface.

  • opacity_texture (gs.textures.Texture | None, optional) – Opacity texture of the surface.

  • roughness_texture (gs.textures.Texture | None, optional) – Roughness texture of the surface.

  • metallic_texture (gs.textures.Texture | None, optional) – Metallic texture of the surface.

  • normal_texture (gs.textures.Texture | None, optional) – Normal texture of the surface.

  • emissive_texture (gs.textures.Texture | None, optional) – Emissive texture of the surface.