How do you get a halo to respect the background colour?

My lasers are having a problem with white backdrops.

If I make a ‘standard laser’ (start from the default plane, delete two of the vertexes, scale the remaining line up quite a ways then subdivide the heck out of it, give it a colour and a halo texture) and then I make the world backdrop white instead of the default blue to black, the picture acts exactly as I expect it to when I render it.

[ie: The coloured line fades from its centre of solid color to white at its edges.]

However, I’m trying to add lasers of this type to my existing scene (that has a white background) and what I get is the laser color fading to grey against the white background. It looks really bad.

Has anyone had a problem of this kind with halos, and does anyone know how to fix it?

I’ve discovered I have a similar problem with specular highlighting on an otherwise invisible (ie: glass-like) object against a white backdrop. It’s almost like the computer sometimes forgets it’s calculating the fade against white and does it against black instead… But the truly annoying thing is that it doesn’t do it in the laser example all the time! Sometimes, the laser will work fine until I do something like parent the laser mesh to something, and then BAM! Grey ugliness.

Even more annoying, I’ve discovered that once this happens, I can delete absolutely EVERYTHING else in the blend, just leaving the halo line and even after saving it, rebooting the computer and loading the .blend again, it STILL renders with Fade-To-Grey. :< I have made a .blend (at http://users.rcn.com/odlin/grr2.blend) of a white ‘laser’ on a white background. By all rights, this thing should render a pure white screen, but instead it gives a white screen with two grey streaks across it. Please do download it and see what it does on your system…

Anyone tell I’m really ticked off by this yet? Lost at least an entire day’s worth of effort on my new animation because I cannot pin this problem down.

Any and all help greatly appreciated. Thanks.
-Iain
using 2.27 on WindowsME, if it matters

Use the unified renderer instead of the standard Blender one.
Its slightly slower, but it renders halos in the same pass as everything else, so will eliminate your problem.
I believe the problem is due to halos being rendered after all else, so they can show clearly through ztransp objects and don’t interact properly with the background.

Hope that helps

Alex

Thank you for the suggestion. I suppose I should have mentioned I already tried that and it doesn’t always solve the problem… In addition, it adds several other problems (like causing the halos to disappear completely in front of the backdrop and turning some of my objects solid black) and it triples the render time – it already takes 15 minutes to render 70 frames of video (at 320x240 :frowning: ).

I’ve really come to detest the unified renderer and I am very, very glad it’s only an option in Blender.

Thank you! Some quick testing this morning seemed to verify your statement (in my example .blend, add a sun and put any object behind the ‘laser’, then render the scene).

So a possible reason this grey nastiness doesn’t happen all the time is because I’m changing the order in which the program calculates things by adding and removing things in the .blend. :o

Thanks to your comment I have managed to find two partial workarounds to the problem and between them I was able to render the scene I wanted.

(1) The halos mostly only do this in front of the world background. If the halo ‘laser’ crosses an object, it fades to the base colour of that object. So, creating an object for the overall backdrop of the scene (large UVsphere on a separate layer with 1.0 reflect and 0 spec, and a layer-only hemilight pointing along the camera axis as a very simple example) instead of using a World setting helps minimize the problem (as long as you’ve got the vertexes to spare).

(2) Reparent the objects in the scene until they render in the ‘correct’ order.

Hope this helps someone else,
-Iain
who is hoping to be able to release this project next week