gs.renderers.RayTracer#

class genesis.options.renderers.RayTracer(*, device_index: int | None = None, logging_level: ~typing.Literal['debug', 'info', 'warning'] = 'warning', state_limit: int = 33554432, tracing_depth: int = 32, rr_depth: int = 0, rr_threshold: float = 0.95, env_surface: ~genesis.options.surfaces.Surface | None = None, env_radius: float = 1000.0, env_pos: tuple[typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])]] = (0.0, 0.0, 0.0), env_euler: tuple[typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])]] | None = None, env_quat: tuple[typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])], typing.Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Strict(strict=False), _PydanticGeneralMetadata(allow_inf_nan=False)])]] | None = None, lights: ~genesis.datatypes.List[~genesis.options.renderers.SphereLight] = ─────── <gs.List> of <gs.renderers.SphereLight> ──────── <gs.List>(len=1, [     <gs.renderers.SphereLight>, ]), normal_diff_clamp: float = 180.0)[source]#

RayTracer renderer.

Note

We use a environmental sphere wrapped around the scene to render the environment map (i.e. skybox).

Parameters:
  • device_index (int, optional) – Device ID used for the raytracer. None for Genesis’ device. Defaults to None.

  • logging_level (str, optional) – Logging level. Should be one of “debug”, “info”, “warning”. Defaults to “warning”.

  • state_limit (int, optional) – State limit for raytracer integrator. Defaults to 2 ** 25.

  • tracing_depth (int, optional) – Tracing depth. Defaults to 32.

  • rr_depth (int, optional) – Russian Roulette depth. Defaults to 0.

  • rr_threshold (float, optional) – Russian Roulette threshold. Defaults to 0.95.

  • env_surface (Surface | None, optional) – Environment surface. Defaults to None.

  • env_radius (float, optional) – Environment radius. Defaults to 1000.0.

  • env_pos (tuple of float, optional) – Environment position. Defaults to (0.0, 0.0, 0.0).

  • env_euler (tuple of float, optional) – Environment Euler angles in degrees. Shortcut for env_quat. Defaults to (0.0, 0.0, 0.0).

  • env_quat (tuple of float | None, optional) – Environment quaternion. Defaults to None.

  • lights (list of SphereLight, optional) – List of sphere lights.

  • normal_diff_clamp (float, optional) – Lower bound for direct face normal vs vertex normal for face normal interpolation. Range is [0, 180]. Defaults to 180.