--
You received this message because you are subscribed to the Google Groups "OSL Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osl-dev+u...@googlegroups.com.
To post to this group, send email to osl...@googlegroups.com.
Visit this group at https://groups.google.com/group/osl-dev.
For more options, visit https://groups.google.com/d/optout.
Very cool, Aghiles!
Are you just using stock OSL, or did you find the need to change anything in the implementation?
I like what you have done with the reflection/refraction understanding backfacing on their own.
"passthrough" -- nice. Is there anything special about the implementation, or is it just setting a debug() closure and then passing the result on? (In other words, did you just implement passthrough in OSL itself in the obvious way?).
lockgeom -- I applaud your getting rid of this wart. So you are just saying that by convention, in your renderer you expect any connected geometric variable to go through a special node that uses a getattribute()?
Would it be helpful to you to get rid of that node and instead have a direct way through the ShadingSystem API to say that a particular parameter should be bound to a geometric variable if available?
Would that enable us to get rid of lockgeom entirely?
The "performance comparisons" page is private so I couldn't read that, but I'm wondering if you can generally comment on how you found performance and offer any guidance on where we should try to improve?
Windows -- I would be very, very interested in getting an up-to-date set of instructions for how to install dependencies and build OSL reliably on a Windows system, which I would be very happy to put in the installation nodes of the distribution. Also, I've had wonderful experience lately using Travis and would like to expand it to Appveyor for Windows CI. If you (or for that matter, representatives of any of the other places that need to build OSL for Windows) would like to collaborate on that, I would be very interested. I think the incentive from your point of view is that if we can make Windows-based CI a regular part of our development, it will save you heartache in the long run by preventing those of us on Linux/OSX from accidentally breaking the Windows builds.
PS: congrats Aghiles for the amazing work on 3Delight+OSL!
Is there merit to the shader (source) still being able to say "this parameter is bound by default to this geometric variable"? Or no?
What I am trying to say is: the problem lockgeom is trying to solve doesn't really exist. It has always been solvable with very little logic at the shader tree creation phase.
What I am trying to say is: the problem lockgeom is trying to solve doesn't really exist. It has always been solvable with very little logic at the shader tree creation phase.I agree. And we use the "node to read attribute" solution too for 99% of our cases too. I was just suggesting a possible way of keeping the ability to automatically bind variables if the shader writer really wants it, while still removing the concept from the library.
float myparam = getuserdata("myparam", default_expr),
--
You received this message because you are subscribed to the Google Groups "OSL Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osl-dev+u...@googlegroups.com.
To post to this group, send email to osl...@googlegroups.com.
Visit this group at https://groups.google.com/group/osl-dev.
For more options, visit https://groups.google.com/d/optout.
...
So Chris offers an embellishment:float myparam = getuserdata("myparam", default_expr),which consists of (a) a way to unambiguously retrieve just userdata (i.e., "interpolated geometric primitive data") without binding to renderer state attributes (is that good or bad? debate), and (b) operates as 'retrieved_value = get (name, defaultval)', which seems like a more convenient syntax for this use.
--
You received this message because you are subscribed to the Google Groups "OSL Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to osl-dev+u...@googlegroups.com.
To post to this group, send email to osl...@googlegroups.com.
Visit this group at https://groups.google.com/group/osl-dev.
For more options, visit https://groups.google.com/d/optout.
Wayne: No prob. There is no reason to break it now (or maybe ever).Chris: The existing getattribute call already comes in a 3-argument variety getattribute(object,name,destination) where the object designation can be used to restrict the search. We generally use it to perform the lookup on a specific node (for example, getting information about a named camera). But we could decide that object "userdata" (or whatever name we like) is the way to take the shortcut and ONLY search user data.
I also renew my offer for another alternative (not necessarily mutually exclusive): a group-assembly-time call or notation from the C++ API that lets you mark a particular parameter as binding to primitive data. This keeps it out of the shaders, and avoids the need to lay out additional nodes and connections -- making primitive binding no more onerous than setting an instance value.
At animal logic we:
- always lockgeom.
- use getattribute to fetch geo data
- use an explicit node in our shader groups to do so
- allow this node to be added at shader group instantiation time
The changes described are welcome and in line with our usage.
Cheers,
Daniel