Skip to content

Using alternative render pipelines

richardTingle edited this page Jan 10, 2025 · 1 revision

From jMonkeyEngine v3.8.0 it is possible to use alternative render pipelines from the default forward renderer used by jMonkeyEngine. This works with Tamarin, however, as Tamarin must own the Viewport you use the setMainViewportConfiguration method to achieve this.

The example below uses Renthyl to provide an alternative render pipeline but the same approach should work with any render pipeline

public class Main extends SimpleApplication{
    FrameGraph fg;

    // Tamarin vr initialisation as normal

    public Main(AppState... initialStates) {
        super(initialStates);
    }

    @Override
    public void simpleInitApp(){
        // Renthyl is an EXAMPLE of an alternative pipeline
        Renthyl.initialize(this);
        fg = Renthyl.forward(getAssetManager());

        XrBaseAppState vrAppState = getStateManager().getState(XrBaseAppState.ID, XrBaseAppState.class);

        xrAppState.setMainViewportConfiguration(vp -> {
            vp.setPipeline(fg);
        });
    }
}

Clone this wiki locally