Pragmatic VEX: Volume 1 [4K] [H18]

   1584   10   1
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online

After more than 5 months of unimaginable amount of work, I am proud to release my first in-depth Houdini course on VEX

More details in the video description and the website. [www.pragmatic-vfx.com]

Active Patreon members will receive additional discounts proportional to their lifetime support (25% of their lifetime support). Message me on Patreon [www.patreon.com] for your discount coupon.

Enjoy!


Table of Contents

01 - Introduction
[Point Clouds]
	02 - Introduction
	[pcopen() vs pcfind() vs nearpoints()]
		03 - Introduction
		04 - Implementation
	05 - pcfilter() Implementation for pcfind()
	06 - pgfind()
	07 - pcfind_radius()
	08 - Excluding the Current Point & Ad-Hoc Groups
	09 - Finding Min & Max Neighbour Points
	[Unique Pair Matching]
		10 - Concept
		11 - Implementation
	[Camera Based Occlusion with Variable Pscale]
		12 - Concept
		13 - Implementation
	[Uniform Point Distribution Over Polygonal Surfaces [Point Relaxation]]
		14 - Concept
		15 - Implementation
	16 - Decoupling Operators
[Convolution Kernels]
	17 - Introduction
	18 - Border Handling
	[Connectivity & k-Depth Point Neighbours Using Edges]
		19 - Introduction
		20 - Concept
		21 - Implementation
	[Connectivity & k-Depth Point Neighbours Using Primitives]
		22 - Concept
		23 - Implementation
	[Extending k-Depth Point Neighbours Using Edges]
		24 - Introduction
		25 - Concept
		26 - Implementation
	[Extending k-Depth Point Neighbours Using Primitives]
		27 - Concept
		28 - Implementation
	[smoothstep() [Cubic Hermite Interpolation]]
		29 - Concept
		30 - Implementation
	[Shaping Functions]
		31 - Introduction
		32 - Implementation
	33 - Blurring Attributes
		[Sharpening Attributes Using Unsharp Mask]
			34 - Concept
			35 - Implementation
		[Generalizing the Kernel Code to Handle All Attribute Types]
			36 - Concept
			37 - Implementation
[Attribute Gradient]
	38 - Introduction
	39 - Concept
	40 - Implementation
[Gradient Ascent & Descent]
	41 - Planar Geometry - Introduction
	42 - Planar Geometry - Concept
	43 - Planar Geometry - Implementation
	44 - 3D Geometry
	[Contour Lines]
		45 - Introduction
		46 - Concept
		47 - Implementation
	48 - Heightfields
[Geometric Advection - Orthogonalization & Flowlines]
	49 - Introduction
	50 - Concept
	51 - Implementation
[Clustering & Quadtrees]
	52 - Concept
	53 - Implementation
[Adaptive Subdivision]
	54 - Introduction
	55 - Implementation
56 - Hashing
[Adaptive Subdivision]
	57 - Improving OpenSubdiv Catmull-Clark Subdivision Surfaces Algorithm
58 - Half-Edges
[Adaptive Subdivision]
	[Aggressive Performance Optimizations]
		59 - Eliminating Groups
		60 - Custom Fusing In VEX
		61 - Recreating Proximity Structures In VEX
		62 - Get Unshared Edges In VEX
		63 - Final Optimizations
[Limit Surface Sampling]
	64 - Introduction
	65 - OpenSubdiv Patches
	66 - Moving Points to the Subdivision Limit Surface
	67 - Scattering Points on the Subdivision Limit Surface
	68 - Generating a Point Cloud on the Subdivision Limit Surface
	69 - Pre-Generating a Point Cloud on the Subdivision Limit Surface
	70 - Creating Isolines on the Subdivision Limit Surface
[Adaptive Subdivision]
	71 - Computing Surface Normals from the Subdivision Limit Surface
[Custom Subdivision Surfaces]
	[Splitting Edges [Edge Divide]]
		72 - Concept
		73 - Converting Edges to Primitives
		74 - Creating New Edge Points
		[Rebuilding Polygons]
			75 - Concept
			76 - Implementation
		77 - Preserving & Interpolating Attributes
		78 - Multithreading by Connectivity
		79 - C++ vs VEX
		80 - Preserving Groups
		81 - Final Optimizations
	[Implementing Bilinear Subdivision]
		82 - Introduction
		83 - Concept
		84 - Modeling Test Geometry
		85 - Starting from Edge Divide
		86 - Creating New Face Points
		87 - Creating New Edge Points
		[Creating New Closed Polygons]
			88 - Concept
			89 - Implementation
		[Creating New Open Polygons]
			90 - Concept
			91 - Implementation
		92 - Preserving Primitive Groups & Interpolating Primitive Attributes
		[Preserving Vertex Groups & Interpolating Vertex Attributes for Closed Polygons]
			93 - Concept
			94 - Implementation
		95 - Preserving Vertex Groups & Interpolating Vertex Attributes for Open Polygons
		96 - Implementing Iterations
		97 - Preserving Literal Groups
		98 - Creating Neighbour Primitives
		99 - Final Changes
		100 - Testing On Complex Geometry
	[Implementing Catmull-Clark Subdivision]
		101 - Introduction
		[Closed Surfaces]
			102 - Rules
			[Gathering Edge & Face Points]
				103 - Concept
				104 - Implementation
			[Computing Weights for New Edge Points]
				105 - Concept
				106 - Implementation
			[Computing Weights for Original Points]
				107 - Concept
				108 - Implementation
		[Attribute Interpolation]
			109 - Concept
			110 - Implementation
		[Boundary Interpolation Rules for New Edge Points]
			111 - Concept
			112 - Implementation
		[Boundary Interpolation Rules for Original Points]
			113 - Concept
			114 - Implementation
		115 - Open Surfaces - Handling Corner Points
		116 - Handling Non-Manifold Topology
		[Open Polygons]
			[Computing Weights for Original Points]
				117 - Reverse Engineering OpenSubdiv
				118 - Implementation
			[Computing Weights for New Edge Points]
				119 - Reverse Engineering OpenSubdiv
				120 - Implementation
		121 - Handling Open Polygonal Curves
		[Handling Mixed Topology]
			122 - Full Geometry
			123 - Sub-Geometry
		124 - Testing On Complex Geometry
		[Performance]
			125 - Profiling
			[Grouping Boundary Edges from Primitive Group]
				126 - Concept
				127 - Implementation
			128 - VEX vs C++
[Caustics]
	129 - Introduction
	130 - Sea Caustics
	131 - Pool Caustics
132 - Conclusion
Edited by animatrix_ - Aug. 14, 2020 07:55:05
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online


Gradient descent is an optimization algorithm used to minimize some function by iteratively moving in the direction of steepest descent as defined by the negative of the gradient.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online

We have implemented gradient ascent and descent on planar geometry, much like a terrain where we used the gradient of the height.

For an arbitrary geometry, what can we use as the cost attribute? One thing we can use is depth.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online

Now that we know about gradients, there is another concept that's related to them that can be acquired quite easily, and that concept is contour lines.

A contour line (also isoline) of a function of two variables is a curve along which the function has a constant value, so that the curve joins points of equal value. There are very interesting relationships between the gradients and the contour lines.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online


We have already seen how to apply gradient ascent, descent and contour lines to heightfield like planar geometry. The same concept can be applied to heightfields.

Because heightfields are volumes, getting the gradient is very easy by using the volumegradient function. The normal of a heightfield is (0, 1, 0) if the heightfield is an XZ volume, meaning facing up. Getting the cross product of both of these vectors will give you the contour lines.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online

Subdivision surfaces are piecewise parametric surfaces defined over meshes of arbitrary topology.

It's an algorithm that maps from a surface to another more refined surface, where the surface is described as a set of points and a set of polygons with vertices at those points. The resulting surface will always consist of a mesh of quadrilaterals.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Thanks for posting these snippets!!
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online
You are welcome man!


When you have complex ocean spectra layered together using masks with varying speeds, and even animated timescales, retiming them while keeping the same approved look becomes a technical challenge. In this lesson you will see how to achieve this as a procedural post-retime operation, without having to modify any ocean spectra individually.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online
Due to popular demand Pragmatic VEX: Volume 1 now comes with subtitles available in the following languages: English, Japanese, Chinese, Korean and Spanish. The subtitles are in srt format.

This will greatly increase the reach of the course to a much wider audience.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
User Avatar
Member
3 posts
Joined: April 2014
Offline
I just finished this course and I wanted to write a short review about it. I think the content and style is top-notch, super focused. Each video was on point, cleanly edited, no dilly dallying or watering it down with fluff talk that just bloats the course length..

I also liked the general style that starts with introduction, followed by breakdown and concepts, and finally the implementation. As I progressed through the course I could see the amount of attention to detail that went into creating this kind of material.

As for the content: I rate myself intermediate level so the initial chapters about point clouds were well covered and easy to understand. When it started to cover convolution kernels, interpolations, blurring and sharpening, it started to challenge me a bit, but still not far from my comfort levels.

The later topics about gradient computation, gradient ascent/descent, contour lines, etc were quite new to me and very open-ended, so I enjoyed these the most.

By the time I reached the adaptive subdivision, subdivision limit surface and fully VEX-based Catmull-Clark subdivision, I could feel the full intensity of the lessons. It was pretty advanced for me as there were serious hardcore optimization methods that I still need to get my head around. I will have to re-watch some of these videos to understand them fully, but they were still relatively easy to follow. I didn't need a programming background or anything, which I have none! Everything was broken down into logical chucks instead of a single 3 hour video that explains everything.

I was going through it a few videos at a time. That’s why it took me so long to finish it mostly over the weekends and some weekdays after work.. It turned out a lot more useful this way too. I was able to quickly put what I learnt into practice at work, instead of waiting for a specific shot a tutorial covers, to be assigned to me for FX.

It’s definitely not just for highly technical people. Maybe the promo video might give that impression from the mathy-techy lingo. I find the topics very practical as an FX artist. I think the author himself is also an FX TD.

This course is definitely a unique truly advanced VEX course covering so many topics, some of which I didn't even know existed before even as ideas.

I think this kind of effort should be supported so we can see more of these professional courses from production artists working at high-profile studios, rather than the same old repetitive training materials produced by training companies year after year with little to no practical value just to turn some profit..
User Avatar
Member
2554 posts
Joined: Feb. 2012
Online
@Dentonvanzan: Thanks a lot for your detailed review, I appreciate it!



Due to popular demand Pragmatic VEX: Volume 1 now comes with subtitles available in the following languages: English, Japanese, Chinese, Korean and Spanish. The subtitles are in srt format.

Korean translation is being generously performed by Seona Hwang for the sake of helping the Korean Houdini community. Huge props to her for her selfless act!

This will greatly increase the reach of the course to a much wider audience.
Senior FX TD @ Industrial Light & Magic

Get to the NEXT level in Houdini and VEX with Pragmatic VEX! [www.pragmatic-vfx.com]
patreon.com/animatrix | gumroad.com/animatrixx | vimeo.com/animatrix3d
Hardware: Asus ProArt Studiobook One | i9 9980HK | RTX 6000 | 64GB | 4K
  • Quick Links