Converts barycentric coordinates relative to a 3D triangle into cartesian coordinates.
https://www.dropbox.com/s/t9z8wo6jufrs6to/Barycentric_VOP_Animatrix.otl?dl=1
2022-10-02 01:00:02 +0000 UTC
View Post
Computes the spherical distance between two points on a sphere.
Radius of the sphere is calculated from the first point. The center of the sphere is assumed to be at {0, 0, 0}.
https://www.dropbox.com/s/43nuinrtzsvk1s7/SphericalDistance_VOP_Animatrix.otl?dl=1
2022-09-29 01:00:02 +0000 UTC
View Post
Visualizes point/primitive groups using colors.
It uses the LCh color model to blend colors for points/primitives that are shared between multiple groups to represent shared membership.
https://www.dropbox.com/s/3dawgta7apvnqus/GroupVisualize_SOP_Animatrix.otl?dl=1
2022-09-02 01:01:00 +0000 UTC
View Post
Projects a point in space onto a plane defined by a normal and a center using an amount.
https://www.dropbox.com/s/aw3kn2mf10bi8xu/Flatten_VOP_Animatrix.otl?dl=1
2022-08-29 01:00:02 +0000 UTC
View Post
Rotates an image more sharply at the center than at the edges.
https://www.dropbox.com/s/uvg7y119nmd0rjk/Swirl_COP_Animatrix.otl?dl=1
2022-08-17 02:00:02 +0000 UTC
View Post
Returns an array of the point/primitive numbers of the neighbours of a point/primitive.
2 distinct advantages of these VOPs over the default Neighbours VOP, apart from lack of a primitive neighbours VOP, is that they allow specifying the depth of traversal. So at each depth, the result of the previous depth is used to get the new neighbours.
One useful parameter is Accumulate, which allows you to gather the result of all the depths vs keeping only the last depth, in case you need ...
2022-08-02 01:01:01 +0000 UTC
View Post
Improved ripple solver that's more intuitive to use.
In future versions I want to allow more uniform propagation regardless of topology and also complete the OpenCL implementation. That's why I didn't add OpenCL code branch yet regardless of the available OCL toggle, because the implementation should be first finalized in VEX, then OCL.
https://www.dropbox.com/s/wki...
2022-07-30 02:00:03 +0000 UTC
View Post
Partitions a geometry using uniform divisions per axis where each partition will have a unique integer value.
This is an easy way to multi-thread groups of points to be processed in parallel. For example if you want to compute the average point position of all these points, you could process each partition inside a For Loop network and run the same VEX code there to get faster performance.
Of course in this case I would recommend using Attribute Promote, but this is just one examp...
2022-07-16 01:00:04 +0000 UTC
View Post
Creates the view frustum of a camera as geometry.
Has a lot of options for creating multiple zones, isolating them, with the ability to output a center line that can be used to instance simulation domains or slice a geometry using Voronoi Fracture SOP.
Another feature in planning is to have a ramp to control the size of zones relative to each other.
https://www....
2022-07-02 01:00:03 +0000 UTC
View Post
Creates group memberships from a space separated string attribute that contains the group names.
https://www.dropbox.com/s/738l69lzkirhssc/GroupFromAttrib_SOP_Animatrix.otl?dl=1
2022-06-29 01:00:02 +0000 UTC
View Post
A different take of the original VEXify geometry tool I made back in the day.
https://www.dropbox.com/s/gj8ercv5m5mxqdh/Geometry_SOP_Animatrix.otl?dl=1
2022-06-17 01:00:02 +0000 UTC
View Post
Selects points/primitives/edges by normal.
A lot of useful options in this SOP while providing max performance. Features like Min/Max Spread Angle, ability to mirror, and invert the entire operation.
https://www.dropbox.com/s/c87rmdug5mvr80e/SelectByNormal_SOP_Animatrix.otl?dl=1
2022-06-02 01:00:03 +0000 UTC
View Post
An efficient way to create a grid of points using the bounding box of the input geometry. Useful when you need to source a lot of points for a simulation.
https://www.dropbox.com/s/k8ds8varecufwcl/PointGrid_SOP_Animatrix.otl?dl=1
2022-05-27 01:01:00 +0000 UTC
View Post
Averages out adjacent colors and corrals them into solid, vaguely crystalline shapes.
https://www.dropbox.com/s/llkmaoabuafhhpg/Crystallize_COP_Animatrix.otl?dl=1
2022-05-13 01:00:02 +0000 UTC
View Post
Rotates an image more sharply at the edges than at the center.
https://www.dropbox.com/s/7lr59jlpf1w78qy/Twirl_COP_Animatrix.otl?dl=1
2022-05-02 01:00:02 +0000 UTC
View Post
After months of hard work, the new bonus content for Pragmatic VEX: Volume 1 is finally out! Existing users immediately received access to the updated content as soon as it went live.
The new trailer also features the new content, so make sure to check it out!
Active Patreon members are still eligible to receive additional discounts proportional to their lifetime support (25% of their lifetime support).
https:...
2022-04-27 14:17:26 +0000 UTC
View Post
Added another option to keep the unused points (default off). While it's useful to only keep the used points in the case of RBD simulations, for Vellum constraints, it does expect the point count to match and so having this option is quite useful.
https://www.dropbox.com/s/c49lkpb2ifbg1hd/PointConnect_SOP_Animatrix.otl?dl=1
2022-04-27 02:00:02 +0000 UTC
View Post
A number of fixes and overall improvements to the entire toolset.
https://www.dropbox.com/s/2tc542a24tbmnqx/supercharge.zip?dl=1
2022-04-09 14:01:28 +0000 UTC
View Post
A simulation of two virtual chemicals reacting and diffusing on a 2D grid using the Gray-Scott model.
A very old VOP I implemented as part of a larger a reaction diffusion solver .
https://www.dropbox.com/s/cabbxgy8a414v3l/ReactionDiffusion_VOP_Animatrix.otl?dl=1
2022-04-02 01:00:03 +0000 UTC
View Post
Selects edges using a primitive attribute that have different values for each primitive of the edge.
Edge Wrangle SOP was still 2x faster than this SOP though so there are definitely very good use cases for the Edge Wrangle SOP, even though this SOP uses half edges that should be just as fast.
Edge Wrangle SOP just does some clever shortcuts to get even more performance out of VEX compared to half edges.
2022-03-21 01:00:02 +0000 UTC
View Post
Randomly selects or deletes points/primitives by a given amount.
These SOPs show a VEX based approach on how to gather elements randomly. There are many ways to do this, but it gets tricky if you want a specific number of elements to be gathered.
https://www.dropbox.com/s/axpn2kk72qejae4/SelectRandom_SOP_Animatrix.otl?dl=1
2022-03-02 01:00:03 +0000 UTC
View Post
Now computes normalized weights and completely revamped UI.
Similar features added just like the Proximity SOP.
https://www.dropbox.com/s/n4fd3kbf7sn7s62/Neighbour_SOP_Animatrix.otl?dl=1
2022-02-27 01:01:00 +0000 UTC
View Post
Queries point clouds using proximity optionally with variable radius per point.
Now computes normalized weights and completely revamped UI.
First off we need to be able include the point itself in the resulting array. Often times the point itself can also contribute to the final result computed from its neighbours. Returning this in the same array simplifies the kernel code we have to write later on as we can handle all the points uniformly, instead of making an exception for the ...
2022-02-15 01:01:01 +0000 UTC
View Post
Selects edges using VEX code.
Edge point numbers are accessed using i@pt0 and i@pt1. Edge primitive numbers are accessed using i@prim0 and i@prim1.
With the latest Attribute VOP developments, it could potentially be streamlined a lot more.
https://www.dropbox.com/s/3xh4z7wutjupjtl/EdgeWrangle_SOP_Animatrix.otl?dl=1
2022-02-02 01:01:00 +0000 UTC
View Post
Creates an anaglyph from a pair of input images. Supports multiple color schemes.
https://www.dropbox.com/s/barkdwwmnvy74mb/Anaglyph_COP_Animatrix.otl?dl=1
2022-01-23 01:00:02 +0000 UTC
View Post
Computes non-linear normalized easing interpolation values. Input values must be in the range of 0-1.
Very useful to reshape a normalized value range to output a different value curve.
https://www.dropbox.com/s/w7zrliwkoid73sb/Interpolate_VOP_Animatrix.otl?dl=1
2022-01-09 09:02:21 +0000 UTC
View Post
Recently I came across a problem where I had to remove parts of the curve from the existing point positions (i.e. not carve) using a separation distance parameter of a curve to itself.
There are 2 standard methods to approach this sort of problem, point distances i.e. Euclidian distance using pcfind, distance functions, or xyzdist.
Unfortunately neither works as easily because they will also give you the current point and the points along the same segment.
I come up with a m...
2021-12-25 04:32:28 +0000 UTC
View Post
Recently got asked to showcase ASUS ProArt hardware series in production. It was a nice experience to do this.
Pragmatic VEX is also shown in the video along with my Supercharged extension in action!
Hope you enjoy :)
2021-12-13 03:01:00 +0000 UTC
View Post