Some feature requests INodeIn, Pins, Code editor

Ok I mentionned some of them around, but thought a forum post would be more appropriate :)

INodeIn

INodeIn has following methods:

  • GetUpstreamInterface to retrieve raw interface
  • GetUpsreamSlice since our Spread might have been convoluted (GetSlice (Node)).

That means we need to do a lot of calls to GetUpsreamSlice, even if our spread has not be modified.
So two new properties for INodeIn which would be handy:

  • GetUpStreamSlices(out int slices) : to retrieve all in one go
  • IsConvoluted (bool) : if spread is not convoluted we can either iterate or assign reference directly, depending on the case.

Pins

Allowing an Input Pin to receive several outputs.
Lot of use cases for it, but mostly, you have some implicit cons, which saves the mess of propagating behaviors via lot of nodes (mess patch wise, mess code wise), of course it’s only when your order is not important (the node had to deal with it, but that’s ok).

It would allow to build much more interesting/dynamic systems without the mess of group/cons, which make code more buggy, more error prone, and patch much less readable.

Node is responsible to tell which elements it has to sync, pins of that type should all have AutoValidate to false.

And yes a pin of that type should have a different color, but I know that scares you a bit :)

Programmatic node colors:

Really for the moment it’s almost impossible to make a decent debug layer in dx11, I always end up having to answer the same questions again and again.

If it’s too scary to let us set colors ourselves, at least set those templates:

  • Has Warning (Color to some yellow), available any time. Set a warning message, which is visible as tooltip when hovering the node.

  • Is Active

  • Inactive

Both available in debug mode only is fine, but at least can easily set what has been rendered/updated…

FX Improvements

For fx projects, ignore extention but like in csproj file, assign what “compiler” we want to use eg:

have a file with fxproj
inside say something like:

  • Blend.fx <compiler =“TextureFX” />
  • Phong.fx <compiler =“LayerFX” />

That would make it much easier to deploy packages of shaders, no extension issue, and at least we can really easily add new types quite easily.

For this one can likely work on it a bit.

Any thoughts welcomed as usual, and some fun announcements pending by the way (just a little teaser).

GetUpStreamSlices, IsConvoluted added to INodeIn interface.
needs some testing. coming up shortly.

Yuhu thanks :)

good ideas ;) +1