Why is my alpha pass binary (just 0's and 1's) in Cycles? In Blender Render, my rendered alpha pass has intermediate values (e.g., 0.83) at the boundary -- great for anti-aliasing compositing!



However, when I switch to Cycles, my alpha channel is always binary, i.e., consisting of only 0's and 1's.



For some other reasons, I have to stick with Cycles. How would I produce an alpha pass with intermediate values in Cycles?
You have only 1 sample set for Cycles:



Any particular sample in Cycles will return either 1 or 0 for the alpha channel. Antialiased alpha edges are built up by averaging multiple samples, some of which strike the occluding object and some which do not. Using a larger number of samples, such as 16, will fix the issue.