MistyLaraCarrara opened this issue on Jan 22, 2013 · 259 posts
lmckenzie posted Wed, 06 February 2013 at 9:02 PM
"… object model for NodeSets ( or 'shaders', like for Skin or Sea-Water or Hair or...) would be the go …"
Yes, I would think that they would have some common interface, the same way that COM objects have in order to work together. The inputs via properties and the internal processing via methods would differ with each object, but the outputs could probably be standard e.g. color, specular, displacement etc. You would have a standard library of built in objects and newly added ones would be available for use. There might be components whose only function was doing calculations. You could easily use high level objects without being concerned with the low level definitions. You could add properties to the fanciful Freckled Gecko Zombie skin and create a UI to adjust them. Of course, that raises the issue of dependencies – you would need to have all the constituent parts to use a composite object, the same as requiring morph packs etc. In principle, perhaps the same approach might be applicable to hair and cloth. It would be nice to able to use a distribution map for things like facial and pubic hair from within the material interface i.e. hair and fur are just materials. There would still be a separate ‘room’ for head hair of course.
Function FreckledGeckoZombie() as Material
set dp = New oNode(DermaPro)
set rs = New oNode(ReptileSkin)
set zombie = New oNode(DecayedFlesh)
dp.Preset = "Freckles"
rs.Preset = "Gecko"
zombie.Preset = "NewlyDead"
dp.Channels(Displacement) = rs.Channels(Displacement)
zombie.VictimFlesh = dp.Material
zombie.BloodTint = dp.PigmentEnd
FreckledGeckoZombie = zombie.Material
End Function
"There's that sort of level... i.e. having a node (and it might be a node group) that represents an aspect of a class of materials with a common property (e.g. in the above example SSS)."
Since SSS does cover a range of materials, I do wonder if it would be possible to have it as a type of calculation or service component. When called by another component, it would receive all the necessary inputs like depth etc. and return the proper results. Something like water drops might be a component/material object that could be used by just about any material – at least in general. A more specific skin implementation might consider that water on oily skin would behave differently than water dry skin etc.
"Democracy is a pathetic belief in the collective wisdom of individual ignorance." - H. L. Mencken