Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodegraph implementation declaration enhancement #850

Closed
bernardkwok opened this issue Apr 16, 2020 — with MURAL · 0 comments
Closed

Nodegraph implementation declaration enhancement #850

bernardkwok opened this issue Apr 16, 2020 — with MURAL · 0 comments
Labels
Rejected Issues was rejected.
Milestone

Comments

Copy link

bernardkwok commented Apr 16, 2020

Proposal

The proposal is to make nodegraphs be declared as implementations for node definitions in a consistent manner to how non node-graph implementations are declared.

The modification would be to have an explicit association within an <implementation> element.

Note that this proposal and this companion explicit input change proposal can work independently or together.

Example:
Somethng like this:

<nodegraph name="NG_tiledimage_float" nodedef="ND_tiledimage_float">
  ...
</nodegraph>

would instead be an association specified as follow.

<implementation name="IM_tiledimage_float" 
                             nodedef="ND_tiledimage_float" 
                             nodegraph="NG_tiledimage_float" 
</implementation>

The new supported attribute would be called something like "nodegraph".

Options:

  • Nodegraphs are considered to be language independent so language has no meaning
  • Q: Should target be allowed ?
  • implname should still be allowed
  • file filename option does not really make sense

Upgrade Path:

  • For current nodegraphs which have a reference to the definition it is implementing, this would be no longer be supported. The upgrade path would convert these to implementation declarations.
  • Currently implementation files are solely used for per shader API associations with implementations. Where would these new implementations reside? (In a new file at the sample level as the _defs, _ng mtlx files?
  • Currently when querying for an implementation from a NodeDef an Implementation reference or a NodeGraph reference is returned. The change would be that there would always be an Implementation type returned and the type of implementation is determined by examining the Implementation itself (nodegraph attribute usage). This requires another level of indirection to provide consistency.
  • Note that consistency between the NodeDef and a NodeGraph is still based on Outputs and Inputs/Parameters adherence left to the user of each interface.
@bernardkwok bernardkwok added Core Core change required Enhancement New feature or request labels Apr 16, 2020 — with MURAL
@bernardkwok bernardkwok changed the title Nodegraph implementatoin decalaration Nodegraph implementation dealaration enhancement Apr 16, 2020
@bernardkwok bernardkwok added this to the 1.38 milestone Apr 16, 2020
@bernardkwok bernardkwok changed the title Nodegraph implementation dealaration enhancement Nodegraph implementation declaration enhancement Apr 16, 2020
@bernardkwok bernardkwok added Rejected Issues was rejected. and removed Core Core change required Enhancement New feature or request labels Jul 16, 2020
@bernardkwok bernardkwok modified the milestones: 1.38, 1.39 Jan 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Rejected Issues was rejected.
Projects
None yet
Development

No branches or pull requests

1 participant