Skip to content

ViewPort

In its most basic mode it takes a texture and displays it in its designated slice of the connected Window.

More advanced usage includes the use of custom meshes or the result of a MeshWarp node (also a mesh) and/or using a second texture and applying a shader

ViewPort-Node

Final Render Stage

ViewPort is the last renderpass before content is sent to output devices like projectors, displays, or VR goggles. Since reducing render passes is important for performance, ViewPort combines multiple corrections in a single pass — including warping, color correction, and shader effects.

Reference

The following properties can be configured for this node:

Property Type Description
window - select the Window-node
slice - select the slice inside the Window for output
mesh - choose the type of mesh.
  • 'default' is a simple mesh
  • 'warp' links to a MeshWarp-node
  • 'file' loads custom mesh
  • 'none' no mesh at all. used with Cornerpin-node
  • fx shader - choose a shader to be applied to the viewport mesh
    transform - the way the mesh is displayed inside the ViewPort's slice
    position - move the mesh in x and y axis
    rotation - rotate the mesh in z axis
    scale - scale the mesh in x and y axis
    blend - use the textures alphachannel for blending
    depth - use depth layering
    show mesh - show only the face-lines
    object color only available with 'show mesh' choose the meshes color
    filewatch - if using a loaded custom mesh, load the mesh once the file was changed.
    Reset - Resets the node to ist default state
    Inlet Type Description
    properties properties properties | use message [set <propertyPath> <value(s)>] (without node/<nodeName> at the beginning) to set internal properties
    main texture main texture
    texture texture texture two
    Outlet Type Description

    Window and Slice Configuration

    Basic Setup

    To display content through a ViewPort:

    1. Create a Window node and configure its columns and rows
    2. Create a ViewPort node for each output slice
    3. Set the window property to reference the Window node
    4. Set the slice property to the appropriate column and row (e.g., column_1, row_1)
    5. Connect a texture source (typically from a Beamer) to the main inlet

    Mesh Types

    Choosing the Right Mesh Mode

    The mesh property determines how the texture is mapped to the output:

    Mode Description Use Case
    default Simple rectangular mesh Basic output without geometric correction
    warp Links to a MeshWarp node Complex surface warping with lattice control
    file Loads custom OBJ mesh Pre-created warp meshes
    none No mesh rendered Use with CornerPin for simple 4-corner mapping

    For projecting onto non-flat surfaces, use warp or file mode with a mesh that matches your projection surface geometry.

    Combining with Mapping Tools

    CornerPin Workflow

    For simple 4-corner projection mapping:

    1. Set ViewPort mesh to none
    2. Create a CornerPin node
    3. Set CornerPin's viewport to reference this ViewPort
    4. Use CornerPin's edit... button to adjust corners visually

    This is ideal for projecting onto rectangular surfaces that just need corner adjustment.

    MeshWarp Workflow

    For complex surface warping:

    1. Create a MeshWarp node
    2. Load or create a warp mesh
    3. Use MeshWarp's lattice editor to adjust control points
    4. In ViewPort, set mesh to warp and link to the MeshWarp node

    This is ideal for curved surfaces, irregular shapes, or multi-projector edge blending.

    Shader Effects

    Post-Processing with FX Shaders

    The fx shader property allows applying shader effects to the viewport output:

    • Color correction
    • Gamma adjustment
    • Soft-edge blending
    • Custom GLSL effects

    Since ViewPort is the final render stage, these effects are applied after all other processing, making it ideal for final color grading and output correction.


    Important Notes

    Mesh Format

    When using custom mesh files:

    • Use Wavefront OBJ format only
    • Place files in ~/_assets/_warps/ or ~/_assets/_models/_warps/
    • Using mesh: none only makes sense when working with CornerPin nodes

    File Locations

    ~/_assets/_warps/              # Warp mesh files (.obj)
    ~/_assets/_models/_warps/      # Alternative location for warp meshes
    


    Need help or want to suggest improvements?

    Report an issue Improve the Docs

    Last updated: 2025-12-01 | Edit this page on GitHub