alexmitchellmus commented on alexmitchellmus's Feature Request, “BitCrush Audio Effect

Yay! I should get back into c nodes again. Been busy with 3D modeling lately.

Oh, hey, I just thought of another use case - it's not MY use case, I have no current need to do this, but I think it better illustrates the usefulness of separating the UV texture coordinates from the parametric surface parameters.

Suppose I have several different world-map images, in different projection styles. One is a cylindrical Mercator projection, one is an equal-area Peters projection, perhaps another is in raw spherical coordinates. I want to wrap all of these onto spheres in a geographically accurate way.

In order to do this with the current implementation, it seems like my best bet is to come up with a few different ways of parametrically defining a spherical surface, definitions which produce different amounts of vertex density near the poles vs. near the equator. This math gets tricky very fast, and I might not want geometry with those varying levels of vertex density.

It would be much tidier if, instead, I could define the geometry of the sphere in XYZ-space according to a spherical coordinate system, and give mathematical expressions for X, Y, and Z in terms of latitude and longitude (perhaps ranging from -180 to 180, which simplifies life since the trig function operate in degrees by default) and then separately come up with mathematical expressions which express the U and V coordinates of the map images (perhaps ranging from 0 to 1, consistent with how other 3d packages treat UV) as functions of latitude and longitude as well.

This way I can have more or less texture detail near the equator vs. near the poles, without having to also create higher/lower vertex density in those regions.

(Again, this isn't something I have any pressing need to do right now, but hopefully it illuminates how much more versatile this node could be.)

PS, thanks for all your amazing work!

The specific task I had in mind when writing this, is creating a banner-like curved surface, and then scrolling an image around that surface, marquee-style. I can work around this by flat-mapping an image onto the entire surface and then using scaled layers and Tile Image nodes to position the image wherever I want (example project enclosed) but this is wasteful. There are tons of texels on this 3d surface being wasted on a flat background colour, and I have less detail in the image area because i've had to scale the image down instead of just positioning it where i want it on the surface.

It would be nice if I could just manipulate the UV mapping of the surface by itself (maybe just by making the V expression a clamped linear function, and making the U expression scroll with time) in order to slide the image around on the surface, without this affecting the position of the surface's points in XYZ space. This would make it unnecessary to do all these image/layer manipulations to the image, and it would also allow saving all the image's detail where it's actually needed.

Flat scaling/scrolling is just a simple example, though. If UV were parameterized just as XYZ is, there's all sorts of other, wilder image-warping stuff we could do on these parametric surfaces too. :)

Jaymie commented on alexmitchellmus's Feature Request, “BitCrush Audio Effect

Happy belated birthday, `Bit Crush Audio` node. You were added in Vuo 1.2.4.

`"dependencies" : [ AR ]` needs some quotes. It should be `"dependencies" : [ "AR" ]` .

The `--library-search-path` option is only available when compiling and linking compositions with the command-line tools (found in the Vuo SDK). For example:

``````./vuo-compile ~/Desktop/SomeComposition.vuo
``````

If running the composition with Vuo Editor instead of the command-line tools, there isn't currently a way to add a library search path. Instead, you should place the ARToolKit library in the User Modules or System Modules folder.

Oops, yeah, that documentation is wrong. Thanks for catching that, unicode.

Could you describe how you intend to use the U/V expressions? Like, what is the task you're trying to accomplish, and how would the ability to manipulate UV texture coordinates independently make it possible / easier than just using X/Y/Z expressions? I ask because a concrete example helps when thinking about possible improvements to nodes.

Also: in console i found this:

``````24/02/17 10:13:37,602 vuo-compile[1341]: VuoCompilerModule.cc:103  parseMetadata()  Error: Couldn't parse VuoModuleMetadata as JSON: { "title" : "detect markers", "description" : "Keeps track of how many times this node has been executed, and outputs that count.", "keywords" : [ ], "version" : "1.0.0", "dependencies" : [ AR ], "node": { "isInterface" : false } }
``````

As you can see, I added "AR" dependence, but something is wrong.

Hi Jaymie, actually I got the code compile with success. When I try to run a composition in the vuo editor that uses that node, I get this error:

`Node outdated or broken — One or more nodes in this composition can't be used by this version of Vuo. Make sure you're using the latest version of all the extra Vuo nodes you've installed:`

I think i missed the step you mentioned:

`You'll also need to help vuo-link find the ARToolkit libraries when it links a composition. This means listing the libraries in the dependencies section of your module metadata and either placing them in the Modules folder or passing --library-search-path arguments. See http://api.vuo.org/1.2.5/group__ManagingDependencies.html for instructions.`

Thanks,

michele

If this actually belongs in feature requests I apologize :)

## Welcome!

Vuo is more than nodes and cables, it's a community! Feel free to browse or add your voice.

Browse Discussions

Browse Feature Requests

Browse the Composition Gallery