Forum

Multiscreen DX11 Boygroup help


#1

So i started playing around with multi-screen Boygrouping.
Thanks to the tutorials from the Node15 contrib i got somewhere.
In DX9 everything works as expected, crops, screen numbers.
The example with DX11 however and its help patch it speaks about transformation index that i cant seem to find.
I got 3 machines with 1 1080p screen each, however whatever i do i the entire content squeezed in there instead of what each machine is supposed to render.

I am probably missing something really stupid but yeah … will be happy for some help.


#2

Hi synth , just answering from scarch memory , try adding a getslice after the multiviewport and use the index of your client. maybe you need to getslice for other transformations (view,proj) too.

cheers


#3

A bit late due to health condition, but back on my feet now and back to the problem.
I have had little to no success with it.
But at least i now have each part rendered on each machine… in a way …
Capture
And i get this:


Tried a lot of nodes and i am still stuck.

My goal was to create a module that does a few things, but after reading around it seems i need to convert everything form DX11 to a texture, and then use the DX9 Multiscreen modules if i want to have post processing.
I am getting confused.
At this point i will be happy for some help, even if some kind of paid tutoring on the matter.
As there is no documentation on this one , i am looking for options :)

Best regards!


#4

I just played around a little with the Multiscreen helppatches (never worked with them before) and might have found what you are looking for:

Try using a getslice between the right pin of the multiscreen and the crop input of the renderer. If you ant to display only one view per maschine, you don´t even need the multiviewport, I guess. Deleting it or setting its displaycount to 1 will give you the stretched out texture you are looking for.

You can use the index pin of the getslice to set up the view, you want to see (so 0 for the first PC, 1 for the second, …). The only thing I couldn´t get working are the display numbers.

I hope this helps (and is what you were looking for?). Maybe there´s a more elegant solution, but right now I don´t see any (I´m still a nevvvvbie…).

Regards!


#5

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.

11
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.


#6

Thank you all for replying, i actually did something just yesterday that gave me somewhat of a correct result.
Capture
Obviously Edge blend is out of the question here, as pointed out in different threads.

@vrtl_me i arrived at the same conclusion. Even tho i was playing with GetSlice before somehow it did work this time around. I probably missed something before. Even Colorsound suggested it and yet i seems to have messed something as i didn’t get the desired result.

@velcrome Will play around with your module as it seems to do the job for you, so it should be OK for me to , or on the very least give me a base to research. My plan is to make a personal “art” project that i want to base on vvvv. I went for boygrouping as i want to use SuperPhysical and particles a lot.

I normally work with Ventuz, Dataton and Showlogix, and all this is taken care of by default.
And here specially with DX11 it gets really confusing at times, specially when there is no documentation examples and so on. All the difficulty for me is multiplied by the fact that i normally have time or machines to play around … a day a week or something like that.

Thanks for the input i will be playing around and see what happens :)


#7

https://vvvv.org/contribution/multiscreen-lvt-(dx11) have you had a look at the contributions too? Those with some get slicing should help I think?