Oh, I wasn't trying to take away from that at all, I apologize if that's how it came across. I was just noting that as a group, we tend to kind of jump to specific answers to specific problems, and that is probably a portion of why the plugin has so many broad issues. Face-off seems far more aware of that issue than the last developer, so I'm all for allowing him to kind of tackle things as he comes across and asks about them, since he can actually see all of the code, and seems to actually look at all of it. I wasn't trying to suggest no one should bring up issues, only that we have a developer that can handle taking a specific problem and working out a means of addressing it without as much corralling.linvanchene wrote:- - -
Very solid points.
I was tempted for a while to maybe just sit back and observe how thing turns out without me inserting my point of view.
But truth is: I am not able to take that risk.
I am under the impression that face_off now has only a very limited time to implement solutions and then we are probably stuck with them for the future.
So I hope you understand that I at least had to try to bring up some ideas.
In the end it is up to Otoy and face_off to decide what and how to implement things.
Then it is up to the rest of the DAZ Studio users to decide if that new version of OcDS is something they want to try out.
- - -
To wit, this is far from clean or finished, but that wall of I don't know enough about the Iray (or other needlessly complex shaders, for that matter, half of the vendors don't even use most of the crap the shaders are built for *sigh*), but I think it's a step towards what we are all going for. Please, pick it apart and tell me if I'm missing anything, anything needs more clarification, it just looks stupid, whatever.
Code: Select all
#Material Type Check
If Shader = DAZ Studio Default, SimpleSurface:
If Lighting Model is Glossy (Plastic, Metal):
Octane material = Glossy(ruleset_3D-*)
Else:
Octane material = Diffuse(ruleset_3D-*)
Else:
If Shader = omUber*, HumanSurface*, AoA_SubSurface, Iray Uber:
Octane Material = Mix(ruleset_3D-*) # This needs changed to (ruleset_Fancy) or something, but more info needed on Iray/others shaders to improve efficiently
# This ruleset should work for any character material or props with displacement.
def ruleset_3D-A
If Displacement map is true:
Load Displacement
Ignore Normal, Bump
Else:
If Normal map is true:
Load Normal
Ignore Bump
If Normal strength set > 1:
Set Strength to 1
Else:
Load Bump
If Opacity map is true:
Load Opacity as Grey Image
Else:
Load Opacity as Greyscale Value
# An alternate to above ruleset, for those not wanting displacement (background props, low resolution, low station specs, etc.).
def ruleset_3D-B
If Normal map is true:
Load Normal
Ignore Bump
If Normal strength set > 1:
Set Strength to 1
Else:
Load Bump
If Opacity map is true:
Load Opacity as Grey Image
Else:
Load Opacity as Greyscale Value