@Walluce I just shared that plugin code in case it help you since there aren't many references for C++ plugins + AGS, it was not with intent to force or tell you to use it, it was more in to explain a possible way to get all things together and then sorting.
There's a plugin function IAGSEngine.GetRenderStageDesc, that was added recently, which let you get the matrixes for use with 3D renderers, I mention this in case you do not need to create a entirely new alternative renderer, but can leverage what already exists and just apply what you intend. Also, if this is for your game as you mention, about the walkbehinds, you can skip them altogether and not use them. I never use those and use objects instead, as this gives me a better control of the alpha, when using walkbehinds things are either transparent or not, and this is usually fairly limiting.
There's a plugin function IAGSEngine.GetRenderStageDesc, that was added recently, which let you get the matrixes for use with 3D renderers, I mention this in case you do not need to create a entirely new alternative renderer, but can leverage what already exists and just apply what you intend. Also, if this is for your game as you mention, about the walkbehinds, you can skip them altogether and not use them. I never use those and use objects instead, as this gives me a better control of the alpha, when using walkbehinds things are either transparent or not, and this is usually fairly limiting.