Skip to content

Instantly share code, notes, and snippets.

@jedypod
jedypod / CornerPinOffset
Created August 3, 2019 00:57
CornerPin node with offset controls for each corner. Useful for tweaking cornerpin after all keyframes are baked (e.g. , from a tracker), in case you need to cheat the perspective or something else.
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name CornerPinOffset
tile_color 0x9073adff
addUserKnob {20 PinControl}
addUserKnob {26 CornerPinControls l "" +STARTLINE T "<font size=5><b>Corner Pin Data</b></font>"}
addUserKnob {20 CornerPinData l "" +STARTLINE n 1}
addUserKnob {41 to1 T cpMaster.to1}
addUserKnob {41 enable1 -STARTLINE T cpMaster.enable1}
@jedypod
jedypod / _Dockerfile
Last active September 22, 2019 02:49
Compile Krita 4.2.5 on Centos 7.6 using Docker
# Dockerfile
FROM centos
LABEL maintainer="JED"
ENV HOME /root
WORKDIR $HOME
RUN yum update -y && yum clean all
@jedypod
jedypod / Dockerfile
Last active September 2, 2019 02:51
Compile Blender 2.8 on Centos 7.6 using Docker
FROM centos
LABEL maintainer="mattias.ohlsson@inprose.com"
ENV HOME /root
WORKDIR $HOME
RUN yum update -y && yum clean all
# Install packages

Compile GafferCycles with OIDN

Trying to compile the [https://github.com/boberfly/GafferCycles/tree/oidn](oidn branch of gafferCycles) to get OpenImageDenoise working in Gaffer.

# Compile with vfx reference platform docker
docker run -it --mount type=bind,source=/pod/sw/compile/gaffercycles,target=/root --mount type=bind,source=/opt,target=/root/opt --entrypoint /bin/bash gaffercycles-1

# Set up env
export GAFFER_ROOT=~/opt/gaffer/gaffer
@jedypod
jedypod / connect_to_closest.py
Created November 6, 2019 15:04
Nuke python script to connect each selected node's 0th input to the nearest node.
"""
# Add to menu.py
import connect_to_closest
nuke.toolbar('Nuke').addCommand('Edit/Node/Connect Multiple', 'connect_to_closest.run()', 'meta+shift+y', shortcutContext=2)
"""
import nuke
import math
@jedypod
jedypod / DefocusSwirlyBokeh.nk
Last active June 8, 2022 04:37
Creates Defocus with Swirly Bokeh aka Cat's Eye Bokeh. Based on Alexander Kulikov's CatsEyeDefocus: www.nukepedia.com/blink/filter/catseyedefocus.
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name DefocusSwirlyBokeh
tile_color 0xb16f43ff
addUserKnob {20 DefocusSwirlyBokeh}
addUserKnob {6 usegpu l "use gpu" t "You REALLY need a good GPU to use this node effectively. With CPU it will be excruciatingly slow." +STARTLINE}
usegpu true
addUserKnob {7 size l "bokeh size" t "The size of your defocus." R 2 100}
size 25
@jedypod
jedypod / aftershot3_enable_dng_support.md
Last active October 17, 2020 15:19
Enable Adobe DNG Support in Corel AfterShot Pro 3

Enable DNG Support for Your Camera in Corel AfterShot Pro 3

AfterShot 3 does not support DNG files well, despite their claims to the contrary.

What if we need to use DNG files in our photo collection? There are valid reasons to need this, for example if you use Magic Lantern Dualiso raw files on your Canon camera and you need to use the DNG format to store the raw image after blending the exposures.

AfterShot does open DNG files if certain conditions are met. If you have specific supported cameras, AfterShot will open DNG files, but only if it has the right compression settings and metadata. The DNG file has to be uncompressed, and it must contain the Exif.Image.Model metadata matching a "known" camera.

Hack Your Own Camera Profile

  1. On the Aftershot Downloads Page there are AfterShot Pro Camera Profiles available for download.
@jedypod
jedypod / CalibrateMacbeth.nk
Last active March 20, 2024 14:52
Calibrate Macbeth: a Nuke tool to calibrate an image containing a Macbeth ColorChecker chart by calculating a ColorMatrix node that conforms it to a specified colorspace gamut.
set cut_paste_input [stack 0]
version 14.0 v2
push $cut_paste_input
Group {
name CalibrateMacbeth
tile_color 0x87aee7ff
selected true
xpos 197
ypos -199
addUserKnob {20 CalibrateMacbeth}
@jedypod
jedypod / BalanceGrade.nk
Last active December 4, 2022 14:50
BalanceGrade - A Nuke tool to neutralize and balance the color of multiple input plates. Can be used with the CalibrateMacbeth or mmColorTarget toolsets to calibrate gamut as well.
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name BalanceGrade
tile_color 0x6c9de1ff
addUserKnob {20 BalanceGrade}
addUserKnob {26 ColorMatrix_label l "@b;ColorMatrix" T " "}
addUserKnob {41 matrix T ColorMatrix.matrix}
addUserKnob {22 reset_mtx l Reset T "nuke.thisNode()\['matrix'].setValue(\[1,0,0,0,1,0,0,0,1])" +STARTLINE}
addUserKnob {26 ""}
@jedypod
jedypod / roto_python_examples.nk
Last active May 6, 2022 19:36
some examples for setting expressions in the python api for the nuke rotopaint system
set cut_paste_input [stack 0]
push $cut_paste_input
RotoPaint {
cliptype none
curves {{{v x3f99999a}
{f 0}
{n
{layer Root
{f 2097152}
{t x44800000 x44428000}