Forum Coordinators: RedPhantom
Poser - OFFICIAL F.A.Q (Last Updated: 2024 Dec 23 8:11 am)
Don't attach it to the background. Attach it to a one sided square. Scale the square to the same proportions as the picture then position it so it fills the screen.
Better yet, don't even bother. Save the render as a PNG and add the background in Photoshop.
Coppula eam se non posit acceptera jocularum.
Quote - Better yet, don't even bother. Save the render as a PNG and add the background in Photoshop.
That's what I do, but I first put the image on a once sided square and then set up the scene complete with background, props, figures and lights.
Then I hide everything but the background on the square and do a render. Because the background is on a square it reacts with the lights and gives more of an impression that it actually belongs with the figures and props that are going to be on top of it.
After I render the background, I save it as a .png file.
Then I hide the background and reveal everything else and do a render which I save as a .png file.
Then in Paint Shop Pro I lay the figures and props .png over top of the background .png. Because both were rendered with the same lights, they look like they belong together.
"It is good to see ourselves as
others see us. Try as we may, we are never
able to know ourselves fully as we
are, especially the evil side of us.
This we can do only if we are not
angry with our critics but will take in good
heart whatever they might have to
say." - Ghandi
To just apply a simple image to the Background node, I would click Display > Clear Background Picture. Then File > Import > Background Pcture... And then make sure Display > Show Background Picture is checked.
If it came to adding a prop to apply the background image, I would highly recommend as sphere prop; with it's normals reversed, centered, scaled 10 about 1000%. This would constitute a Sky Dome. You would be surprised how advanced Mapping is to accommodate the inside of sphere:
Sky Domes are how Bryce and Vue work, and why reflections become especially easy:
I think most of you are missing the point though (lesbentley being the exception).
My question is not "how do I make a background picture?". My question is "why doesn't it work when I plug in a picture node to my background and render ?"
It is meant to work, and this is supported by the fact that it has worked for lesbentley. Why is it not working for me ? The only change that I have made to copy lesbentley's setup is to change the color attribute to be the same as the BG shader. It still stubbornly renders "all white".
I've attached an image of my settings.
@ mathman,
I must admit that I usually go down the File > Import > Background Picture, rout. When I saw your post, it was the first time I had ever tried loading a background through the Material Room. When I selected 'Background' as the Object, there was already an existing 'BG Picture' node sitting there, and I just plugged this in to the Background. Note this was a 'BG Picture' node, not an 'Image_Map node', I should have made that explicit in my post, sorry.
When I tried the same thing (just now) with an Image_Map node, I got the same results as you, a white background. So I would suggest you try using the BG Picture node, unless there is some special reason why it needs to be an Image_Map node. There may be a way to get the Image_Map node working, but I don't know what it is. :(
lesbentley,
I hadn't noticed that before, but yes that is a significant difference. I couldn't, however, find a 'BG Picture' node. Can you tell me how you get to it ?
thanks,
Andrew
PS I noticed that there is a fleeting reference to the 'BG Picture' and the 'BG Movie' nodes in the Poser manual, but it didn't enlighten me on where to find it.
Quote -
Thanks for the replies everyone.I think most of you are missing the point though (lesbentley being the exception).
My question is not "how do I make a background picture?". My question is "why doesn't it work when I plug in a picture node to my background and render ?"
It is meant to work, and this is supported by the fact that it has worked for lesbentley. Why is it not working for me ? The only change that I have made to copy lesbentley's setup is to change the color attribute to be the same as the BG shader. It still stubbornly renders "all white".
I've attached an image of my settings.
Yup, I got the point. Being a lateral thinker though, I said to myself, "Why in the world would anyone want to do this when there are better and easier solutions?"
But there you go. Glad you got it sorted. :)
Coppula eam se non posit acceptera jocularum.
The "Background" material zone has some magic in it. It wants to see the background image in that special node. It has to do with the "Render Over" options being a programmed thing, instead of just a normal shader.
If you select Background material room, all nodes, and delete them, they reappear.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
@ SamTherapy,
Quote - Yup, I got the point. Being a lateral thinker though, I said to myself, "Why in the world would anyone want to do this when there are better and easier solutions?"
I assume you are talking about attaching the image to a square, or compositing in a paint program. IMHO neither of these methods is better or easier than placing the image in the background.
Lets look at the square method first. When the image is in the Background, you can move the camera any way you like and the image stays the same in the Background. If you use a square you will have to parent it to the camera to get the same effect. A square with the default material settings will be affected by the lighting in the scene, and will catch shadows from the scene. These are usually not things you want to happen, so you need to plug the image into the Ambient channel, set that to white, and set the Defuse and Specular to black. I don't see anything "easier" here!
I think it would be very hard, if not impossible, to get the same resolution from an image attached to a square as one attached to the background. So I don't see anything "better" here either!
So what about adding the background in a paint program? It's not a bad method, it works quite well, but because the Poser image of a figure was rendered over a background colour (mid grey for example) the edges are unlikely, in my opinion, to ever blend in quite as well as if it were rendered over a background image, where the anti-aliasing would merge the edges of a figure with the background. In any case I don't see this as being in any way easier than adding a background image in Poser.
These are just my thoughts on this issue, I am no great expert on image processing or paint programs, I will stand to be corrected on this. But on the face of it I don't see that the other methods are better or easier than using the Poser Background.
Quote - It's not a bad method, it works quite well, but because the Poser image of a figure was rendered over a background colour (mid grey for example) the edges are unlikely, in my opinion, to ever blend in quite as well as if it were rendered over a background image, where the anti-aliasing would merge the edges of a figure with the background.
Which is why you export to a format like .png that has a proper pre-multiplied alpha. The image you get this way is already antialiased correctly to merge with a background with no border or fringe.
Quote - In any case I don't see this as being in any way easier than adding a background image in Poser.
There are several drawbacks to doing backgrounds in render:
Everytime you change your mind about your background, you have to do a (potentially long) render. With a comp, you just switch out the layer to another image. You can also move/scale/rotate/color correct the background till you have exactly what you need.
You have no way of modifying the background blur without also screwing up foreground elements. With a comp since the background is wholly independent, you can just take a large soft blur brush and run it over various parts to make them match your render. But if you've already baked the background into your render you will have to do complex masking to get anywhere near the same level of control.
Poser AA does some very nasty things to textures. By pasting the background texture to a square which is then gonna be filtered to hell by poser, you're only reducing the quality of your work.
Cant be used in any sort of camera animation. If you really must use an 'in render' background, use a skydome instead. That looks better, can be used for reflections and follows camera motion properly.
In the bottom image the photo was attached to the Poser Background, the image rendered and exported directly from Poser. Note the better integration of figure and background.
@ ghonma,
I'm NOT saying "don't composite in a paint program". Different methods give different results. Rendering over a background image, and rendering over a background color, both have their individual strengths and weaknesses. Which method is "best" will depend on what result you want, and personal preference.
The point I was trying to make is that compositing is neither better per se, nor easier than rendering over an image. Its not necessarily worse either, but I don't think it is in any way easier. It's just a different method that will give different results.
To adress some of your specific points:
I have usually made up my mind about which background to use by the time I come to do a final render.
You have a point here. The background image could be blurred before you load it, or after the image is exported from Poser you could use an inverted alpha mask on the image to blur only the background, but I must grant you that you have more control of this with the figure and background in separate layers.
Quote: "By pasting the background texture to a square which is then gonna be filtered to hell by poser, you're only reducing the quality of your work." Exactly my point! A Background image will give you better resolution than applying the image to a square (assuming you want better resolution, which may not always be the case).
I agree here. For an animation a skydome often has big advantages, though there is a trade-off in terms of resolution, and actually finding or making an appropriate image for a skydome is not always easy.
Like I said these are different methods with different strengths and weaknesses. For a still image, myself I would usually go for a Background image in Poser, I feel that I get better integration of the image and background that way, but I don't rule out compositing, in certain circumstances it may be the best option, but IMHO it's not "better" or "easier" per se.
Quote - Then in PSP 5, the alpha channel was copied and pasted over the background photo. Note the grey outline round the figure.
That's why you have to render out to .PNG. No other format like TIFF or PSD works because they all include a non premultiplied alpha, which is what makes that nasty fringe around the transparent areas. But PNGs work perfectly. This is a simple render of simon i exported as .png and comped over a texture image (in photoshop). See how you get no artifacts at all, and still maintain a nice sharp edge.
But yes I agree about the personal prefererence thing. Some people like to fix everything in their mind before they render and some like to play around with it. The comp method works nicely when you want to try out different things which is how i like to work.
The comp method deffinately has its uses, but if you are rendering things like translucent cloth, reflective windows or fine hair, then putting a background in in Post becomes tedious and difficult.
I liked that with Poser 5 you could render over a background and still get an alpha channel, this allowed for some very nice postwork. Unfortunately they purposefully changed that in Poser 6. I know there were a lot of complaints about the change, but I've never checked to see if they changed it back in Poser 7.
You will never get a fringe on your comp if you render over black. Pre-multiplied or not, you should render over black if you're going to comp in post. I posted the math for this recently but I can't remember where.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
Never the less, on the face of it, my tests seem to directly contradict both of them.
I am willing to accept that I have done something wrong here, but I would appreciate it if someone could tell me what.
The bottom image was rendered over a background in Poser, and exported as "B1.PNG".
In the top image the figure was rendered over a black background and exported as "B2.PNG". In PaintShop Pro 5 I loaded the background photo (clouds-002.jpg), then pasted B2.PNG as a new layer, then applied the alpha mask. You can see the results above, a very pronounced black fringe in the composite image. This image was PNG and rendered over black, so by either ghonma's theory or bagginsbill's, should not have any fringe, if I have understood them correctly.
Just to be sure I tried a different method. This time I first opened B2.PNG in PSP5, then converted clouds-002.jpg to a PNG, reloaded clouds-002.PNG, pasted it as a new layer, loaded the alpha mask, inverted the mask. The results were identical to the first test, a pronounced fringe.
So am I using the wrong method to composite? Is this something that needs to be done in Photoshop, rather than PaintShop Pro? Some other explanation? At the moment I am still getting far superior results rendering over a background image, rendering over black only seems to make things worse.
What am I doing wrong?
Crap. I don't know why that happened. Sorry.
I'm "on the road" and have no Poser or Photoshop with me. I'll have to check this out when I get back on Friday.
You're probably doing nothing wrong. It looks to me like the render was already pre-multiplied, but PSP is not taking that into account, and is multiplying the fringe pixels with the alpha channel. This results in double darkening of the skin color.
When I return home, I'll produce a a test image programmatically where I know what numerical values are in those pixels. Then I'll see how it comps in Photoshop. I'll post the image and you can try comping it in PSP.
Right now, it looks like it doesn't matter at all what you render over, PSP comps it wrong.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
@ ThrommArcadia,
Quote - I liked that with Poser 5 you could render over a background and still get an alpha channel, this allowed for some very nice postwork. Unfortunately they purposefully changed that in Poser 6.
Well I seem to be living in a separate reality here. Must be something in the water.
I can render over a background and get an alpha channel in P6. This works for me with TIF, PGN, and PSD.
@ bagginsbill,
Quote - It looks to me like the render was already pre-multiplied, but PSP is not taking that into account, and is multiplying the fringe pixels with the alpha channel. This results in double darkening of the skin color.
Some how I doubt this. If I render over black i get a fringe that tends towards black, if If I render over white I get a fringe that tends towards white, and if I render over green I get a fringe that tends towards green. It looks like the alpha channel is anti-aliased with the background colour, no matter which colour is used, even black. Actually this is what I would have expected, before I read the posts by ghonma and bagginsbill.
If there is a way to do a fringe-less comp in PSP 5 (or 7) I would sure like to know how, it could handy. But at the moment this is still not working for me. any further thoughts/suggestions?
Content Advisory! This message contains nudity
To get the black background I used "Render over: Black" In the Render Options, rather than setting the colour from the display menu, don't know if that makes a difference.
EDIT. It worked! :biggrin:
Although the background may look blue, or some other colour in the web page, if you save it to disk you will see the black background.
OK I've totally got this figured out. First, you have to read this from the specification of the PNG file format:
PNG uses "unassociated" or "non-premultiplied" alpha so that images with separate transparency masks can be stored losslessly. Another common technique, "premultiplied alpha", stores pixel values premultiplied by the alpha fraction; in effect, the image is already composited against a black background. Any image data hidden by the transparency mask is irretrievably lost by that method, since multiplying by a zero alpha value always produces zero.
Some image rendering techniques generate images with premultiplied alpha (the alpha value actually represents how much of the pixel is covered by the image). This representation can be converted to PNG by dividing the sample values by alpha, except where alpha is zero. The result will look good if displayed by a viewer that handles alpha properly, but will not look very good if the viewer ignores the alpha channel.
**Although each form of alpha storage has its advantages, we did not want to require all PNG viewers to handle both forms. We standardized on non-premultiplied alpha as being the lossless and more general case.
**Now, guess what Poser writes into our PNG files? In direct violation of the specification, it writes PREMULTIPLIED colors. As a result, nothing you do with the image is going to composite correctly. Instead of writing the true color of fringe pixels (pixels partially filled by 3D objects) with the color of the object, it multiplies the color with the alpha value.
A little background:
The blending formula for compositing images with alpha blending is simple. Given F is our foreground color (of the object being rendered), and B is the background color (that we're rendering against), and A is the alpha value (corresponding to the fraction of the pixel filled by the rendered 3D object) the formula for the final pixel is:
(1 - A) * B + A * F
Consider a pixel that is three-quarter filled (A=.75) by an orange object (F=RGB(255,128,64)) on a WHITE background (B = RGB(255,255,255)). The final color will be:
0.25 * RGB(255, 255, 255) + 0.75 * RGB(255, 128, 64) = RGB(255, 160, 112)
So if we render with white, what gets written into this fringe pixel for color is RGB(255, 160, 112). If we then composite this in post, the value of F from our rendered file is wrong. This fringe pixel will have a gray ghost effect to it. We don't want fringe pixels to have any information about the background at the time of rendering.
To combat this, we should (as I've said before) render over black. The formula then is:
0.25 * RGB(0, 0, 0) + 0.75 * RGB(255, 128, 64) = RGB(191, 96, 48)
So that is what Poser puts in the file - RGB(191, 96, 48) with an Alpha =.75. This is called a pre-multiplied value. Some image formats support this. But according to the spec, PNG does NOT allow this. And yet, that is what Poser is doing.
Poser should not be writing the orange color factored with the alpha. It should just write the orange color directly as RGB(255, 128, 64).
However, all is not lost. With a little work, the original true 3D color can be recovered, but only if you render over black.
When blending with black, the first term in the blending function is 0, so all that is being written into the file is:
A * F
If we take that and divide by A:
A * F / A
We're left with:
F
Which is what we really want.
So, using the Python Imaging Library, I wrote a little script to test this.
The script is:
import Image<br></br>
def fixpng(infile, outfile):<br></br>
def fixpixel(p):<br></br>
r,g,b,a = p<br></br>
if a:<br></br>
return (r * 255 / a, g * 255 / a, b * 255 / a,
a)<br></br>
return p<br></br>
im = Image.open(infile)<br></br>
im.putdata([fixpixel(x) for x in im.getdata()])<br></br>
im.save(outfile)<br></br><br></br>
This script successfully recovers the original true foreground
colors. The modified image can then be used just fine. I'll show
you what happened in another post.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
I don't know if its possible to add PIL to Poser Python. If it is, we can come up with a Poser Python plugin that will save your render and then correct it automatically!
Anybody know how to install PIL with Poser Python? I mean somebody who has actually done it, and knows the exact steps, not speculation.
There are going to be different versions needed for Poser 5, Poser 6, and Poser 7.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
Here are the post comps of my test image with your sky photo.
The upper one is the actual render from Poser. The lower one is my corrected version.
Click to see full size.
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
AHA EVEN MORE INFO.
Change your render options to RENDER OVER BLACK.
I do not mean choose a black background and render over the background shader.
I mean choose "Render over BLACK".
This means something different apparently.
When I do this, I do NOT get a pre-multiplied image. It is perfect. So Poser has the ability. We're just not using it right.
Do not choose a black background - that's not the same. Render over BLACK!!!!!!!
Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)
@ bagginsbill,
Thanks for all your research, and for the very detailed explanation of this issue. Re your last post however; the previous two images I posted were rendered with the "Render Over: Black" option in the Render Settings, and still produced the fringe.
Just to be absolutely sure I tried this again. The background colour was bright green, "Render Over: Black" was used in the render settings. I moved the main infinite light to make sure the top of the arms was well lit, and did a FireFly render in P6, and exported as PNG.
I loaded the PNG in PSP 7 (trying a later version of PSP just in case). Then loaded clouds-002.jpg, Copied, and pasted as a new layer over the PNG. Loaded the alpha mask, inverted the mask. I am still getting a pronounced dark fringe. The image of the figure seems to be anti-aliased (or is it "pre-multiplied") with the black background.
What's got me stumped is that in the image by ghonma, it seems to be working for him, and it seems to be working for you, so why is it not working for me? The last image I posted is straihght out of Poser, and if you click to view at full size you can see that the fringe already exists at this point, so it is not a problem with PSP.
Thanks again for your help, but I guess I will just have to keep rendering over a background image.
While I usually save as .png and merge over a background image in photoshop, you can get some VERY good results rendering over a background in Poser itself so I wouldn't necessarily give up on it.
http://www.renderosity.com/mod/gallery/index.php?image_id=1639105
This image is pure poser (7sr2) with the sole exception of adjusting the contrast and adding the border/signature in photoshop. The hard part is setting up the lights to match the background.
i7 6800 (6 core/12 thread), 24 GB RAM, 1 gtx 1080 ti (8GB Vram) + 1 Titan X (12GB Vram), PP11, Octane/Poser plugin, and a partridge in a pear tree.
Oh, and a wiener dog!
This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.
Hi all,
If I :
(1) attach a 2D ImageMap node to the background in the Material Room (selecting an image);
(2) select "Use Background Picture" in the Render Settings; and
(3) render,
it renders as all white. Can someone suggest to me what I might be doing wrong ?
(The selected background image is the same size as the preview window in Poser)
thanks,
Andrew