SideFX HOULY 2020 (Iron Heart Winner)

SideFX HOULY 2020 (Iron Heart Winner)

by tomminor 0 Comments

I recently participated in SideFX’s first HOULY Challenge, a month long marathon to submit a new Houdini artifact daily. Each submission was developed and rendered in less than a day, so some entries are a little rough.

Most of my initial submissions were rendered in Mantra, but the last week of submissions use Renderman.

Submission Contact Sheet

By submitting every day and on time, I qualified as an iron heart winner too, yay!

Submissions (click the thumbnails to view the source video/image)

A few of the submissions used Renderman, so I’ll throw the watermark here 🙂

Romanesco GPU Fractal Renderer

Romanesco GPU Fractal Renderer

by tomminor 0 Comments

Overview

  • Renders SDF fractal surfaces defined by a user defined ‘hit kernel’
  • Outputs EXRs with color, position, depth, normal, iteration count, orbit trap (optional) layers – Ready to composite in Nuke!
  • Powered by the NVIDIA Optix framework
  • Convenient command line settings for batch rendering

Download

Examples


Used On ‘Contact’ – 3rd Year Major Project

BFX Charity Short: “Pixelbusters”

BFX Charity Short: “Pixelbusters”

by tomminor 0 Comments

I was lucky enough to compete in the 7 week national student competition BFX to produce a short 30 second animated film for a charity, we took a little bit longer to get everything finished but I’m happy with how it turned out!

My roles included

  • Pipeline
    • Required me to write Python/Bash based tools to automate rendering tasks, such as handling the uploading of assets to the renderfarm and submitting the job on the farm itself.
    • Configure SVN on a network drive and encourage the team to use it as a remote backup/version control system.
  • Shading/Lighting TD
    • Shader development & look development for the characters/environment.
    • Lighting multiple shots.
    • Our renderer of choice was Renderman 20.9 (RIS mode).
  • Compositing
    • Involved pulling in the various render AOVs/LPEs and putting everything together.
    • Final grading tweaks.
  • Director

This was my first time using Renderman for a full animation; while we did run into some bugs that caused us some pain, I would hope they wouldn’t happen again now I have more experience with it. I had a lot of fun lighting in it 🙂

Final Major Project: Contact

Final Major Project: Contact

by tomminor 0 Comments

‘CONTACT’ is a near 3 minute long VFX sci-fi short, showing an astronaut’s state of mental decay after experiencing an encounter with a 5th dimensional being while in orbit. The team worked hard to create over 80 CG assets, 3 digital environments, and a bespoke fractal render engine for the evolving tunnel sequence at the height of the piece. Over 26 shots were composited into these built environments and costumes, fleshing out the narrative and blending together the live-action and the digital elements of the film.

 

Fabric Engine Cloth Simulation

Fabric Engine Cloth Simulation

by tomminor 0 Comments

Why Fabric?

For my 3rd year programming assignment I wanted to find something fun to build – soft body dynamics sounded like a great start :). I’ve also heard good things about Fabric Engine all year and figured I’d have a go at combining the two since (as far as I can tell) noone else has done so, besides the Bullet bindings inside Fabric.

Demo

Workflow

The recommended workflow for adding new systems to Fabric is to create an extension that defines all the custom structures/objects/interfaces in KL. These can then be easily distributed and imported into other extensions or directly into Canvas, where they are exposed as graph nodes that can be chained together.

Although there are plenty of tutorials explaining how to do things purely in Canvas or purely in KL, I found it difficult to find thorough explanations of best practices for things such as writing extensions that will be used in canvas. A lot of time was spent experimenting with what Canvas can do, as it is the main entry point to doing anything in Fabric (and Fabric Splice is deprecated, so going KL only isn’t possible).

Implementation

For the sake of time I’ve only focused on a very simple spring constraint setup that uses Verlet integration. Right now it only works properly on grid objects, I didn’t have time to implement the topology based constraint setup I planned to use.

Github Source

You can grab the extension code here, it’s still in a rough state and is untested in anything above Fabric 2.1.0 but it should work.

TomMinor/ClothSimulation-FabricEngine

Experimenting with GLSL Fractals

Experimenting with GLSL Fractals

by tomminor 0 Comments

As preparation for my upcoming Major project, I’ve been looking into fractals. Specifically, how to calculate them in a shader in real-time.

2D Mandelbrot/Julia

You can read about my experiments with 2D fractals here.

Raymarching 3D Mandelbulb

Recently I’ve moved onto rendering 3D fractals, in preparation for a fractal lookdev tool I will be developing for my Major project. You can see the result of raymarching in a GLSL shader embedded in Qt here:

Windigo Game – Group Project

Windigo Game – Group Project

by tomminor 0 Comments

A group assignment I directed during my 2nd year, we developed an atmospheric survival horror game about the mythical Windigo.

In addition to directing responsibilities, I was in charge of pipeline (we used a Perforce setup with a remote server to version assets) and engine level C++ programming (primarily core gameplay features and supporting the AI developer with whatever engine features they required).