Course Overview

Class Description:

In this recorded class get familiar with VEX and reduce the barrier of entry into algorithmic thinking - whether you are a visual or a linguistic thinker. Learn to break down problems into bite-sized algorithms and chain them to form a bigger system. 

Learning Outcomes:

You will get up and running with Houdini’s most powerful toolkit-VEX, in this coding workshop.

Course curriculum

    1. Files

    1. 1. Introduction

    2. 2. What is VEX?

    3. 3. Basic Data Types

    4. 4. What is a Dictionary?

    5. 5. Struct and BSDF Data Types

    6. 6. Checking Data Types with Attribute Create

    7. 7. Q&A: Are dictionaries okay with using different data types together?

    8. 8. VEX as a Multithreaded Language

    9. 9. Geometry Spreadsheet and Position Vector

    10. 10. Declaring Data Types, Attributes vs Variables

    11. 11. Bake Attribute into Geometry

    12. 12. Attribute View

    13. 13. Type Casting

    14. 14. Accessing Components

    1. 1. = vs ==

    2. 2. What is a Function

    3. 3. Quick Tip if Stuck on a Function

    4. 4. Creating a Function

    5. 5. Function Casting

    6. 6. Creating a Wave with VEX

    7. 7. Interpolation Functions

    8. 8. Create a Channel Ramp

    9. 9. Conditionals

    10. 10. Loops

    1. 1. Creating a Point with Vex

    2. 2. Combining Cos and Sin to Form a Circle

    3. 3. Applying a For-Loop to Generate a Circle

    4. 4. Alternate Loops for Creating a Circle

    5. 5. Creating the Base of a Spiral

    6. 6. Creating a Circle over Detail vs. Points

    7. 7. Giving Height to the Spiral

    8. 8. Using a Ramp to Adjust the Radius of a Spiral

    1. 1. Q&A: Should We Put Everything Inside a Radians Function?

    2. 2. Q&A: Do VOPs Use Degrees ?

    1. 1. Phyllotaxy Explanation

    2. 2. Creating a Circle with Circumference and addpoint Function (addpoint)

    3. 3. Adding Points Based on Current Iteration with setpointattrib Function (setpointattrib)

    4. 4. Problem: How to Create a Spiral in XZ Axis Using the Golden Angle?

    5. 5. Solution: Increasing the Angle Every Iteration

    6. 6. Problem: How to Set the Maximum Radius of the Geometry?

    7. 7. Solution: Normalizing the Scale Multiplier

    8. 8. Introducing Basic Instancing

    9. 9. Problem: How to Modify the Point Normals?

    10. 10. Solution: Control the Normals with a Point Attribute

    11. 11. Solution: Controlling the Scale of Instances with the pscale Attribute

    12. 12. Problem: How to Increase pscale Attribute Based on the Distance from a Reference Point?

    13. 13. Solution: Fixing pscale with length Function (length)

    14. 14. Problem: How to Flip the length Function's Direction?

    15. 15. Solution: Fixing length Function with distance Function (distance)

    16. 16. Solution: Controlling the Scale with a Ramp Parameter (chramp)

    17. 17. A Quick Review on Normalization

    18. 18. Introducing rand Function (rand)

    19. 19. Randomizing pscale per Point Number with rand Function (rand)

    20. 20. Creating Variations by Adding a Float Parameter for a Custom Seed (chf)

    21. 21. Introducing Global Variables Frame and Time

    22. 22. Problem: How to Add a Growth Animation?

    23. 23. Solution- Increasing Overall pscale in Three Seconds with fit Function and clamp Function (fit, clamp)

    24. 24. Solution- Increasing pscale Based on Distance to the Center with distance Function (distance)

About this course

  • $135.00
  • 96 lessons
  • 6 hours of video content

Course Teaser

Day 1

We will cover the basics of VEX and solve mini-problems along the way. You will learn Fundamentals, Basics Data Manipulation: Floats and Integers, Vectors, Arrays: Strings, along with Control Flow, and then finally you will practice all you’ve learned at the end of this course.


  1. History
  2. Architecture
  3. Attributes
  4. Parameters vs Variables
  5. Data Types
  6. Declaring Variables
  7. Type Conversion
  8. Attribute Classes

Basics of Data Manipulation:

Floats and Integers

  1. Simple arithmetic (+, -, *, /)
  2. Wave Functions
  3. Creating Waveforms(clamp, fit, modulo)
  4. Waveshaping (chramp)
  5. Gradients


  1. Length of a vector
  2. Simple Vector Math (+, -)
  3. *,/ with a Vector/Scalar
  4. Dot Product and Cross Product

Arrays: Strings

  1. concat, insert, itoa, find, strip, split, tolower, toupper, len

Control Flow:

  1. Loops
  2. Conditionals


  1. Spirals
  2. Deep Dive into Instancing
  3. Wave Deformer
  4. Phyllotaxy
  5. Geometry Creation and Culling

Session 2

A more pragmatic session of using all the basics of what we learned to implement algorithms to solve problems, with increasing levels of complexity. In this session you will learn about Functions, Pointclouds, and Neighbourhood lookups, then you will practice Collision Detection and Ray Tracing, Scale based on Proximity, Attribute Blur, Simple Diffusion Solver, and Pop Curve Force. This session includes 2 hours of a workshop, Jeffy will spend time helping students write their own code.


Jeffy Mathew Philip

Houdini FX Artist

Jeffy Mathew Philip has been in the Visual Effects industry for about 5 years. He’s worked on multiple productions as a Houdini FX Artist/TD on various feature productions. His work is featured in X-Men Dark Phoenix, IT Chapter 2, and Tomb Raider. He currently works as a QA Specialist at SideFX. Beyond VFX, he has a gamut of experience in multiple creative industries working in various technical problem-solving roles - ranging from Live Productions to Advertising. He has always been curious about technology in the creative space and its possibilities beyond - and loves to share his knowledge and perspectives with mentors, peers, and prospective artists alike.



Subscribe to our newsletter.
Add the full Houdini.School schedule to your calendar:


Multi-Session Courses
Students may request a refund up to 1 day before the start of the course. Students may also withdraw from Multi-Session Courses at any time and are entitled to a pro-rated refund. The withdrawal date must be 1 day before the next class they intend to drop.

On-Demand Courses
All on-demand courses are non-refundable.

How to Drop a Class
Please send a request to drop a class via email to [email protected].
Your written request to drop any or all of your classes must include:
  1. Student’s full name
  2. Name of the course(s) being dropped


“Holy cow this is all really cool. I started this last night and I’m just loving it.”

Timothy Bladel

See you in Class!