Skip to content

Instantly share code, notes, and snippets.

Jed Smith jedypod

Block or report user

Report or block jedypod

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@jedypod
jedypod / ColorTracker.nk
Last active Oct 19, 2019
ColorTracker: A wrapper for the CurveTool, which allows you to analyze color change over time of an input, and apply that data to a grade in matchmove or stabilize mode around a specified reference frame. Because I am bad at remembering math.
View ColorTracker.nk
Group {
name ColorTracker
addUserKnob {20 ColorTracker}
addUserKnob {26 instructions_text l <b>Instructions: T "1). Stabilize your plate around the area you want to track\n2). Crop your plate to just the area you want to analyze\n4). Press Track Color to analyze the footage\n5). Create a matchmove or stabilize grade, and specify your reference frame\n6). You can scale the curve around a specified pivot value on the grade node \n using the color_pivot and color_mult knobs in the ColorTrack tab"}
addUserKnob {26 ""}
addUserKnob {26 label_trackcolor l "<b>Track Color" T " "}
addUserKnob {41 track_color l "Track Color" t "This button will track the color change over the specified framerange and put the data into the intensitydata knob." T CurveTool.go}
addUserKnob {41 intensitydata T CurveTool.intensitydata}
addUserKnob {26 ""}
addUserKnob {26 label_apply_color_track l "<b>Apply Track" T " "}
@jedypod
jedypod / README.md
Last active Oct 17, 2019
Nuke ffmpeg Render
View README.md

Nuke ffmpeg Render

Writeffmpeg is a python script and a node that allows you to render from Nuke directly into ffmpeg. Instead of a 2 step process where you render from Nuke to a temporary image sequence that you then transcode using ffmpeg, this solution writes to a single uint16 cache tiff file and this data gets piped into ffmpeg.

I've included a little screen recordingto help demo how it works.

Files

ffmpeg_render.py Writeffmpeg.nk

Dependencies

View link_tools.py
@jedypod
jedypod / DAILIES_CONFIG.yaml
Last active Oct 7, 2019
Tool to pipe openexr images, apply an ocio display, and output through a bash pipe to ffmpeg and encode to mov
View DAILIES_CONFIG.yaml
globals:
###############################################
## Color
###############################################
# Path to the ocio config to use
ocioconfig: /opt/ocio/aces/config.ocio
# ocio display transform
ociodisplay: ACES
@jedypod
jedypod / PlanarProjection.nk
Last active Oct 2, 2019
PlanarProjection Planar Projection Generates 2D coordinates for points in 3D space. Works on 4 points at once, is instantaneous to calculate, and generates a 4x4 transform matrix for use in rotos.
View PlanarProjection.nk
set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name PlanarProjection
help "<b>Planar Projection</b>\nGenerates 2D coordinates for points in 3D space. Type in 3D point coordinates, or use vertex selection in 3D viewer and click set to pick average of selected points, or set points to set all four points at once. \n\nYou can connect node output to scene together with your pointcloud or geometry and see where your points are located in 3d space. Double click any of them to move it in 3d space like any traditional nuke transform control. \n\nA matrix transform is also generated to be used with RotoPaint, SplineWarp and GridWarp nodes. If you are using matrix in GridWarp, points have to be in clockwise order, pick them one by one! \n\nCommand set points doesn't respect selection order! \n\nCheck out the demo video on my website! Kudos to Ivan Busquets for help with matrix math. \n\n-- developed by Vit Sedlacek 2012 www.vitsedlacek.com \n\n-- Modified by Jed Smith to make calculation time nearly inst
@jedypod
jedypod / _Dockerfile
Last active Sep 22, 2019
Compile Krita 4.2.5 on Centos 7.6 using Docker
View _Dockerfile
# Dockerfile
FROM centos
LABEL maintainer="JED"
ENV HOME /root
WORKDIR $HOME
RUN yum update -y && yum clean all
@jedypod
jedypod / Dockerfile
Last active Sep 2, 2019
Compile Blender 2.8 on Centos 7.6 using Docker
View Dockerfile
FROM centos
LABEL maintainer="mattias.ohlsson@inprose.com"
ENV HOME /root
WORKDIR $HOME
RUN yum update -y && yum clean all
# Install packages
@jedypod
jedypod / TonemapFilmic.nk
Created Jan 24, 2016
Tonemap Filmic - Implementing John Hable's Filmic Tonemapping algorithm as a Nuke gizmo.
View TonemapFilmic.nk
Group {
name TonemapFilmic
help "Implementing John Hable's Filmic Tonemapping algorithm as a Nuke gizmo.\n\nhttp://filmicgames.com/archives/75\nhttp://www.slideshare.net/ozlael/hable-john-uncharted2-hdr-lighting\n\n## Filmic Tonemapping\nA = Shoulder Strength\nB = Linear Strength\nC = Linear Angle\nD = Toe Strength\nE = Toe Numerator\nF = Toe Denominator\n\tNote: E/F = Toe Angle\nLinearWhite = Linear White Point Value\n\nF(x) = ((x*(A*x+C*B) + D*E) / (x*(A*x+B) + D*F)) - E/F\nFinalColor = F(LinearColor)/F(LinearWhite)\n\nA = 0.22\nB = 0.30\nC = 0.10\nD = 0.20\nE = 0.01\nF = 0.30\nLinearWhite = 11.2\nThese numbers are assuming linear source data."
addUserKnob {20 Tonamap l Tonemap}
addUserKnob {26 ""}
addUserKnob {7 exposure t "Adjust the exposure before the tonemap in stops." R -4 4}
addUserKnob {41 shStr l "Shoulder Strength" T Expression_Filmic_Tonemap.shStr}
addUserKnob {41 linStr l "Linear Strength" T Expression_Filmic_Tonemap.linStr}
addUserKnob {41 linAngle l "Linear Angle" T Expression_Filmic_T
@jedypod
jedypod / CornerPinOffset
Created Aug 3, 2019
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.
View CornerPinOffset
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 / ExposureBracketBlend.nk
Last active Jul 15, 2019
Nuke node to automate the blending of multiple bracketed exposures into a single high dynamic range hdr image. Includes a script to sort the input nodes based on exposure time.
View ExposureBracketBlend.nk
set cut_paste_input [stack 0]
BackdropNode {
inputs 0
name BackdropNode4
tile_color 0x7f7f7f01
label "Self contained python"
note_font_size 25
selected true
xpos -1456
ypos 883
You can’t perform that action at this time.