Very green-ish noob here by way of OF/Cinder, processing, Arduino, et al. (i.e. programmer, not motion designer.)
I recently built a new rig specifically for graphics intensive interactive installations, and a little VJing when the opportunity presents itself (which it has.)
I’m curious the most effective way of drawing geometry with touch. I’m used the the Cinder-ish way of doing it with gl::begin(), gl::vertex(…), gl::end() etc…
With my so far limited experience with touch designer, it has become clear that I need a new way of thinking about geometry.
I’ve so far had some success producing 3D meshes in other programs and importing them. I’ve also made geometry like spheres and grids, and warped them to be a slightly different shape. None of this feels like the drawing from scratch that I am used to.
That’s OK, but I think I need to figure out a new workflow. If I say, wanted to draw a triangle (simple triangle) how would I go about this with touch?
I could make a texture that looks like a triangle and map it to a point sprite. I could also produce paths in freehand and use blender to export an OBJ mesh.
Are there some fundamental simple ways of doing this that I am missing? Perhaps I could use point sprites with a geometry shader? That still feels over the top.
More interested in ways of thinking about geometry than hard examples, but both would help.
There are a bunch of SOPs that generate geometry, such as the Circle SOP, Rectangle, Grid, Box, Sphere, etc. You can also use things like the Copy SOP to create large numbers of duplicates of a pattern at various points based on the points in another SOP, etc.
That’s how the majority of my projects work:
[url]https://github.com/t3kt/qw3[/url]
You can use the Script SOP to generate points in a similar fashion to other environments but I wouldn’t recommend it as your main approach. The Script SOP only updates when it cooks so to make a frame loop you’d need to reference a CHOP in it that cooks on every frame. See the Script SOP class for more information on that.
It’s better to use the built in SOPs to try and fit your needs, it’s faster and much more intuitive.
I think GLSL is definitely a clear way to go. Would be kind of nice if there was a way to specify specific vertices and specify Tri Strip/ Tri Fan, etc…
I think Geometry shaders might be the way to go for instances of custom geometry. That way I can just generate points with noise and limits, etc… right? Then assign geometry to the points later.
Would instancing work with a geometry shader, or would I need to do my “instancing” on the CPU by generating more points pre-shaders?
Instancing (the one in the Geometry COMP) will create more primitives for you that will get sent through your geometry shader. This is the best way to create dummy primitives to manipulate, since creating many primitives directly in the geometry shader is very expensive.
Latching onto this topic! I’ve figured out how to use the basic geometry SOPs, like rectangle and circle, but can’t find triangle. On my first day using it and just curious about where I should look for this, thank you!