bad image quality with Kantan Mapper

Hi all,

I am working on a projection mapping project with 3 projectors at 1280x800 resolution each, projecting on 3 walls that are at different angles, correcting the image to appear to span across all 3 walls from a single perspective point. I am taking 4k footage and rendering the 3 separate videos using AfterEffects, and then loading them in TD and using Kantan to map to the wall surfaces.

The problem is that the resulting image is very low quality, in comparison to the rendered footage. It looks like the comparison between an aliased and anti-aliased image. On a 1280x800 projector, this results in a pretty horrible image quality. I have the Kantan resolution set to 3840 x 800 and I’m using the Matrox TripleHead2Go for output. (However, I can see the image quality distortion quite clearly when displaying the output on my workstation screen (3840 x 2160)).

Does Kantan not do any aliasing? Is there any solution to the problem? Is there any extra information you need to answer these questions? I can provide a screencap that includes the rendered footage and the Kantan projection pixels next time I have the whole rig set up.

Thanks,
Marc

Screen cap would be helpful. I don’t use Kantan often so I can’t answer those specific questions, but have you tried running other video content to see if it’s isolated to the content? Also would be worth trying to bypass Kantan and send your videos straight to the projectors (even if it messes up the mapping) just to make sure it’s not a resolution setting in the Matrox since those can be finicky as well.

When you create rectangles, in the currently available version of Kantan, the Colormap Filtering is set to Linear. Try switching it to “Mipmap Linear” and see if that improves the results.
To do so, go into kantanmapper/kantanmapper/rect* and find the Phong Mat called “texture”. Here click on the Arrows beside the Color Map Parameter to open the Texture Sampling parameters and change the Filter parameter.

Does this help?
Cheers
Markus

This can also sometimes be the Anisotropic filter if you’ve got a really sharp angle in your geometry. If Markus’ advice above doesn’t work you can try the anisotropic filter and set it to 8x or something. This is directly below the filter parameter he mentioned.

Thanks for the suggestions, guys.

Changing from Linear to Mipmap Linear does indeed have an effect, but it’s not a great one. The aliased pixels definitely get smoother, but unfortunately it’s as if the whole image has been run through a Gaussian Blur filter. In addition, there is a bit of a grid artifact, which may be due to a cell size specified for the mipmap filter? Either way, The image quality is now significantly lower than the original video file, albeit without aliasing problems. It’s a bit too far in the opposite direction.

Changing the Anisotropic filter settings did not have any visible effect AFAICT, regardless of whether Linear or Mipmap Linear.

Unfortunately I don’t have the full setup running at the moment, so I can’t give any screenshots. I will definitely test raw footage (and unprocessed raw footage) straight to the projectors, but I suspect that this is not the issue because I can see the image degradation on my laptop monitor if I output directly to the laptop from Kantan.

Any other thoughts/suggestions appreciated! I will update when I have more information.

Thanks,
Marc

Something that comes to mind, for Non-Commercial, the resolution of TOPs are limited to 1280x1280. So if you are running Non-Commercial, despite the output filling the whole screen, the rendered output would just be 1280x1280 pixels max.

Cheers
Markus

1 Like

Oh wow. Seriously? I am definitely using non-commercial. Was not planning to upgrade until I confirmed at least 3840x800 resolution quality. Hmmm…

Is it because Kantan combines the three video feeds into a single COMP, and then that single COMP is limited to 1280x1280? I feel like if I were getting the equivalent of 420x320 pixels in each of the 3 screens it would look far WORSE than it does… but I will say that the quality problems were definitely exacerbated when I moved from a 2-screen setup to a 3-screen setup.

Hmmm…

Can I run 3 separate tops to 3 separate screens with full 1280x800 resolution? I’m not particularly savvy when it comes to COMPs and TOPs… I’m definitely a barebones beginner TD user. Any suggestion on how to test this? Attached is an image of the final portions of my setup.

[url]https://drive.google.com/open?id=0B43snRRlyGQPZWNBcUxDMzFRX2M[/url]

Thanks,
Marc

The resolution is only limited in TOPs. So you can do as you suggested, use 3 1280x1280 TOPs arranged together into a large canvas.

I would recommend using 3 Container COMPs at 1280x1280 (or 1280 by 800 ie. whatever aspect you are using), and then place those 3 Container COMPs into 1 big Container COMP 3840 wide as your main canvas. In the main canvas Container try using the Children > Align parameter setting it to ‘Left to Right’, makes it nice and simple. This will also make it easy for final configuration using Perform Mode which you need for maximum performance.
wideCanvas.tox (822 Bytes)

ben >>

This is awesome, thanks for putting together a demo file, it was really helpful.

I was able to get the comp working and displaying my three video files in the network editor. Only problem is that when I enter Perform mode, it only shows one of the 3 video files (the first/leftmost one), on my laptop screen (not on the Matrox). Furthermore, I’m not quite sure how perform mode works, in that I can’t seem to maximize the window, so I have a Windows border around the 1 video file that won’t go away.

I tried double clicking to maximize, no response. Tried moving my TD interface over to the Matrox before entering Perform mode, no luck. Sorry for the newb questions – I haven’t been using COMPs or Perform mode at all, since until now I’ve been just using Kantan.

Ideally I would be able to run the COMP on the TH2Go while in Network mode, but if I can get it working in perform mode that would be good just for debugging. So far it looks like my resolution is way, way better with just the original video files.

But I guess my question (beyond getting it to work fully) is – if I am able to get full resolution from 3 COMPS in a container, why is it that Kantan doesn’t use the same strategy, so that it can get around the 1280x1280 limit?

Thanks,
Marc

Okay, I’ve made some progress by using a Window COMP with Single Monitor: 1. However, for some reason the three comps are not divided equally between the monitors. There is bleed across the monitors.

I’m fussing with the Panel parameters of the containers, changing to 'Stretch", “Native Resolution”, etc, but I haven’t found the right combination. I’ve double checked that my projectors are in fact in 1280x800 mode and i’ve double checked all of the container sizes, they are defined explicitly.

Any thoughts?

Thanks,
Marc

which triple head are you using?

What’s your connection type to the triple head?

If you’re connecting via VGA to the triple head your max resolution is 4080x768 or 3840x1080.

I think you need to use “All monitors” and then offset the window opening to the right of your primary monitor. The settings are different in 088 and 099 so its hard tell you exactly how, which version are you using? Also, the Perform Mode by defaul tuses the Window COMP found at /perform, but the Window Placement Dialog lets you tell TouchDesigner which Window COMP to use for Perform Mode.

So… this is interesting.

First off – I’m using 088 build 61910. I did in fact find the Window placement dialog that allowed me to fire up the Window comp on the TripleHead2Go. (I’m using Digital SE version, connected with HDMI-to-DVI-D adapters to DVI inputs.) The Matrox utilities report 3840x800, as does the nVidia control panel as does the Windows “Change Resolution”.

However, I noticed that when I took a screencap of the desktop, the TD performance size was mismatched with the Matrox. In fact, I took the screencap into Photoshop, laid out what was being shown on the screen, and what was being pushed by TouchDesigner, and calculated the difference. Then I did the math and set the Window comp to 86.66% of 3840x800, and voila, everything fit perfectly. See attached.

Any idea what’s going on? Everything is telling me that the Matrox TH2Go resolution is correct, 3840x800 – but TouchDesigner clearly doesn’t think so.

Marc

Hey,

can you share your file again? Will be easier to tell from it.

Cheers
Markus

Can you clarify where these red and green bounding boxes are coming from?

It looks like the first red bounding box is 1600 x 1000 while the green bounding box is 1280 x 800.

You might first try sorting out just the window arrangement with a solid color or a set of test patterns so you know that your output is what you’re expecting - that might help simplify the process of tracking down what’s going on here.
container_test_patterns.tox (1022 Bytes)

The green boxes are what is actually being sent to the projector (1280x800 x 3), the red boxes are the extents of the TD Perform – which appears to be clocking in at around 1536x960 x 3, for some strange reason. This represents a scaling factor of 1.2, and if I change the Window comp size from 3840x800 to 3200x667, everything fits on the correct screen. However, because I have some wiggle room with the black bands on either side of the image area, this is very likely not an exact scaling factor. I suspect it’s closer to 1.25 – which would in fact be 1600x1000, as you say.

I can certainly use RGB test patterns, but it’s pretty easy for me to see that the image area is scaled incorrectly with my sample source files as well.

Cheers,
Marc

hmmmm.

Give this a try -

This file is set to open in perform mode without borders and match the pixel resolution of the containers - 3840 x 800 with each output sized as 1280 x 800.

It should be aligned with the top left corner of the test pattern output lined up with the top left corner of your second monitor (triple head).

Does this line up as expected?
test_pattern.toe (4.11 KB)

Thanks everyone – i’m away from my setup but will try out suggestions when I get back, probably tomorrow or next week.

Thanks,
Marc

You should not need stretch of native resolution settings, each of the 3 containers (1 for each monitor) should have a TOP int eh Background TOP parameter that is the exact resolution of the Container COMP, ie 1200x800. Is your TOP the correct size?

Sorry for the delayed response