Why is the QuadRenderer advanced?

I just wanted to bump this topic again, but noticed it is already closed. Would it be possible to explain why the QuadRenderer is flagged as advanced? IMO (and I guess also for many others) it is one of the most basic nodes you could ever use.

6 Likes

the thinking back then was that we have high-level (SceneGraph) and low-level (Render) based workflows and we’d make anything low-level advanced (and then we were not entirely following this idea). generally the whole low-level system needs a cleanup.

But is it at least possible to add the QuadRenderer to the basic node set?

I remember that I have read often, that a cleanup is intended here. Would you mind to give some insight what your thoughts about this are? Maybe it could sparkle some discussion about it, and maybe also others have some ideas.

For example I have now very often thought that renaming the Renderer Node from VL.Skia would probably align better with Stride if it was named SkiaWindow (like SceneWindow, TextureWindow and RenderWindow), and the Renderer (Offscreen) could be named RenderSKImage (like RenderTexture). To me it just makes sense that there is a SkiaWindow when there is also a SkiaTexture, exactly like there is a SceneWindow and a SceneTexture. And I know its a boring argument, but I bet beginners will get familiar with the differences here much faster like this.

Are thoughts like these going into the direction of what you have in mind with a cleanup?

The problem there, that if you do that, it would affect help patches, then you would need to introduce some sort of automatic xml fix, so it would rename some nodes when it finds them and change VL xml therefore. But then the patches resaved with newer version would not be backward compatible with older VL versions…

The only reasonable solution i see is to rename node, and do a same node with forward of and old name, then do some mechanism for deprication notice and put that notice on forward… then fix help patches by hand…

As for the language features proper inheritance I think must be top notch priority… Without inheritance there is no way to composition (witch also will eliminate a pain in the ass to do the forwards of nodes with tons of methods properly)

1 Like

Also it unluckily would affect all projects and patches ever done by people… but for that there is obviously a versioning system of vvvv and VL libraries, and a major update could be a good chance for a drastic change like that.

I think the problem with your suggestion @chk is that these are two fundamentally different libraries. Quadrenderers are sort of the easier part of a mid-low level api. Skia is more intuitive for most things 2D. so

Maybe what you’d be looking for is a package that wraps Stride IRenderer objects for easier use for 2D work? And maybe better entwind with Skia?

My suggestion above is really just a naming proposal for a more consistent experience across both libraries.