XaiJu
animatrix

animatrix

patreon


animatrix posts

VEX Poly Carve SOP on Closed Surfaces

Poly Carve SOP can also carve closed polygons where it will still use the points but instead of creating multiple curves, it will keep a single polygon.

This method will carve geometry like a torus as you expect.

Because of this, the higher resolution the surface is, the more detailed carving you can achieve.

Here I used 2 separate nodes for ease of use, but the same result can be achieved using a single Poly Carve node if you have the appropriate primitive attributes on eac...

View Post

Upcoming Video Tutorials

Based on regular feedback regarding the technical level required to fully understand my content, I have decided to create regular video tutorials on Patreon, ideally around 30 minute mark per video for ease of consumption. Because it's orders of magnitude more work than packaging my tools, I will create a separate tier, possibly $29 a month, which is still very accessible and is for people who want deeper understanding of advanced topics inside Houdini.

I will post the first one free fo...

View Post

VEX Poly Carve SOP

Carves out polygons using a point attribute with the ability to define the carve values per primitive using primitive attributes.

Pure VEX implementation, 10x faster than the default Carve SOP (compiled). It preserves all available attributes.

It supports both open and closed polygons.

https://www.dropbox.com/s/63k1eek78rxfzm0/PolyCarve_SOP_Animatrix.otl?dl=1 View Post

TimeBlend SOP

This operator will cook its input at the nearest available (sub)frames. The values are then blended according to the fractional position within the nearest available (sub)frames.

After using the subframe interpolation method extensively that I posted here the last time, I realized this functionality should be turned into a new operator, a new TimeBlend SOP, a successor to the old one, which have significant improvements over it.

Before explaining the differences, it's worth noting...

View Post

Substeps and Subframe Interpolation

In Houdini, dealing with substeps is a complex phenomenon. Writing them is easy, but reading and interpolating between the subframes is tricky.

To write subframes on disk, all you have to do is to use $FF, instead of $F. That's it.

Now to read them, if you use the same file sequence used for writing subframes to disk, and you have the Integer Frame Values option turned off in Global Animation Options, you will have a lot of read errors as you scrub the timeline.

What you hav...

View Post

VEX From Polar COP

Transforms a polar image into a rectangle.

Reverse operation of To Polar COP.  This operation will preserve the aspect ratio of the image provided the input image has the appropriate size.

COPs are really powerful but unfortunately the architecture is old. 2d volumes is a better generalization of image operations where you can do a lot of homogenous operations.

I am a strong proponent of software orthogonality and generics so I will implement this system in the future, ...

View Post

VEX To Polar COP

Transforms a rectangle image to polar coordinates.

This operator demonstrates a lot of useful techniques that can be applied in any contexts as a generic operator. In the future, there will be a larger effort to implement these in VOPs so that they can be used on any data, and not just COPs. I have to come up with a unified method as I can't use context specific functions.

COP context has some very specific properties and functions as they use VEX, as opposed to CVEX functions. In...

View Post

VEX Ocean Spectrum Retime SOP

Retimes ocean spectra by altering the time scale directly on the spectra volumes, rather than at the evaluation step, and computes the new time offset to keep the same ocean look by using the reference frame, that will appear in both time scales.

If you are passing spectra data over other departments like lighting, you have to bake the retime operation on the spectra volumes.

Another advantage of using this node is, if you just change time scale directly on the Ocean Spectrum node...

View Post

Blend VOP

Computes a blend between 2 values.

The list of supported attribute types are float, vector, vector2, vector4, matrix3, matrix and float array.

In the case of vectors (vector2/3/4), it has the option to treat them as normals as opposed to positions.


https://www.dropbox.com/s/v6cfpttoacvx3b3/Blend_VOP_Animatrix.otl?dl=1

2019-06-30 10:23:55 +0000 UTC View Post

Blend Color VOP

Linearly interpolates between two colors.

By default it blends colors using the LCh color space. LCh is the perceptually uniform equivalent of HSV, and defines colors using intuitive and perceptually-based luminance (perceived brightness), chroma (richness) and hue. If you are doing any kind of image analysis, it's likely that LCh will be much more useful to you than HSV or RGB.

To implement the LCh color space, you first need to implement the Lab color space. Note that the Lab co...

View Post

VEX Coil SOP

Creates curves that coils around other curves.

https://www.dropbox.com/s/8zd2org3ygnic0d/Coil_SOP_Animatrix.otl?dl=1

https://www.dropbox.com/s/wj9jj2oum2cbhnw/Spiral_SOP_Animatrix.otl?dl=1

2019-05-11 01:48:26 +0000 UTC View Post

VEX Limit Surface Sample SOP

Evaluates attributes at the subdivision limit surface using Open Subdiv.

It can be used to preserve the curvature of a geometry after adding new geometric detail, or to create an isoline display for a geometry or to sample the normals at the limit surface so the current geometry can have the smoothest normals it can ever have, etc.

https://www.dropbox.com/s/2mr3j...

View Post

VEX Path Deform SOP and VEX Volume Sharpen SOP Updates

Volume Sharpen SOP can now sharpen VDB volumes on the non-OpenCL branch.  

I implemented a lot of new enhancements for the Path Deform SOP. It's a much more powerful deformer now that can perform a lot of complex deformations, undo and redo them (undeform and redeform).

1. 3 Operations: Deform, Undeform and Redeform.

2. Redeform operation: If a second path is provided using the 3rd input, the geometry will first be undeformed using the first path, and then redeform...

View Post

VEX Path Undeform, Bias and Gain

Path Deform can supersede a lot of deformers like bend, bias, gain, stretch and twist with the ability to describe much more complex deformations along a path.

That's why I decided to enhance this deformer quite a bit. So far I added 3 new features. Bias shifts the points to accumulate at one end of the path. Gain shifts the points to accumulate at or away from both ends of the path.

I also added a new mode called Undeform that allows you to restore geometry to its undeformed stat...

View Post

Compilable SOPs

Here is the list of compilable SOPs as of right now:

Bend SOP

Bias SOP

Boxify SOP

ClusterFoam SOP

ColorRandom SOP

ConvertPackedToPoints SOP

CurveFrame SOP

Cylindrify SOP

Displace SOP

Flatten SOP

Gain SOP

Jitter SOP

Lambda SOP

Melt SOP

Mountain SOP

Neighbour SOP

PathDeform SOP

PCA SOP

PointConnect SOP

Proximity SOP

Ripple SOP

Skew SOP

Spherify SOP

Spli...

View Post

Lambda SOP

This operator invokes any number of operations on any number of  arbitrary attributes over any geometry/element/number or no input at  all, in a feedback or merge gather style.

In computer programming, lambda function is an anonymous function (function literal, lambda abstraction, or lambda expression) is a function definition that is not bound to an identifier. Anonymous functions are often arguments being passed to higher-order functions, or used for constructing the re...

View Post

Update

Hi everyone, the year is almost over. Just want to inform everyone that I have been updating a lot of HDAs in the background, for bug fixes, new features, improved performance and making sure the HDAs are compilable unless there is a default Houdini node inside that is not compilable yet.

I am not posting each time I make a change to reduce clutter, but you can download the latest version of each node I posted here to enjoy the improvements.

Next week I will try to finish a new to...

View Post

OpenCL Smooth SOP

Smooths out points using a low pass filter either by Taubin or Laplacian algorithm.

1. OpenCL acceleration.

2. VEX code branch.

3. Two algorithms to choose from: Taubin and Laplacian. I merged the Relax SOP code into this operator as Laplacian.

4. Ability to use edge or primitive neighbours with any depth.

5. Ability to use point clouds to find neighbours instead of connectivity.

6. Ability to reproject geometry onto original input geometry at each iteration.

<...

View Post

Viscoelasticity: Multi-Threaded Gas Strain Forces DOP Using VEX

The built-in Gas Strain Forces DOP is single-threaded. This is the VEX version of the Gas Strain Forces DOP, that uses a strain field to determine what forces should be applied to mitigate that strain. This acts as a restorative force to undo the distortion that caused the strain. You can use it as a drop in replacement for the original one.

It's meant to be used in conjuction with Gas Strain Integrate DOP.

These microsolvers are not as straight forward to multi-thread as face and edge s...

View Post

Convert Packed To Points SOP & Transform Packed SOP

Convert Packed To Points SOP allows you to convert packed geometry into points and stores the packed transform and pivot data on the points. It has an option to convert the transform primitive intrinsic attribute into a quaternion to save memory and disk space. It's on by default.

Transform Packed SOP allows you to transforms packed geometry using transform data found on a point cloud from the second input.

Together these VEX operators allow the fastest and the most efficient way to stor...

View Post

VEX Point Connect SOP

Creates poly lines between points.

Has a lot of parameters that streamlines constraint network creation, such as inter/intra-clusters.

Can optionally connect between the same/differing attribute values while also being able to optionally remove duplicates using another attribute.


https://www.dropbox.com/s/c49lkpb2ifbg1hd/PointConnect_SOP_Animatrix.otl?dl=1 View Post

OpenCL Volume Blur SOP

Applies Gaussian blur to a volume.

Features:

1. It is orders of magnitude faster than the default Volume Blur SOP when significant number of iterations are used and OpenCL acceleration is turned on.

2. Min/Max Cut Off thresholds

3. Both OpenCL and C++ network branches.

4. No radius option by design. Using radius creates a large kernel to execute. It's much faster to use 3x3x3 kernel with many iterations that yields a much higher quality result. Using radius also ...

View Post

Color Nodes in a Subnet by Creator

A quite useful and a hidden gem inside Houdini is its feature to record the name (and computer) of the creator of every single node ever created. It's not displayed anywhere by default so I wrote a Python script to color nodes by their creator and also add this name as a suffix to each node.

Very handy when debugging and/or inheriting someone else's scene/setup or HDA.  Now you know who to blame :P

After installing the preset, just create a Null node and then load the preset, or run...

View Post

OpenCL Volume Sharpen SOP

Sharpens the voxels of a volume using the unsharp mask technique that enhances edges via a procedure that subtracts a blurred version of the volume from the original volume.

Features:

1. It is orders of magnitude faster than the default Volume Wrangle SOP when significant number of iterations are used and OpenCL acceleration is turned on.

2. Separate controls for blurring and sharpening iterations.

3. Min/Max Cut Off thresholds

4. Ability to use a mask volume to mask ou...

View Post

OpenCL Volume Convolve SOP

Convolves a volume by a 3×3×3 kernel using OpenCL acceleration.

This operator takes each 3×3×3 neighbourhood of a voxel, multiplies it by a set of coefficients, and combines the result into a total. It can be used for blurring, sharpening, embossing, edge detection, and more.

It is orders of magnitude faster than the default Volume Convolve SOP when significant number of iterations are used and OpenCL acceleration is turned on. I also added a non-OpenCL (C++) branch.

Includes a...

View Post

[VEX] Camera Based Point Cloud Occlusion With Variable Radius [Scene]

How to delete points from a camera view using occlusion in a point cloud with variable radius, without instancing actual geometry.

Because of the perspective distortion, it might look like there are overlapping points but I added a planar camera projection preview mode that shows that no point is actually overlapping. 

Based on a question on the Sidefx forum.

https://www.dro...

View Post

OpenCL Relax SOP

Moves points away from each other using their edge or primitive neighbours.

1. OpenCL acceleration.

2. VEX code branch.

3. Ability to use edge or primitive neighbours.

4. Ability to specify any depth of neighbours.

5. Ability to reproject geometry onto original input geometry at each iteration.

6. Ability to constrain borders.

https://www.dropbox...

View Post

Adaptive Subdivide SOP

Adaptively subdivides geometry using proximity look ups to another geometry.

Subdivision depth: 14

6.5M vs 26.8B polygons (about 4K less)

To avoid having holes in the geometry, use the Houdini-Catmull Clark algorithm. However this will be significantly slower, and prohibitively expensive at these subdivision levels.

Adaptive Subdivide SOP

2018-04-22 17:47:39 +0000 UTC View Post

VEX Adjacency Graph SOP

Creates connections between adjacent pieces of a geometry where each piece has a unique attribute.

This is a much more generalized version of what's shown in the video.

It has a lot more features such as the ability to create connections using piece centers or face centers. This plays an important role when using these polygons as Bullet constraints.

I will update the video later on.

View Post

VEX Cluster Foam SOP

Creates foam clusters from a point cloud.

Can be used for a variety of effects like creating whitewater foam.

Implemented entirely using VEX. Shows a couple tricks like pre-generating points to achieve max performance as creating points in VEX is a sequential operation.

https://www.dropbox.com/s/9v4li0cgmr4l9y9/ClusterFoam_SOP_Animatrix.otl?dl=1

2018-03-13 04:00:04 +0000 UTC View Post