just to get the basics right here:
boygrouping was invented a long time ago, when each beamer required a dedicated computer.
dx11 viewports are something more modern, when there was enough power in a computer to drive multiple beamers (or gamer monitor walls, for that matter)
So while boygrouping helps you to sync multiple computers to present a coherent output, viewports help you to to chop down your spanmode output across multiple projectors or monitors (jargon: heads). Of course you can mix both and end up with massive projections.
Anyway, you were asking how to use viewports in dx11, so here it goes:
I basically have this module as a base. It chops down the screen into a grid of equally sized monitors.
In this case I drive 8 from one beefy computer.

ViewPortGrid (DX11 Phantasos).v4p (9.8 KB)
The Viewport pin connects directly to the hidden pin in the Renderer
which will feed the spanmode of all eight projectors. This takes care of configuration.
The next thing I use is usually ViewportIndex
combined with a Validator
. It basically sends your drawcalls to the next viewport (check cycling pin!) instead of having each drawcall on every viewport.
each time you put a transform slice into a Constant
, it is a draw call. in olden ex9 you could actually see the draw call count on Layer pins, until it was deemed confusing because you could not GetSlice it back then
ViewportIndex
can also be used with a hidden pin on Group
.
The other node I use a lot is SelectViewport
, where you can tell each drawcall, on which viewport to go to.
Yes, there is more to it, but those 3 things are usually sufficient for me.