---
title: "PxrPortalLight"
canonical: "https://rmanwiki-25.pixar.com/space/REN25/20416358/PxrPortalLight"
format: markdown
---
Although a portal light is a rectangular shape, it is not interchangeable nor replaceable by a [PxrRectLight](https://renderman.atlassian.net/wiki/spaces/REN25/pages/20416382) because we get the illumination from the 3D environment using a  [PxrDomeLight](https://renderman.atlassian.net/wiki/spaces/REN25/pages/20416370) .

PxrPortalLight is *one-sided*. That is, there is no illumination behind the portal. If we need to illuminate the back side, we can create another portal facing the reverse direction.

We can add light filters to a portal light like any other lights. In fact, a PxrBarnLightFilter works great with this type of light.

For more information you can consult the technical paper:

- Benedikt Bitterli, Jan Novák<span style="color: #666666">, </span>Wojciech Jarosz. [Portal-Masked Environment Map Sampling](https://www.disneyresearch.com/publication/portal-masked-environment/). Eurographics Symposium on Rendering (EGSR), 2015

  


> ⚠️ Portal Lights do not work with the PxrEnvDayLight system. Use a PxrDomeLight with an appropriate HDRI or HDRI sequence.
> ⚠️ 
> ⚠️ All portal lights that are associated with the same parent dome light and the same portal name  *must have the same rotation* . If you need to change a portal light's rotation, then you need to have a new portal name. However, different translation and scaling can share the same portal name.

  


  


**"Why do I use a portal light?"**

Since lighting interiors with little or no direct lighting is difficult for a renderer to resolve, portal lights help direct the renderers attention to the exterior source of light. RenderMan can make excellent use of the PxrPortalLight as shown below on the classic Classroom scene. Both images are rendered with the same 32 samples per pixel. But you can plainly see how much more effective the result is with portal lights on the right than without on the left.


### Parameters

#### Basic

  


**Intensity Multiplier**

Intensity adjustment relative to the parent dome light intensity. This gets multiplied by the parent dome light's intensity and power.

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_intensity05.jpg](media://d69e97a6-2688-421a-a946-fc379ffef106) | ![pxrPortalLght_intensity10.jpg](media://f85aab5c-137b-4ad3-90d2-dc23ef33a9d4) | ![pxrPortalLght_intensity20.jpg](media://de1e07d1-256f-470c-b7f0-6fb1fb747427) |

  


**Color Tint**

This parameter tints the color from the dome texture. Below each portal has a different color assigned for a nice rainbow effect.

  


**Map Gamma**

Gamma-correct the texture. Each channel (RGB) can be adjusted independently.  If this map gamma is unchanged from its default, then it will inherit the map gamma from the parent dome light.

  


**Map Saturation**

Adjust the saturation of the texture.  If this map saturation is unchanged from its default, then it will inherit the map saturation from the parent dome light.


**Enable Temperature**

Turns color temperature on or off.

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_colorTemp4000.jpg](media://17a63a5f-5051-417f-9a5a-09cb84ba4414) | ![pxrPortalLght_colorTemp6500.jpg](media://ad4c3f25-239e-476e-81a3-66d161a2eba0) | ![pxrPortalLght_colorTemp8000.jpg](media://7a3fec6c-3987-40fa-9267-aad978824117) |

  


**Color Temperature**

Allow the user to choose the color temperature of the light in Kelvins. Unlike the basic light color, this allows the user to easily pick plausible light colors based on standard temperature measurements.This control will act like a filter or gel (a tinted transparent surface) in front of your light. If your light is white, you will get the chosen color temperature. If your light is colored, the color temperature will make it cooler (over 6500K) or warmer (below 6500K).

  


> ℹ️ The effect will be less pronounced on fully saturated mono-chromatic lights. Defaults to 6500K, which should be very close to white on most monitors (D65 illuminant used by sRGB and Rec 709).

  


**Primary Visibility**

The light isn't directly visible to the camera by default. Turning this on makes it visible and can be written to an LPE using the emission token, 'O'

** **  


---

#### Refine

  


**Specular Amount**

<span style="color: #3e3f40">Amount of specular light that is emitted. This is a non-physical control. </span> <span style="color: #3e3f40">You could use a light with </span>**Specular Amount** <span style="color: #3e3f40"> 0.0 to act purely as a source of diffuse light for your scene objects and avoid adding highlights. Note that the scene still collects indirect reflection off other objects in the room.</span>

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_specAmount00.jpg](media://2e305f92-8e33-475b-9217-60dc4801d67c) | ![pxrPortalLght_specAmount015.jpg](media://bd8e4665-16ef-47f9-b4e3-d826a1a0226f) | ![pxrPortalLght_specAmount10.jpg](media://b3c44221-3a52-408c-9077-4dd78f913f16) |

  


**Diffuse Amount**

<span style="color: #3e3f40">Amount of diffuse light that is emitted. This is a non-physical control. </span> <span style="color: #3e3f40">You could use a light with </span>**Diffuse Amount** <span style="color: #3e3f40"> 0.0 to act purely as a source of highlights for your scene objects.</span>

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_diffAmount00.jpg](media://cf2b8189-acd6-49ae-b56f-4a19988967b5) | ![pxrPortalLght_diffAmount015.jpg](media://b1c69c7f-5e04-43d3-95df-70de6276dee1) | ![pxrPortalLght_diffAmount10.jpg](media://d0565204-ea68-44e8-a84f-27fee5dd8f75) |

  


---

#### Shadows

> ⚠️ <span style="color: #3e3f40">All shadow parameters will be ignored if the light's </span> **Trace Light Paths** <span style="color: #3e3f40"> is enabled in Advanced. The below options are all non-physical controls when used out of their default state. If </span> **Trace Light Paths** <span style="color: #3e3f40"> is enabled then their physical nature is enforced.</span>

  


  


**Enable Shadows**

<span style="color: #3e3f40">Enable raytraced shadows. Below is on (default) and off.</span>

  


**Shadow Color**

<span style="color: #3e3f40">The color of the shadows cast by emitted light. Below there's Red, Green, and Blue from different portal lights.</span>

<span style="color: #ffffff">.0 0.0 0.0</span>

**Shadow Max Distance**

<span style="color: #3e3f40">The maximum distance of the shadow starting from the position of the point being shaded. -1.0 is unset which will use the distance between the point being shaded and the point on the light. You may use this control to artificially reduce the distance shadows are cast. This may also increase render speed by not calculating shadows outside this distance. Notice the shadows of chair and table legs as they are cut off after a distance and the shadow on the wall at the front of the classroom.</span>

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_shadowMaxDist100.jpg](media://639549f5-29d6-4072-b6fe-38f58fa863bd) | ![pxrPortalLght_shadowMaxDist50.jpg](media://9d488d5b-db5c-4089-bc6e-ef472e8c9176) | ![pxrPortalLght_shadowMaxDistNeg1.jpg](media://ae419832-eb44-4c48-b18b-775c08e90928) |

  


**Shadow Falloff**

<span style="color: #3e3f40">The distance from the light at which shadow falloff begins. -1.0 turns off shadow falloff. This is used along with </span> **Shadow Max Distance** <span style="color: #3e3f40"> to create a false fade for shadows that are reduced or cut off by the </span> **Shadow Max Distance** <span style="color: #3e3f40"> parameter. Below is an example with both parameters being used and the falloff is increased. Note this parameter may impact performance on complex lighting setups.</span>

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_shadowFalloff025.jpg](media://de07414f-c374-484e-8405-a36e64b1a44f) | ![pxrPortalLght_shadowFalloff10.jpg](media://bb6c62bb-7524-4243-bea8-1d0af7ba48c3) | ![pxrPortalLght_shadowFalloffNeg1.jpg](media://f8701817-233e-4ae4-8816-2fae7b8bea7a) |

  


**Shadow Falloff Gamma**

<span style="color: #3e3f40">The gamma of the shadow strength in the falloff zone. This requires the use of </span> **Shadow Max Distance ** <span style="color: #3e3f40">and</span> ** Shadow Falloff** <span style="color: #3e3f40">.</span>

|  |  |  |
| --- | --- | --- |
| ![pxrPortalLght_shadowFalloffGamma025.jpg](media://4eda3161-2786-4e53-9f35-384586faf778) | ![pxrPortalLght_shadowFalloffGamma05.jpg](media://ac875ce8-9cf5-4783-a5f0-5c3d201f08ef) | ![pxrPortalLght_shadowFalloffGammaOff.jpg](media://ec1887d7-3d01-4b28-9721-679d1aaa2c7c) |

  


**Trace Subset**

Set of geometry to consider for traced shadow intersection. If this is not specified, all geometry are considered for traced shadow intersection.

  


**Don't Trace Subset**

Set of geometry to ignore for traced shadow intersection. If this is not specified, all geometry is used for traced shadow intersection.

  


---

#### Advanced

  


**Trace Light Paths**

<span style="color: #3e3f40">Enable light and photon tracing from this light. This value enforces a physically-based light and as a side-effect disables the above </span> **Shadows** <span style="color: #3e3f40"> controls. Users may use this feature to selectively decide which lights emit photons when using the PxrVCM or PxrUnified Integrators.</span>

  


**Thin Shadow**

<span style="color: #3e3f40">Enable thin shadow and disable refraction caustics for this light. This parameter will ignored if </span> **Trace Light Paths** <span style="color: #3e3f40"> is enabled. This is a non-physical control that creates "fake" colored shadows for transmissive objects without needing to generate photons for caustics. Below we go from On (default) to Off (opaque shadowing). Notice we lose the colored shadows and interior colored reflection choosing Off, but we gain some render speed instead.</span>

  


<span style="color: #3e3f40"> </span>

**Visible in Refraction**

Make a light visible through transmission effects like glass and windows by turning this on.

  


**Manifold Walk**

Used with the PxrUnified Integrator and enabling **Enable Manifold Walk** to create inexpensive caustics. Note: You must disable Thin Shadows

  


**Manifold Walk Exclude Group**

Used with the PxrUnified Integrator and enabling **Enable Manifold Walk, **this trace set is ignored during manifold exploration to avoid stopping or shadowing manifold exploration rays

  


**Light Samples**

Specifies an override of the number of light samples to be taken for this light source. If set to something other than zero, it will override the sampling performed by the integrator. You might find need for this if you have unsolvable noise from this light and need more samples.

  


**Light Group**

Specify the light group name used for light group LPEs. This is useful to generate per-light AOVs for later adjustment in compositing.

  


**Importance Multiplier**

Rather than setting explicit Light Samples, users can change the amount of samples the light will be assigned internally by changing this value. RenderMan creates a set of samples at render time for all lights in the scene and changing this value rebalances the samples across the lights. Note that increasing this value will cause *more* samples to be selected from this light while reducing it for others in the scene. Lower than the default will *decrease* the samples while providing more to others in the scene.

---

  


### Application Interface

  


The bridge application such as RenderMan for Maya or Katana provides a convenient interface to create and link a portal light to its parent dome light. It also automatically assigns unique portal names for the portal lights that do not have the same rotation as the parent dome light's. By default, the portal light inherits all the parameters from its parent dome light. If a parameter is modified in the portal light, then the local overridden parameter will be used instead. There are two exceptions: *intensity and color gets multiplied to the parent dome's intensity and color*.

The bridge product will emit all the modified parameters to the RIB for PxrPortalLight. Note that PxrDomeLight is not being emitted.