as we parametrize components more and more, I keep bumping into having to copy/paste compositing operators in order to composite an image repeatedly over another, number of times at different x,y locations (think menus).
It would be awesome to have a composite operator which uses a DAT like <input#>
1 10 15 over
1 5 20 over
2 3 10 under
For example I’m developing a “ramp based” menu, where a DAT passes the menu choices and (simply put) the “v” of the panel determines which ones get turned on/off.
The choices are all printed onto a Text TOP. the highlighting happens by the script modifying the ramp keys table. Now if I wanted something more sophisticated than a ramp, ie. a background image of a 3D rendered button, I would need something like the above to specify where to composite the button under the text TOP (assuming I can highlight more than one choice).
I’m expanding this to allow stamping even on a TEXT TOP.
For example I want to create a 2D flowchart. Obviously the flowchart number of boxes, text in those boxes, would change, hence the need to specify text/locations in a DAT so that at the very least you can create a large text TOP stamping different text at various location then stamping your boxes in a compositing top and compositing text over the whole thing.
Ideally though, the more I think about it the more a traditional, SESI-like stamping approach could be more useful.
Otherwise, I’d really appreciate a suggestion on how to create a 2D flowchart (basically parametrically stamping text at different xy locations) - and/or how to stamp a “button” for example at different location on a BG image.
Well for now you can do it using geometry and a camera with Orthographic projection. When using orthographic projection the left side of the screen is -orthoWidth/2.0 and the right side is orthoWidth/2.0 (regardless of where the camera is in Z). So positioning your boxes exactly is easy. Set the ortho width to 100 and you know that putting a vertex at -50.0 will be at the left edge of the image.
Putting multiple text labels at exact locations can be done in a Text TOP:
Make a DAT and put in it:
[0,0]box 1
[111,200]box 2
[50,80]box3
and point to it from the DAT parameter of a Text TOP. Make the Text TOP Horizontal and Vertical Aligns be Left and Bottom. It should render your text at these locations.