Do alpha canvases work?
SnowSultan
Posts: 3,777
in The Commons
I'm trying to render some masks for postwork and I set a canvas to Alpha and rendered, but the resulting render is just black. Is this a feature that isn't working at the moment or are additional steps beyond using a normal canvas necessary? I really would like to avoid having to turning all these surfaces to 3Delight and manually applying white materials to them...there are a whole lot of them. ;) Thanks in advance.

Comments
I think you have to create a node list, create from selection in that drop down, have your figure selected or whatever you want in the alpha.
I did that, that's what's weird about this. I wrote a tutorial on canvases and I made a point to mention to make sure that the actual nodes are selected if something isn't working. :)
Hmm, yeah I remember having this problem on a regular basis, just can't quite remember how I fix it... hence having the problem on a regular basis
Maybe a beauty pass set to alpha instead? Rather than the Alpha entry... or the other way around?
I'd forgotten about that, a beauty pass with Alpha checked...it gives a masked off-full render of the selected nodes, but not an actual alpha channel. Very useful, but it's not what I need because I've already postworked a composite render and I only need the masks themselves now. Will keep experimenting, thanks so far.
EDIT: forgot, I can probably just select the saved PNG alpha from a quick full beauty/alpha render and save that as a mask in Photoshop. Clumsy, but might work.
They do work. You need to take it into PS or your image program and apply HDR toning. It creates a 16 bit map which might show up all black in regular image previews. Also, be sure to put in the name of the file in render settings before rendering. It will create a folder with all your canvases in the render directory of the name of your render after you save the render out.
Wow, that did work!...except the mask is extremely grainy and not anti-aliased. How long do you have to let the Iray render go before it looks like a smooth mask should? Hopefully not as long as the actual render took. ;)
Yup. That long. It needs to render as long as the image you're alpha-ing renders. Good news-- you can render it all at once. Set a beauty canvas and an alpha at the same time with the appropriate nodes for each, and you've got all you need in one pass.
Edit: the hdr toning works for the depth canvases and everything as well.
Hahahaha..aha...nope, I'll paint the masks by hand then. ;) Also, what if you need multiple masks, can't you only render one alpha at a time?
You can do as many at a time as you want. You just add another and create the appropriate nodes for it and assign it. Generally I'll do a beauty mask, depth mask, and about 4 alpha masks in one run. Then I'll realize I screwed something up and redo it all... twice.
But you have to choose the Active Canvas in the Editor tab of the Render Settings panel, doesn't that only allow for one canvas render at a time?
In Render settings choose the beauty canvas, the others are still gonna get saved out. Just tried and the alpha exr looks normal without doing any HDR toning.
The beauty canvas is a requirement I think, just make that the first one.
Alright, I'll give it a try on a tiny image. :) Thanks for the help so far! BTW, do you happen to know why MaterialID canvas renders are not anti-aliased?
No idea, never used it. My alpha btw looks perfect even when cancelling the render right away.
Don't foget you can also do ColorID passes, which could be used as masks for multiple distinct items.
The tests on the little render worked here, all canvases rendered when only the Beauty one was selected as the active one. I'll do another full-sized one with masks then, it will still be faster than any alternate way. Thank you both for your help!
Richard, that's why I asked about the anti-aliasing, that canvas pass would be great if the edges weren't blocky.
Yeah, that's one of my wishes for future Studio versions...tone down the high dynamic range EXR canvases to linear space so we don't have to. Ideally include a user checkbox so we can select whether to do it or not. I wrote a neat script in my Nuke compositing software to grab all the passes/canvases and arrange them in a tree and automatically tone them down as needed and merge them in to a final image. But it's a pain.
Sorry, another question. Can you render multiple beauty passes (one for each light) in one go? I cannot get these canvases to do anything I want, all I get are useless EXR files that don't even convert properly when run through HDR filtering in Photoshop.
Beauty passes aren't for the lights. But you can do multiple beauty passes. Light passes are different.
Thanks for replying. I'm not able to do multiple beauty passes in one go though, it only renders the selected one from the drop-down box (which is understandable).
It doesn't save them in the folder in your render library?
For beauty canvases, instead of HDR toning, you might want to use exposure to adjust the image. -13 tends to be about right for defeault environment/render settings.
"It doesn't save them in the folder in your render library?"
It saves the selected canvas as a render, but the others go into a new canvas folder and are just barely visible white renders that don't respond to any sort of Photoshop fixes.
go to about 5:41 in this video and it will show you what to do with your white images in photoshop. :)
https://www.youtube.com/watch?v=xEe2r5m7Fto&t=138s
Thank you deathbycanon, that was a good tutorial that explained things well. :) My big question though is why do we have to do any of that at all? - why aren't these rendered as PNGs or at least have the option to choose between PNG and EXR? Are there really a large number of users who need to send their renders to NUKE or other compositing software where EXRs are necessary?
Thanks again!
I take it back, I'm done with this canvas nonsense until they all have anti-aliasing and you don't need to postwork raw renders just to make them visible. I just rendered an environmental pass that is totally black and can't be fixed with HDR or brightening adjustments and a depth map that is pixelated and also needs adjusting to even see the different grayscale levels. I'll go back to rendering by turning individual lights off and masking by switching to 3Delight and using my b/w shaders on the surfaces I want masked. The hard way is often the most efficient way.
Thanks again for your help though. :)
Your work is beautiful and has a fantasic style, so if what your doing is working then keep doing what your doing. :)
The major point of Canvasses is to have raw materials for compositing, for which (low bit-depth) PNGs really aren't suitable. Having more than 8 bits per channel is a prerequisite for compositing and for extensive post work involving tonal adjustment.
Canvases are done at 32 bit so there's a *ton* more information and subtlety in them than the pngs that save. You can get a much finer gradients in light and color with 32 bit. Now, can the average person see it? Not in a final image most likely, but there are definitely times it's been useful. That said, if what you've been doing is working for you, there's no need for 'em. Large and commercial grade renders for printing certainly benefit from them though.
Personally I only use canvases now and then, and mainly for depth/fog, a seperate environment lighting so that I can tweak that, or any special masking I might want (like hiding foreground characters or windows in the background, etc etc). I prefer to use beauty shots rendered normally in DS. But I use a lot of emissive surfaces, and those are kind of annoying to tweak and render correctly in canvases, so I may not be using it to the full potential.
Canvases are just a tool like any other thing in the arsenal.
"Your work is beautiful and has a fantasic style, so if what your doing is working then keep doing what your doing. :) "
Thank you very much. I was just trying to make it a little easier to actually make stuff. ;)
Don't you lose all that additional color and tonal information when you convert it to 8-bit per channel in order to actually do any postwork on it?