I want to create a spread of quads that will always face the camera (i am working with a modified version of Ampop’s Quadsphere- see attachment). Clearly this is a task for the LookAt node. But I can’t seem to make it work. The problem appears to be that I only want to change the orientation (rotation in their local coordinate system) of the quads, and NOT change their position. But it seems that LookAt does change both position and rotation. I tried to feed the camera’s position into the ‘lookat position’ input pins on the lookat node, but it doesn’t seem to respond. Any tips or sample patches on how this might work?



selfalign.fx should do the trick!

Thank you very much! This will most likely solve it for me.
But…(forgive me I’m still a bit of a noob at this)
I can’t attach my Quad output to the SelfAlign input. Self align only takes a mesh (Xmesh or VVVVmesh).
Is it possible to ‘convert’ (ie run it through a node) a DX9 quad to something that will then be compatible with SelfAlign?

Is selfAlign an ex9 node?
I notice that the quad (dx9) output supports an EX9 layer. What is the ‘layer’ mean? Does the incompatibility of quad(dx9) and selfAlign have to do with dx9 vs ex9?

Generally, i am still a bit confused by the distinction between Dx9 and Ex9, as they don’t seem to be compatible regarding the kinds of geometry that they can take as input. I am assuming that ex9 means that shaders are permissible (‘e’ x9 stands for effects? Does M$ use this moniker or is this dubbed by vvvv?). Is there a document or tutorial that explains the difference between these two renderers?



that are pretty good questions and they have to be answered by the devvvvs.

for now you can use a Grid (EX9.Geometry) for inputting a mesh to the selfalign.fx

thank you. That Grid does work with ex9. Unfortunately a problem persists: the grid object does not have a transform as an input pin! So it doesn’t work for my purpose. But it does begin to shed some light on the dx9/ex9 distinction. It appears that dx9 is used for 3d objects that do nNOT deform, where as ex9 is used more for 3d objects whose vertices deform: iow, ex9 is used to construct parametric meshes and specializes in controling the vertex list.
Another way to put this distinction: dx9 uses spreads to control an array of models that have unique transforms, while ex9 uses spreads to control the vertex array of a single object whose transform never changes.
I’m not sure if this is correct, as i am only inferring this from observation. imho, it would be great if the power that vvvv added a chapter in the documentation describing the differences between dx9 and ex9 and the advantages of each.

so it seems i must go back to LookAt and try to understand how it works.

a lil frustrating, but this program is soooooo vvvvorth the effort!!!

I finally got it to work using the selfAlignPhong.
I’ve attached it here for anyone who wants to use this ‘facing particle’ technique. Just get the QuadSphere_AlignedToCamera.zip (351.52 Kb) and ignore the first attachment (i couldn’t delete it).


QuadSphere_LookAt.zip (268.3 kB)
QuadSphere_AlignedToCamera.zip (351.5 kB)

Hi, Please have a look at this because some module paths are missing and the .fx too…
‘the grid object does not have a transform as an input pin! So it doesn’t work for my purpose’: the shader get two transform inputs which allows to transform the grid…But seems that you finally did it ;)

another very short answer:
i remember @milo did a simple “billboarding” patch.
you find the downloadlink scrolling down his @milo to ^patches^.

sure next year i find more time for answers.