Search and browse the Moray docs

HDRI and world

Moray renders the scene's World as one environment light (MoonRay's EnvLight). The camera sees it as the background, and it lights the scene. There is one copy of the HDRI in memory.

What is translated

  • Environment Texture into Background (or Emission) with its Strength. The image is converted to .tx like any texture.
  • The Mapping node in front of the Environment Texture: rotation, flips and scale signs.
  • Simple colour math on the way: an HDRI tinted by a colour, an HDRI plus a constant colour, a Gamma node, Mix / Add wrappers and node groups.
  • Interpolation: Closest renders nearest-neighbour; Linear, Cubic and Smart render bilinear.
  • Projection: Equirectangular directly. Mirror Ball is baked to a lat-long image first (with a note); if the bake fails, Moray warns that it renders wrong.
  • Procedural worlds the light cannot express directly (an image through object coordinates, a sky mixed with a photo) are baked to a lat-long image.
  • Sky Texture: Single Scattering (Nishita), Preetham and Hosek / Wilkie are baked to an image, and the sun disc becomes a separate sun light with Cycles' direction and irradiance. Multiple Scattering is not supported yet: it renders as a flat colour, with a warning.
  • View Layer World Override is used when set, and a view layer with its Environment filter off renders without the world, as in Cycles.
  • Portals: area lights ticked as Cycles portals guide the world's light through windows.

World Properties > Moray Light shows how the world was read and has Unlink World (no EnvLight) for lights-only renders.

Seeing the world

  • Film Transparent off: the camera sees the world, and the background is opaque (alpha 1).
  • Film Transparent on: the background is transparent (alpha 0); the world still lights the scene.
  • To hide the world from the camera only, set the World's Camera contribution to 0 (below). A World whose Camera ray visibility was turned off in Cycles is hidden the same way.
  • Moray does not show Blender's Film panel yet. Set Film Transparent in Render Properties > Film while the scene is on Cycles or EEVEE, or with bpy.context.scene.render.film_transparent = True.
  • Depth and the index AOVs are 0 where a camera ray hits nothing.

World contribution weights

The World exports as one light, so it has its own Contribution box in World Properties > Moray Light, with the same controls as a light (see Lights and contributions). Useful ones:

  • Camera: scale the visible background without changing the lighting (0 hides it, as Camera ray visibility off does).
  • Specular / Diffuse: keep the HDRI in reflections but not in diffuse lighting, or the reverse.
  • Cast Shadows off: an ambient fill with no contact shadows.

"Light Path" worlds

A common Cycles trick shows one image to the camera and lights with another: a Mix Shader whose factor is a Light Path output (Is Camera Ray, Is Glossy Ray, ...). Moray renders a single world light, so it uses the lighting branch (the Mix Shader's first shader input) for every ray, camera included, and warns. To change only what the camera sees, use the World's Camera weight; for a different backplate, put it in comp.

Not rendered

  • World Volume (fog in the world's Volume output) is not rendered; Moray warns. Use a volume object instead.
  • Cycles Film Exposure is not applied (the beauty stays unscaled scene-linear).