isaacnewton opened this issue on Oct 09, 2011 · 18 posts
isaacnewton posted Sun, 09 October 2011 at 4:18 AM
When importing from Poser (eg PoserPro2010) to Lightwave (eg Lightwave10.1) the plugin PoserFusion (SR1.2) sets texture blending mode to "Multiply". This results in a pale washed out appearence. This is easily solved by changing the Blending Mode to "Normal". In principle this only has to be done once for each scene, for each Surface. The attached image shows an example; click on it to see the large version.
The red arrows show the Blending mode that needs changing and each surface may have several textures attached, shown in red circles.
However in a Poser Poser scene there may be multiple characters each with their own set of Clothes Characters and any number of props. This can amount to a very large number of surfaces, and changing each one requires a number of mouse clicks. This is a slow and boring process, which has to be done again for each new scene (small scene changes do not require the process to be repeated).
It is possible to select multiple surfaces and change the blending mode of them all together, but if the textures are different (shown by the red square) then all the surfaces will get the same texture applied (blue arrow).
My question is this: Is there a way of changing the Blending Mode on all Surfaces simultaneously without them ending up with the same texture applied?
Or is there a way of telling Poser not to use Multiply for Blending Mode but Normal so that the PoserFusion plugin can import the textures with the Blending mode already set to Normal?
I'm sure some one in the Poser-Lightwave community has come across this problem and found a solution.
Thanks, in advance, for your help.
Isaacnewton
RobynsVeil posted Sun, 09 October 2011 at 4:43 AM
Um, I'm probably not understanding your query correctly, but every connection between nodes and also to all channels of PoserSurface implies multiplication. Every last one of them. Were you aware of this?
Also, BB has defined the Blender node as having the following maths:
Blender(a, b, f) = (1-f) a + f b
...with the additional internal rule that f is clamped from 0 to 1.
Not sure if this helps...
Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2
Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand]
isaacnewton posted Sun, 09 October 2011 at 8:02 AM
Hi RobynsVeil,
Perhaps I did not make it clear, so you should now read the first sencence as:
"When importing from Poser (eg PoserPro2010) to Lightwave (eg Lightwave10.1) the plugin PoserFusion (SR1.2) sets texture blending mode to "Multiply" within Lightwave."
The image shows a Lightwave screenshot. I post here in the Poser forum because this is a Poser to Lightwave importing issue.
I hope that some of the Poser users here also use Lightwave and can help with this issue.
Cheers,
Isaacnewton
bagginsbill posted Sun, 09 October 2011 at 8:10 AM
Your second post doesn't clarify the point, IN.
Robyn knows the multiplication setting is "within Lightwave".
Poser connections are multiplication, and Robyn wonders why you want to change the math when converting to a LW shader.
I suspect that a LW shader "layer" is a different thing and the blending mode has to do with how the layers are combined. However, I can't imagine how it would matter if you only have one layer. I also can't imagine how multiply could result in a "pale washed out appearance" unless there is another layer which is not white, but gray.
You can try this in Photoshop. Set up a background layer, all white. Add another layer with some image in it. Set the mode to multiply. No change.
Now go down to the white layer and make it gray. The second layer multiplied with the first (which is no longer numerically 1) will appear darker and less contrasty. Multiplication with 1 has no effect. Multiplication with less than 1 does.
If you multiply with black (numerically 0) the result is always black.
These are simple consequences of the rules for multiplication.
x * 1 = x
x * 0 = 0
x * k < x where 0 < k < 1
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)
isaacnewton posted Sun, 09 October 2011 at 9:41 AM
Hi Bagginsbill,
Yes, as you saw in my post, the reason for wanting to change the Blend Mode in Lightwave is that the Poser texture is automatically set to Multiply when imported by the PoserFusion plugin. The resulting render looks washed out. Changing the Blend mode to normal gives... er normal colours.
I'm not sure of the details of how LW is applying the Poser texture, but I suppose that it is blending it with a default colour for the object, which I assume is white. Normal blending certaily produces normal colours whereas the Poser imposed default of Multiply gives washed out colours.
I doubt that changing the default colour of the objects in LW will improve the problem caused by the Poser imposed blending option.
I think the answer lies with changing the Blending Mode globally without affecting the other surface parameters such as the images used for the texture.
The question is, how to do that.
You would think that newtek.com would know, but I never got a reply to this question.
I'm hoping a Poser/Lightwave user has solved this problem already.
bagginsbill posted Sun, 09 October 2011 at 10:30 AM
See now because you said what you did, I have to come back and "argue" some more, because it seems to me you did not understand what I said.
"default color ... I assume is white"
If it was white, then multiplying with white would be exactly the same as not multiplying.
I just said that white is 1 and x * 1 = x, i.e. no change.
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)
Medzinatar posted Sun, 09 October 2011 at 10:45 AM
I just tested in Lightwave, and texture is indeed set to multiply.
However, in Lightwave multiply adds the color.
There is another blending mode PShopmultiply in which blending is the same as in Photoshop (in other words, what you would expect)
Newtek has never given a satisfactory explanation as to why they do this (at least not to me)
Medzinatar posted Sun, 09 October 2011 at 11:21 AM
isaacnewton posted Sun, 09 October 2011 at 11:27 AM
It doesn't surprise me that newtek has a different definition of Multiply; they adopt several other Standards which are not the same as the rest of the industry.
In principle there is nothing wrong with this as long as they make it clear and enable/allow it to be easy to swap between the systems so as to make their product compatible with the rest of the 3d community.
What strikes me as particularly odd is that SmithMicro, when writing the PoserFusion plugin for parsing Poser files to Lightwave did not bother to change the blending mode automatically to generate normal colours on objects, or at least allow the user the option to do so.
Eric Walters posted Sun, 09 October 2011 at 11:56 AM
Sir Isaac
If you DO find a way to change them let us know. I'm obsessed with PoserPro2012 right now- but eventually, I will find my way back to LW. In the OLD days, LW 6.5- I had to invert all the trans maps as well (since LW uses black and white inversely to Poser) - at least they fixed that problem.
Yep- Pshop Multiply works like Poser Multiply
bagginsbill posted Sun, 09 October 2011 at 12:14 PM
Aha. Forgive me - I should know better than to speak about something in CG based on first principles, instead of direct knowledge of a particular application.
Indeed - if "multiply" with white is not anything but x * 1 then that's terrible.
I bet SM doesn't even know this.
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)
isaacnewton posted Sun, 09 October 2011 at 1:01 PM
"I bet SM doesn't even know this."
Now now! That would imply incompetence on the part of the people who wrote the PoserFusion plugin.... How could they NOT know?
.... what am I saying? It certainly isn't obvious that they DO know, hehe!
It would be nice if SM actually used programmers who understood the basics of both Poser and Lightwave to write the PoserFusion plugin... but it sure doesn't look like it!
RobynsVeil posted Sun, 09 October 2011 at 5:05 PM
Quote - I just tested in Lightwave, and texture is indeed set to multiply.
However, in Lightwave multiply adds the color.
There is another blending mode PShopmultiply in which blending is the same as in Photoshop (in other words, what you would expect)
Newtek has never given a satisfactory explanation as to why they do this (at least not to me)
Perhaps it's like an over-ride, like in Daz's Shader Mixer output of first node over-rides the value of input channel of second node. Drove me crazy, that did: extremely illogical. How would you code for that?
Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2
Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand]
nruddock posted Sun, 09 October 2011 at 7:49 PM
Quote - It doesn't surprise me that newtek has a different definition of Multiply
The manual does mention what this mode does, but no formulas or other exacting definition and that PSMultiply is what matches the expected definition equivalent to Poser's multiply.
Quote - What strikes me as particularly odd is that SmithMicro, when writing the PoserFusion plugin ...
Ah, but SM didn't write the Fusion plugins, they bought them in and have presumably only done the coding necessary to make them compatible with new version of the hosting apps rather than doing anything else, so it's quite likely that the programmer doing that doesn't know the internals in detail.
FrankT posted Mon, 10 October 2011 at 1:24 PM
and IIRC, the original code (bodyStudio I think) had a reputation for being a bit iffy too
isaacnewton posted Mon, 10 October 2011 at 3:48 PM
nruddock and Frank T, you may both be right that SM are not originally responsible for the PoserFusion code, but they are selling it and they have had it long enough to have improved it, so they are far from blameless.
Anyway, I still have the issue of how to change the Blending Mode in Lightwave in a global way without changeing the other parameters for the texture, such as the identiy of the texture image used.
Anyone got any clues about that thorny issue?
Dizzi posted Mon, 10 October 2011 at 5:43 PM
Time may fix broken hearts but not software errors... That means that you actually have to report problems if you want them fixed. Did you contact SM?
isaacnewton posted Tue, 11 October 2011 at 3:20 PM
"Did you contact SM?"
Yes. They had no plans to change PoserFusion. But that was before Poser2012 was released. Their web site actually advertised PoserPro2012 with PoserFusion for Lightwave 10 using the same caveat as they did with PoserPro2010. So my guess is that they will get around to it when they have time, ie never..... or maybe PoserPro2014...or 16.