Projection mapping using nodes

I’m trying to create a projected emission texture on an object using material nodes but is failing to get proper projection mapping. I only get a top flat projection. Maybe someone could help me understand what I’m doing wrong?

I have setup to use a “Plane” object for use as the projection normal for the texture (Mapping > Coordinates:Object, Object:Plane, Projection:Flat), but it doesn’t affect the texturing done by the material node emission input as seen in the below image. The texturing is only done straight down, i.e. not angled by the mapping setup for the texture.

Am I thinking wrong, or how should I accomplish what I’m after?

I’ve tried to create pyramid mapping without any kind of success before. This is a mapping technique that can be very useful at times, but will require either an extra center parameter to the “default mapping box” to define origin or some way of linking in an empty that defines it. An additional extra feature would be coordinate vector output from the image node (since that is where mapping space transformations take place, and only there), but preferably in the mapping node itself (along with inputs to control the variables). I’ve done spherical, cylinder, disk, and some compound mappings for non image use, but they’re not exactly trivial. Pyramid (and box mapping) I’ve not been able to do yet, but do I think it should be possible.

I’ve seen some weird workarounds but I’m usually like wtf, why? And to a bizarre level I’m guessing it’s not what you want. I’ve seen some mapped caustics like the image you have, but I can’t remember the way it was done/applied.

There is only a workaround,take a look at this thread.
This is the example file from post 10, it`s better to post it in here than on pasteall, because there it will be deleted after a certain time.
projector_ba.blend (1010 KB)

I think I got it the way I want it now. I was missing that I can modify the texture coordinates by adding a Geometry node that connect to a Mapping node, which connect to the Vector input of the Texture node. Then I can rotate the projection in the mapping node. I don’t need the Mapping setup with the plane that I previously tried to get working in the Texture tab outside of the nodes setup. That mapping does not apply once you start using Nodes.

As a follow-up on my own post, the finished complete solution to my initial problem with texturing water caustics is explained in detail here: https://dualheights.se/caustics/caustics-water-texturing-in-blender.shtml