» badMapper
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.


tool homography projection-mapping
Credits: MadMapper, DominikKoller


Inspired by MadMapper and mapping-toolkit (alpha) badMapper allows to select multiple rectangles from a SourceRenderer and distort those (via homography) in a DestinationRenderer.

Provide a texture with your own content, point your projector to the surfaces you want to be mapped and go fullscreen on it with the Destination Renderer. Create/place/size selections in the Source and then drag their corresponding cornerpoints to their targetposition by directly operating in the Destination Preview Renderer. Selections can be tweaked pixelprecise via keyboard, vertices snap, mappings can be saved/loaded, ... which makes this a perfectly usable tool for simple scenarios.

Built in an ultra-modular fashion that allows it to be easily adapted to a DX11 version.

Also available via github.


24.06.17 [18:11 UTC] by dominikKoller | 704 downloads
fixed legacy cursor nodes. tested with b35.7
Show 6 older revisions

Older Revisions

21.05.16 [16:55 UTC] by joreg | 693 downloads
fixed texture filtering for destination to Linear (was Point)
12.04.16 [22:00 UTC] by joreg | 280 downloads
minor cosmetics, no functional changes. tested with b34.2
02.09.14 [17:15 UTC] by dominikKoller | 1369 downloads
Rework for b>32.1
09.05.14 [17:11 UTC] by joreg | 851 downloads
updated for b32
20.05.14 [18:54 UTC] by herbst | 456 downloads
made a quick hack for a DX11 version -- working but ugly!
21.11.13 [23:45 UTC] by joreg | 741 downloads
initial release

everyoneishappy 22/11/2013 - 05:04

Haha love the name :)

Noir 22/11/2013 - 10:29


manuel 01/05/2014 - 14:59

whats this xy node that is missing ?=

joreg 01/05/2014 - 15:01

probably not missing but you're not running latest vvvv, see: new-vector-swizzle-nodes-and-vector-joinsplit-up-to-5x-faster

manuel 01/05/2014 - 15:05

ups, i just notice that, your reply was too fast!

Alec 02/05/2014 - 13:52

Nice tool! TYVM! Would be great if it has keyboard controls to select and move cornerpoints more carefully.

herbst 20/05/2014 - 17:57

I uploaded a DX11 version which is working, but not nice (texts are wrong format, contains a lot of hacks for strange Transform behaviours -- Billboard not working as I expected etc., no wireframe). Would be cool if someone makes it better, though.

artifak 22/09/2014 - 08:54

im currently have the vvvv b32.1 x64. If i open the badMapper (dx9) help patch its open but the badMapper node turn red (its like it missing node). can anyone help me why its happening?


joreg 22/09/2014 - 11:59

@artifak: as mentioned above badmapper v3 needs b>32.1 so try again with b33.1 please.

artifak 22/09/2014 - 12:15

@joreg owh i thought its from b32.1 to the newest, oke oke thx for the explanation ad suggestion :)

anonym_hk 09/10/2014 - 12:38

Hi, Just stumbled on Bad Mapper.
It is assumed that the polygons have four vertices. What if I want a polygon with more or less vertices for masking?
I changed bin size for polygons in the sub folder patches. But then I started to get weird shaped textures. No wonder :)
How do I do it?
Thanks, Bad Mapper is cool.

dominikKoller 06/11/2014 - 20:14

@anonym_hk You have to apply masks to the content before putting it into badMapper. badMapper cannot do any masking (for now). It would be a lovely feature, I agree!

Maybe someone wants to give it a try? ;)

screamer 28/01/2015 - 14:42

hey guys,
i love badmapper, but i also love dx11, so i've made a conversion of the latest v3 bad mapper.
Now i'm in the point that i have a badmapper that works identical in dx9 or dx11 (in the same module), but probably is more convenient to create a dx11 only badmapper (only a matter of cutting pieces now).
anyway, if someone is interested, here it is


Noir 28/01/2015 - 17:12

totally agree with u

joreg 28/01/2015 - 18:07

@screamer that does not sound like the way to go. essentially you'd only have to create DX11 versions of those modules that are now there as DX9 modules only. then they can happily live sidebyside. see?

screamer 28/01/2015 - 20:32

@joreg: yes, i agree, and in fact, after confirming to myself that quite all is working in dx11, i'm going to delete all the dx9 part and polishing the dx11 part a bit, just to have both versions working indipendently.
you can say that the one i posted is only the first rough conversion, but seems to work in the most substantial parts.

i've found a problem in dx11 about ActiveWindow not giving the correct handle (i've written a forum post with an example attached, and you can find it here: activewindow(windows)-dosent-give-the-right-windows-handle-with-dx11-render

screamer 28/01/2015 - 20:57

here we are, this is the DX11 only version. Not perfect, i still have some graphical differences (text without the brush, different size of some GUI parts, some nonclosed lines in the GUI, and last, i'm not the most clean patcher here, so don't expect clean subpatches as the original was :)
but for all the rest, seems to do the job quite well


Amerlander 03/05/2016 - 12:29

@screamer: I´m really interested in your dx11 version, could you reupp it?
I´m pretty new to vvvv, so even after reading a load of tutorials I have no clue what to change in that "ultra-modular fashion that allows it to be easily adapted to a DX11 version." :)

screamer 03/05/2016 - 14:27

@Amerlander: need to find a backup, or to redo the porting again, gimme some time to sort it out ;)

screamer 03/05/2016 - 19:13

Here we are, i've found my backup, there was some things no more working, but now it should work with the latest beta of vvvv, let me know


Amerlander 04/05/2016 - 16:46

wow great, the test setup with spout and AfterFX works like a charm now. Thank you! :)

Veronika_Bol 26/01/2017 - 08:43

I'm working with vvvv b32.1 x64 and i already did all my Patches. But now i need to map video. And for that i need a bad Mappen, which is as i get working only with another Version? But if i open my patch in another one, some things such Hit Boxen turning red.
How can i map my video in this Situation

joreg 26/01/2017 - 11:54

you should really get your patch working with beta35 first. please start a new forum thread about your troubles when opening your patches with beta35.

artifak 06/06/2017 - 08:34

Dear joreg

i tried using bad mapper again and it still an absolutely awesome patch, but i wonder can i use multiple texture or source to the badmapper and have different polygon for every texture? for example i use texture A for polygon 0 and switch to texture B for polygon 1 and so on.

thank you

joreg 06/06/2017 - 11:37

@artifak in order to do this you'll have to first "merge" the textures to one, by e.g. rendering them together in an extra renderpass and then using that combined result as input to the badMapper. hope that explains..

artifak 07/06/2017 - 06:30

@joreg ehmmm did you mean by merge it first in another renderer and pass them using dx9texture?

joreg 07/06/2017 - 11:24

@artifak: exactly..using dx9texture..

knoeterich 21/03/2018 - 18:20

is it possible to get this to work with two or renderer which render different parts of the texture to cover different angles of the "real world image"?

joreg 04/04/2018 - 12:06

@knoeterich for sure this can be adapted to your needs. only it would kinda go beyond the scope of a simple answer here. try to take steps in the direction and ask more specific questions on the forum as they arise.

Aurel 13/09/2018 - 23:46

Good hey mates from Wisp...!
Working with severals beamers with badmapper and boygrouping.
We are looking for a method to save renderers positions.
Problem is when closing and saving from server or client, the position is lost and we have to manage it each time we restart.

Thanks !


tonfilm 17/09/2018 - 21:07

@Aurel maybe you need the SetRenderer node from here: setrenderer-(ex9)

anonymous user login


~2d ago

joreg: @microdee: yep i think the site takes user submissions..

~2d ago

microdee: @joreg: it's missing FlareTic... ;)

~2d ago

joreg: @motzi yeah, welcome to my life..

~2d ago

motzi: @joreg: i'm tempted to look into PraxisLIVE :)

~2d ago

joreg: @u7: no worries, we'll still be here when you everyone comes back...

~2d ago

u7angel: @joreg, are u trying to get rid of the community ? :)

~2d ago

joreg: bored of #vvvv? try some alternatives: https://alternativeto.net/software/vvvv/

~4d ago

tonfilm: @beyon you can also use F# together with #vl, see: #fsharp #dotnet #visualprogramming https://github.com/vvvv/VL.DemoLib/tree/master/src/VL.FSharpDemoLib

~4d ago

beyon: tonfilm: Ok,currently using F# though but maybe I should look into sharpdx vs xenko math

~5d ago

tonfilm: @beyon #vl also fills these gaps with huge range of collision detection math from #sharpdx which is basically the same as #xenko's