SamuKata
animatrix

animatrix

patreon


animatrix posts

VEX Poly Carve SOP on Closed Surfaces

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 sepa...

View Post

Upcoming Video Tutorials

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, whi...

View Post

VEX Poly Carve SOP

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.

2019-11-12 08:37:16 +0000 UTC View Post

TimeBlend SOP

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 ...

View Post

Substeps and Subframe Interpolation

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 th...

View Post

VEX From Polar COP

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 d...

View Post

VEX To Polar COP

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...

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 ret...

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.


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

Blend Color VOP

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 ...

View Post

VEX Coil SOP

VEX Coil SOP

Creates curves that coils around other curves.

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

...

View Post

VEX Limit Surface Sample SOP

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.

<...

View Post

VEX Path Deform SOP and VEX Volume Sharpen SOP Updates

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.

...

View Post

VEX Path Undeform, Bias and Gain

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 accu...

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

Nei...

View Post

Lambda SOP

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 definiti...

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 reduc...

View Post

OpenCL Smooth SOP

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 us...

View Post

Viscoelasticity: Multi-Threaded Gas Strain Forces DOP Using VEX

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...

View Post

Convert Packed To Points SOP & Transform Packed SOP

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 usin...

View Post

VEX Point Connect SOP

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.


2018-09-23 06:25:03 +0000 UTC View Post

OpenCL Volume Blur SOP

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 cre...

View Post

Color Nodes in a Subnet by Creator

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 els...

View Post

OpenCL Volume Sharpen SOP

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. View Post

OpenCL Volume Convolve SOP

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 Conv...

View Post

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

[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 quest...

View Post

OpenCL Relax SOP

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 c...

View Post

Adaptive Subdivide SOP

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.

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

VEX Adjacency Graph SOP

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 co...

View Post

VEX Cluster Foam SOP

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.

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