Houdini 20.5 Nodes VOP nodes

Karma Room Map VOP node

Creates a parallax projection of a room interior onto a flat plane

On this page
Since 20.0

This shader projects room interiors onto a flat plane and creates the impression of a 3-dimensional scene. For example, this approach can be used to add complete rooms to the windows of a building without modelling or rendering actual objects like walls, lamps, furniture, etc. You can also add slices as extra layers. Imagine you want to create a room with curtains in the window. Then there’s a lamp and finally a person, standing behind the lamp. For this scene you define three slices: slice 1 contains the curtains, slice 2 the lamp, and slice 3 is for the person. The image shows how you have to arrange walls and slices.

The inputs, listed below, are required to create a local window basis with parallax mapping. Note that you need a Karma Room Frame SOP to set up the tangentu, tangentv, roomN , roomP primitive variables. You must link the Karma Room Map SOP downstream to the geometry you want to use for projection mapping.

Note

In scenes, where the room map stretches over multiple windows, tangent length should span all windows from left to right. bitangent represents the interior’s height, and position is the barymetric center of all window planes.

Tip

For a complete workflow guide with examples, read the Karma Room Map shader page.

Inputs

position

Barycentric position of a window plane. You can also use more than one plane, if you want to apply the projection to multiple windows.

tangent

Horizontal direction. This is the X component in a local window plane coordinate system.

bitangent

Vertical direction. This is the Y component in a local window plane coordinate system.

Parameters

Source Color Space

The source texture’s color space. EXR are Raw, while JPG and PNG are considered sRGB. Choose Auto, if you're uncertain about the map’s color space.

File

The name of the texture file to load to project. Interior maps are preferebly EXR files with an alpha channel to control transparency. Tiles for walls, floor and ceiling are arranged in a cross-shape as shown in the image above. There’s also space for a maximum of four slices for rendering interior decoration and props. The Karma Room Map shader supports UDIM padding for randomizing the parallax room boxes.

Offset UDIM

UDIM offset to switch to another texture of the UDIM-sequence.

Scale

3-dimensional XYZ scaling of the parallax box.

Uniform Scale

Uniform scaling of the parallax box.

Window Shift

2-dimensional positioning of the parallax projection. If Scale is greater than the actual size of the plane, Window Shift is turned on.

Mix Normals

Mix parallax normals with the plane’s surface normal to get correct reflections on the window’s glass surface.

Slice1

Turn on the slice in the map’s lower left corner.

Slice1 Offset UDIM

Shift UDIM coordinates to switch to another slice.

Slice1 Position

3-dimensional position of the current slice. Use the parameter’s Z value to shift the parallax box’s depth.

Slice1 Scale

2-dimensional scaling of the current slice.

Slice2

Turn on the slice in the map’s upper left corner.

Slice2 Offset UDIM

Shift UDIM coordinates to switch to another slice.

Slice2 Position

3-dimensional position of the current slice. Use the parameter’s Z value to shift the parallax box’s depth.

Slice2 Scale

2-dimensional scaling of the current slice.

Slice3

Turn on the slice in the map’s upper right corner.

Slice3 Offset UDIM

Shift UDIM coordinates to switch to another slice.

Slice3 Position

3-dimensional position of the current slice. Use the parameter’s Z value to shift the parallax box’s depth.

Slice3 Scale

2-dimensional scaling of the current slice.

Slice4

Turn on the slice in the map’s lower right corner.

Slice4 Offset UDIM

Shift UDIM coordinates to switch to another slice.

Slice4 Position

3-dimensional position of the current slice. Use the parameter’s Z value to shift the parallax box’s depth.

Slice4 Scale

2-dimensional scaling of the current slice.

Fallback Color

The color of a background outside interior area.

World Space

Transforms input basis vectors tangentu, tangentv, roomP from object space to world space.

Outputs

out

Returns the color values of the projected texture.

normal

Returns a result of parallax normal and surface normal mix.

texcoord

Returns the UV coordinates of a slice when Slice Position.Z is zero.

See also

VOP nodes