Date   

Event: OSL TSC meeting ( every other week ) - 08/19/2021 #cal-reminder

osl-dev@lists.aswf.io Calendar <noreply@...>
 

Reminder: OSL TSC meeting ( every other week )

When:
08/19/2021
2:00pm to 3:00pm
(UTC-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

View Event

Description:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR


Re: OCIOv2 with OSL native support, part II

Larry Gritz
 

Hi, Patrick. Answers inline.


On Aug 15, 2021, at 7:13 PM, Patrick Hodoul <patrick.hodoul@...> wrote:

Finally, a prototype of the OpenColorIO library can generate a complete OSL shader from any color transformation (not yet implemented for everything but very close).

Neato!

 
1.     After some tries, I finally selected the color4 and the vector4 types. These types are not by default supported by the other types (like color and vector for example) imposing me to create several helper methods.
a.     Why there are two categories of types (ex: vector vs. vector4 – or – color vs. color4)?

vector and color are built-in types for 3-vector and 3-color.

Aesthetically, I never liked having types in a shading language for vector4 (what are they for?) and color4 (it's 4 values, yes, but they shouldn't act like an array, because it's not really 4 spectral bands; conceptually it's a color and separately a float for alpha).

But my plans were thwarted by other languages (and eventually MaterialX) using these types liberally, despite my protest. Shader writers seem to like and expect them, despite my conviction that they are sloppy ideas.

We have headers that implement them in terms of structs and some operator overloading. It mostly works fine, though there are some edge cases that are awkward with them not being 1st class built-in types, and of course most OSL standard library functions don't have overloads for them.

Now I've fully relented, especially with MaterialX in the fray. It's in the plan to make built-in types to replace these cobbled-together structs. I just need to get the time to implement it all.


b.     Is there any pro or cons using vector4, color4?

In general, it should work. There may be some things that are a little awkward, but I'm not sure that you'll bump into them for what you're doing. It will be smoother and more efficient (and richer library support) when they become built-in types. For what you're doing, probably the biggest problem you'll run into is simply the need to implement overloads of some of the standard library functions.


d.     For now, the shader parameters are color types. Could the shader have in and out parameters be color4? Any pros/cons using color4 in ‘public’ interface of a shader?

I think it's fine. Underneath, a struct { color rgb; float a; } just turns into two variables: `color4 foo` just becomes (hidden) `color foo.rgb` and `float foo.a`, and OSL knows that when you talk about `foo`, it really means to do the connection or whatever with both constituent parts.


2.     There is no const keyword support. That’s clearly not problematic but I’m curious to know why.

Hmmm... Input shader and function parameters are already implicitly const, you can't write to them. Output shader and function parameters must be marked with the `output` keyword, so you know they are not const. So the only other way I can imagine const being used is to mark individual local variables, so that you can't change their value after initial assignment?

I guess the historical reason is that the two languages I wrote before, RSL and GSL, did not have a const keyword, and I don't recall any shader writers asking for it, so I just never put it in OSL, either.



3.     For types like vector, the language authorizes several accesses (i.e. val[0] or val.x). Once again, nothing problematic here but I’m curious about pros & cons. Is there any pitfalls (performance, etc.) to use one or the other?

Underneath, they are exactly the same thing, compile to the same instructions.

I originally did not put both in OSL (a language should strive to avoid having two different ways to say the same thing). The array notation is more flexible because you can reference single components (C[0] for the x), as well as iterate over components or choose a component programmatically (`C[i]`), which is hard to do with only the .x/.y/.z notation.

But in practice, other languages have .x/.y/.z, and many shader writers liked it, so I eventually added it. I guess a little non-orthogonality of notation sometimes is better than endlessly fielding "why isn't this in the language" questions.


Lastly, the OSL translation was tested using master. Which OSL version should I use to correctly highlight the OSL syntax (and backward compatibility) used by the translation result i.e., OSL_1, OS_1_11, etc.?

Current master is in-progress "1.12". There aren't really any major language syntax changes between the supported 1.11 releases and the in-progress 1.12 yet. I don't know exactly when we'll get to adding the new built-in types, if that will be 1.12 or wait until a later version.

But I can very close to promise that there won't be any non-back-compatible changes in the forseeable future. We'll add features but we won't break old OSL code. I don't think we've broken back compatibility of shader source code yet in the history of OSL.

-- lg


--
Larry Gritz





Re: Cycles in the shader graph

Larry Gritz
 

So, underneath, it's really all flattened to just a simple list of shaders in the group (that's why we sometimes call them "layers"). Connections can only go from outputs of earlier numbered layers to inputs of later numbered layers. Thus, there are no cycles in the graph.

I think I understand what you're getting at here. You don't need the shader to execute cyclically, you just want to, essentially, make a single value supply both an input to one shader node and also supply the default value of the output of another shader (which happens to be later in the layer list).

But you're imaging kind of a special case where it's all simple. In general, there are a lot of complications. For one thing, the value of output parameters (even for their default values) aren't stored in those variables until the node runs. And some parameters get their values in particularly complicated ways (like interpolated vertex values). Also, the order that nodes are evaluated more complex than the flat list implies, because we actually do it lazily (layers are run out of order, if and when only when their results are needed). So it would be a lot of additional logical complexity to allow what you're suggesting -- and ensuring it was correct for all these corner cases.

It feels like... maybe your problem can be handled outside of OSL, at the level where you are specifying the shader group to OSL in the first place? You want the same value to end up a few different places, so maybe there's some logic in the material assignment or something where it can ensure that this happens, without needing to explicitly tell OSL that these nodes are connected in that odd way?

-- lg


On Aug 16, 2021, at 2:35 AM, bbannayan@... wrote:

Consider the following:

 

Shader A has parameters: diffdiff_tex, and diff_value

Shader B has parameters: valuetex, and output

 

I'd like to connect in this way:

 

A.diffuse -> B.value

A.diffuse_tex -> B.tex

 

B.output -> A.diffuse_value

 

The A parameters are not "outputs" from the shader.  They are merely parameters with values that I'd like carried forward to B so that the output can be calculated and sent back to A.

 

The OSL code of A references only the diff_value parameter so there's no actual cycle when you get down to the final evaluation.

 

Something like this:

surface

A(float diff = 1,

  string diff_tex = "",

  float diff_value = 1)

{

  Ci = diff_value * diffuse(N);

}

 
 

shader

B(float value = 1,

  string tex = "",

  output float out = 1,

  float st[2] = { 0.0, 0.0 })

{

  out = value * texture(tex, st[0], st[1]);

}

 

The idea for me is that I can have the B shader doing some work but I only ever have to interact with the parameters of A when editing my scene (I'm doing this in a renderer that allows modifying the parameters of shaders during a render).  In my particular case A represents a node in my DCC scene and B is a convenience/implementation detail. So when my DCC says "A.diff" has been changed I can change "A.diff" in my render scene without having to figure out if B exists.

 

--
Larry Gritz





Event: OSL TSC meeting ( every other week ) - 08/19/2021 #cal-reminder

osl-dev@lists.aswf.io Calendar <noreply@...>
 

Reminder: OSL TSC meeting ( every other week )

When:
08/19/2021
2:00pm to 3:00pm
(UTC-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

View Event

Description:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR


Cycles in the shader graph

bbannayan@...
 

Consider the following:

 

Shader A has parameters: diffdiff_tex, and diff_value

Shader B has parameters: valuetex, and output

 

I'd like to connect in this way:

 

A.diffuse -> B.value

A.diffuse_tex -> B.tex

 

B.output -> A.diffuse_value

 

The A parameters are not "outputs" from the shader.  They are merely parameters with values that I'd like carried forward to B so that the output can be calculated and sent back to A.

 

The OSL code of A references only the diff_value parameter so there's no actual cycle when you get down to the final evaluation.

 

Something like this:

surface

A(float diff = 1,

  string diff_tex = "",

  float diff_value = 1)

{

  Ci = diff_value * diffuse(N);

}

 

 

shader

B(float value = 1,

  string tex = "",

  output float out = 1,

  float st[2] = { 0.0, 0.0 })

{

  out = value * texture(tex, st[0], st[1]);

}

 

The idea for me is that I can have the B shader doing some work but I only ever have to interact with the parameters of A when editing my scene (I'm doing this in a renderer that allows modifying the parameters of shaders during a render).  In my particular case A represents a node in my DCC scene and B is a convenience/implementation detail. So when my DCC says "A.diff" has been changed I can change "A.diff" in my render scene without having to figure out if B exists.

 


OCIOv2 with OSL native support, part II

Patrick Hodoul
 

Hi OSL experts,

 

Finally, a prototype of the OpenColorIO library can generate a complete OSL shader from any color transformation (not yet implemented for everything but very close). Doing that exercise I faced several challenges on which I was able to find a solution. But I would like to have your feedback on several questions/solutions to help me improving the generated OSL code.

 

As there are many questions/comments, please keep the question number to answer so, it helps everyone to follow the discussion. If some questions need much more time, I will be at the next OSL TSC.

 

1.     After some tries, I finally selected the color4 and the vector4 types. These types are not by default supported by the other types (like color and vector for example) imposing me to create several helper methods.

a.     Why there are two categories of types (ex: vector vs. vector4 – or – color vs. color4)?

b.     Is there any pro or cons using vector4, color4?

c.     Any other known pending questions, concerns, etc. on that topic?

d.     For now, the shader parameters are color types. Could the shader have in and out parameters be color4? Any pros/cons using color4 in ‘public’ interface of a shader?

2.     There is no const keyword support. That’s clearly not problematic but I’m curious to know why.

3.     For types like vector, the language authorizes several accesses (i.e. val[0] or val.x). Once again, nothing problematic here but I’m curious about pros & cons. Is there any pitfalls (performance, etc.) to use one or the other?

 

Lastly, the OSL translation was tested using master. Which OSL version should I use to correctly highlight the OSL syntax (and backward compatibility) used by the translation result i.e., OSL_1, OS_1_11, etc.?

--
Patrick


Upcoming Events #cal-summary

osl-dev@lists.aswf.io Calendar <osl-dev@...>
 

Open Shading Language discussion list Upcoming Events

OSL TSC meeting ( every other week )

When:
Thursday, August 19, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 2, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 16, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 30, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


Event: OSL TSC meeting ( every other week ) - 08/19/2021 #cal-reminder

osl-dev@lists.aswf.io Calendar <noreply@...>
 

Reminder: OSL TSC meeting ( every other week )

When:
08/19/2021
2:00pm to 3:00pm
(UTC-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

View Event

Description:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR


Upcoming Events #cal-summary

osl-dev@lists.aswf.io Calendar <osl-dev@...>
 

Open Shading Language discussion list Upcoming Events

OSL TSC meeting ( every other week )

When:
Thursday, August 19, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 2, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 16, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


OSL TSC meeting ( every other week )

When:
Thursday, September 30, 2021, 2:00pm to 3:00pm
(GMT-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Details:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR

View Event


Re: OSL - brand booklet

Stephen Friedman
 

Agreed, this is looking really good across the variety of use cases.  

Is it wrong to have a favorite square?  My favorite is easily the center square in color-band 4 of the blend shaded version.  The way the blend-shading was only done in the red channel, contrasted next to the lighter color bands where the blend-shading was towards white gives it a duo-tone car-paint feel that pops really well.

--Stephen


On Thu, Aug 5, 2021 at 2:52 AM Alejandro Conty <aconty@...> wrote:
+100

Amazing job, thanks Mario!!!

On Thu, Aug 5, 2021 at 1:36 AM Mitch Prater <mprater@...> wrote:
Love it! Fantastic work Mario.

mitch


Crash with shader compiled to memory

Thomas METAIS
 

Hello,

We have a weird crash with a shader, compiled on the fly with a OSLCompiler created on the stack, and loaded with LoadMemoryCompiledShader.
The crash occurs later, when calling optimize_group. The compiled shader itself is very simple ( just does out = in ) and its input is connected to a pre-compiled shader.

/lib64/libc.so.6(+0x36400)[0x7fb729d97400]
/u/opt3production/production.CentOS-7.4/Opt/P-20210519-Opt-21_0002_0004/lib64/liboslexec.so.1.11(_ZN9OSL_v1_113pvt16RuntimeOptimizer19resolve_isconnectedEv+0x1e8)[0x7fb73366f5f8]
/u/opt3production/production.CentOS-7.4/Opt/P-20210519-Opt-21_0002_0004/lib64/liboslexec.so.1.11(_ZN9OSL_v1_113pvt16RuntimeOptimizer3runEv+0x318)[0x7fb7336746e8]
/u/opt3production/production.CentOS-7.4/Opt/P-20210519-Opt-21_0002_0004/lib64/liboslexec.so.1.11(_ZN9OSL_v1_113pvt17ShadingSystemImpl14optimize_groupERNS_11ShaderGroupEPNS_14ShadingContextEb+0x37f)[0x7fb7335a94df]

I ended up using a sanitizer (ASan) and it reports an error during the destruction of the compiler:

==11203==ERROR: AddressSanitizer: new-delete-type-mismatch on 0x60d000064760 in thread T0:
  object passed to delete has wrong type:
  size of the allocated type:   136 bytes;
  size of the deallocated type: 96 bytes.
    #0 0xa82280 in operator delete(void*, unsigned long) (/u/devstuff/releases.CentOS-7.8/mgl/tomtom/dist.21.1.asan/bin/mglr.bin+0xa82280)
    #1 0x7fc55591c2d8 in OSL_v1_11::pvt::SymbolTable::delete_syms() /u/local/imgdev/imgdev_installer/production/workspace/CentOS-7.4/release/build/Opt/P-20210519-Opt-21_0002_0004-r75747/Dist/CentOS-7.4/build/sources/OpenShadingLanguage/sources/OpenShadingLanguage-1.11.13.0/src/liboslcomp/symtab.cpp:278
    #2 0x7fc55590e392 in OSL_v1_11::pvt::SymbolTable::~SymbolTable() /u/local/imgdev/imgdev_installer/production/workspace/CentOS-7.4/release/build/Opt/P-20210519-Opt-21_0002_0004-r75747/Dist/CentOS-7.4/build/sources/OpenShadingLanguage/sources/OpenShadingLanguage-1.11.13.0/src/liboslcomp/symtab.h:208
    #3 0x7fc55590e392 in OSL_v1_11::pvt::OSLCompilerImpl::~OSLCompilerImpl() /u/local/imgdev/imgdev_installer/production/workspace/CentOS-7.4/release/build/Opt/P-20210519-Opt-21_0002_0004-r75747/Dist/CentOS-7.4/build/sources/OpenShadingLanguage/sources/OpenShadingLanguage-1.11.13.0/src/liboslcomp/oslcomp.cpp:120
    #4 0x7fc55590e4b0 in OSL_v1_11::OSLCompiler::~OSLCompiler() /u/local/imgdev/imgdev_installer/production/workspace/CentOS-7.4/release/build/Opt/P-20210519-Opt-21_0002_0004-r75747/Dist/CentOS-7.4/build/sources/OpenShadingLanguage/sources/OpenShadingLanguage-1.11.13.0/src/liboslcomp/oslcomp.cpp:47
    #5 0x1100654 in mg::rt::OslShaderConverter::compileShader(OSL_v1_11::ShadingSystem*, OpenImageIO_v2_2::string_view, std::string&, std::string&) src/rt/shading/src/OslShaderConverter.cpp:1817


It seems that when a FunctionSymbol object in the symbol table is deleted, its destructor is not called.
The FunctionSymbol class (symtab.h) is derived from the Symbol class (osl_pvt.h), but Symbol's destructor is not virtual.

We patched our OSL version (1.11.13), just making Symbol's destructor virtual and it solved our problem, no more crashes.

I hope this will help ( and that I'm not wrong somewhere... )!

Thanks for your work,

Thomas METAIS,
Illumination MacGuff


Re: OSL - brand booklet

Alejandro Conty
 

+100

Amazing job, thanks Mario!!!


On Thu, Aug 5, 2021 at 1:36 AM Mitch Prater <mprater@...> wrote:
Love it! Fantastic work Mario.

mitch


Re: OSL - brand booklet

Mitch Prater
 

Love it! Fantastic work Mario.

mitch


Re: OSL - brand booklet

Larry Gritz
 

This is great, Mario!


On Aug 4, 2021, at 2:19 PM, Chris Kulla <ckulla@...> wrote:

Two thumbs up from me!

This is really great work. Thank you so much for all your effort on this, I'm really happy with how this turned out.


On Wed, Aug 4, 2021 at 1:41 PM Reza Aarabi <madoodia@...> wrote:
I liked it
thanks for your presentation and efforts
it's great looking

On Wed, Aug 4, 2021 at 1:36 PM mariovario via lists.aswf.io <mariovario=pm.me@...> wrote:
Hi all,
Since this week TSC meeting is cancelled and I had to skip last meeting - sorry - I will not sit on the brand booklet for another two weeks, and post it here. I worked on all the comments from the last meeting trying to finalize the logo, colors and type selection, as well as added some visuals to show off the design with colour scheme.
As usual all comments are welcome. I will join the next TSC meeting to get the reactions and if approved generate vector and bitmap files with all types and colors of the logo.
Mario




-- 


---------------------
--= Reza Aarabi =--



--
Larry Gritz





Re: OSL - brand booklet

Chris Kulla
 

Two thumbs up from me!

This is really great work. Thank you so much for all your effort on this, I'm really happy with how this turned out.


On Wed, Aug 4, 2021 at 1:41 PM Reza Aarabi <madoodia@...> wrote:
I liked it
thanks for your presentation and efforts
it's great looking

On Wed, Aug 4, 2021 at 1:36 PM mariovario via lists.aswf.io <mariovario=pm.me@...> wrote:
Hi all,
Since this week TSC meeting is cancelled and I had to skip last meeting - sorry - I will not sit on the brand booklet for another two weeks, and post it here. I worked on all the comments from the last meeting trying to finalize the logo, colors and type selection, as well as added some visuals to show off the design with colour scheme.
As usual all comments are welcome. I will join the next TSC meeting to get the reactions and if approved generate vector and bitmap files with all types and colors of the logo.
Mario



--


---------------------
--= Reza Aarabi =--


Re: OSL - brand booklet

Reza Aarabi
 

I liked it
thanks for your presentation and efforts
it's great looking

On Wed, Aug 4, 2021 at 1:36 PM mariovario via lists.aswf.io <mariovario=pm.me@...> wrote:
Hi all,
Since this week TSC meeting is cancelled and I had to skip last meeting - sorry - I will not sit on the brand booklet for another two weeks, and post it here. I worked on all the comments from the last meeting trying to finalize the logo, colors and type selection, as well as added some visuals to show off the design with colour scheme.
As usual all comments are welcome. I will join the next TSC meeting to get the reactions and if approved generate vector and bitmap files with all types and colors of the logo.
Mario



--


---------------------
--= Reza Aarabi =--


OSL - brand booklet

mariovario@...
 

Hi all,
Since this week TSC meeting is cancelled and I had to skip last meeting - sorry - I will not sit on the brand booklet for another two weeks, and post it here. I worked on all the comments from the last meeting trying to finalize the logo, colors and type selection, as well as added some visuals to show off the design with colour scheme.
As usual all comments are welcome. I will join the next TSC meeting to get the reactions and if approved generate vector and bitmap files with all types and colors of the logo.
Mario


Re: OCIOv2 with OSL native support

Patrick Hodoul
 


The first two points were discussed during the OSL TSC meeting.
  1. On long term, the goal is to enhance transformc() to support arbitrary OCIO config file in GPU mode
  2. The short-term problem to support any arbitrary color transformations is the LUT support in GPU mode. The challenge is to have a memory buffer exchange from the CPU to the GPU memory. My question was to understand how the image buffer exchange is done by the texture() method implementation in order to mimic the 'work' for LUT memory buffer. During the TSC meeting, we discussed about that topic and someone (I do not remember who) volunteered to help.

The last point is the transformc() method which currently performs the color transformation using OCIO through OIIO. On the other hand, a previous post (in that discussion thread) mentions an important performance hit when doing color transformations. So, one potential change is to directly use OCIO in OSL (instead of the indirect use through OIIO) to better benefit from all the latest OCIOv2 improvements (i.e. caches) and to avoid the OIIO extra layer.

Note:
The dependency on OCIO is already existing but hidden in OIIO. The change will only make it explicit (mandatory or optional depending of the OSL needs) which I think, is a better approach.
The mismatch between OCIO in OIIO and OCIO is not a problem for OSL at least because texture() and texture3D() methods are using OIIO (without any color mgt), and transformc() methods will use OCIO.

I will try to be at the next OSL TSC meeting (the 19th of August) so we can continue the discussion if needed.

Patrick


Cancelled Event: OSL TSC meeting ( every other week ) - Thursday, August 5, 2021 #cal-cancelled

osl-dev@lists.aswf.io Calendar <noreply@...>
 

Cancelled: OSL TSC meeting ( every other week )

This event has been cancelled.

When:
Thursday, August 5, 2021
2:00pm to 3:00pm
(UTC-07:00) America/Los Angeles

Where:
https://zoom.us/j/100511909

Organizer: Chris Kulla ckulla@...

Description:

Every other week meeting of the OSL TSC.

Meeting Agenda / Notes: https://docs.google.com/document/d/1yf0bG6eoE2EvKZBNZX3nskdTvu99ADTDTNOknCDJd1I/

Confirm this meeting invite is still valid by finding the meeting at https://lists.aswf.io/calendar.

Join Zoom Meeting https://zoom.us/j/100511909

Meeting ID: 100 511 909

One tap mobile +16465588656,,100511909# US (New York) +13126266799,,100511909# US (Chicago)

Dial by your location +1 646 558 8656 US (New York) +1 312 626 6799 US (Chicago) +1 669 900 6833 US (San Jose) +1 253 215 8782 US +1 301 715 8592 US +1 346 248 7799 US (Houston) 877 369 0926 US Toll-free 855 880 1246 US Toll-free +1 587 328 1099 Canada +1 647 374 4685 Canada +1 647 558 0588 Canada +1 778 907 2071 Canada +1 438 809 7799 Canada 855 703 8985 Canada Toll-free Meeting ID: 100 511 909 Find your local number: https://zoom.us/u/acBVrM6HWR


Re: Cancel this week's zoom?

Chris Kulla
 

Sounds good to me as well. I will cancel the invite for this week then.


On Sun, Aug 1, 2021 at 12:35 PM Larry Gritz <lg@...> wrote:
Since it's directly against ASWF Open Source Days presentations.

I'm not aware of any emergencies that require an in-person discussion this week.

I propose that we skip this week, resume as usual 2 weeks hence.

--
Larry Gritz
lg@...









341 - 360 of 5058