Pixelfudger v3.2
This location is for Registered Users Only.
Perhaps you need to login or register.
14.0, 13.2, 13.1, 13.0, 12.2 or later
Linux, Mac, Windows
Pixelfudger suite by Xavier Bourque
(updated November 18 2023)
PxF_Nukebench: There is a new beta version available that fixes bugs with hardware reporting that prevent the test to run on some machines (mainly Apple M*). Please download and try the beta and let me know in the comments if it works for you.
http://pixelfudger.com/downloads/PxF_Nukebench_101b.zip
(updated November 17 2023)
What's new in v3.2 (november 2023)?
*New Tool!*
PxF_Nukebench v1.0
- PxF_Nukebench measures your computer's real world performance in Nuke (CPU, GPU and Disk speed).
- The results of the 'simple' one-click test can be shared online to compare your own workstation with others in the Nuke community. Please contribute! :)
- Advanced tests can be done to identify bottlenecks in your system or to quantify performance differences between configurations (hardware, OS, Nuke version, file type, etc...)
- Tests include:
- CPU test (ScanlineRender)
- GPU test (ZDefocus)
- GPU test (Inference)
- WRITE test (Multiple file formats and resolutions)
- READ test
- READ to Viewer test
*New Tool!*
PxF_DeepMask 1.0
-Mask or Stencil deep samples using an alpha channel (a roto shape for example).
-Feather the effect according to depth.
-Stays in Deep for the whole operation! (Doesn't convert the Deep pixels to RGBA.)
*New Tool!*
PxF_DeepFade 1.0
-Fade the opacity of Deep samples according to their distance.
-Useful when a camera is going through semi-transparent textures for example.
-Separate controls to fade close and far samples (similar to 'limit_z' in DeepColorCorrect).
*New features!*
PxF_VectorEdgeBlur v2.0
- Version 2.0 includes a new method to combine the motion blur and the original image. The transition between the original image and the motion blur image is now smoother.
- New 'edge mix' knob to adjust the transition between original image and motion blur.
- New 'edge offset' knob to 'grow' the motion blur outwards to match real plate motion blur when using a hard matte.
- 'Edges only' has been renamed 'Original image on top'.
*New features!*
PxF_TimeMerge v1.1
- Added 'average' blend mode.
- Added 'fade out' option to fade frames according to time offset.
- Added 'fade gamma' to adjust the progression of the 'fade out' effect.
- Added 'effect only' switch to hide the current frame and keep the motion trail only.
*New features!*
PxF_DeepDefocus 1.1
- Added 'automatic deep slices' mode to mimic the behaviour of the Bokeh node.
- Added internal 'Inpaint' to extend the depth channel for cleaner edges when the FG is defocused.
- Added a 'view type' to choose between deep slices, zdefocus layers or focal plane view.
- Exposed controls for ZDefocus layers. Increase the layers to avoid 'stutter' when animating the defocus.
- Added a 'camera pick' button to get focal length, filmback size and fstop (optional) from a selected camera node.
- Changed default mode to 'Bokeh'
- Added option to keep pixels living in the bounding box outside of frame.
- Changed the order of deep slices (back to front instead of front to back)... disjoint-over should look cleaner now.
- Changed default merge operation to 'disjoint-over'
*New features!*
PxF_ZDefocus 1.1
- Enabled option to keep pixels living in the bounding box outside of frame.
- Changed default to Bokeh mode.
- Exposed controls for ZDefocus layers.
- Added a 'view type' to choose between result, zdefocus layers or focal plane view.
- Added internal 'Inpaint' to extend the depth channel for cleaner edges when the FG is defocused.
- Added a 'camera pick' button to get focal length, filmback size and fstop (optional) from a selected camera node.
PxF_EnvLight v1.0.1
- Now skips lights when the map is black. This should speed up rendering for sky domes with partial coverage (ex: half sky domes).
- Removed leftover expression on 'disable' knob of internal Sphere1 node. This should remove error messages from the console.
- Default EnvLight now has some 'typical sky' values so you can get a result even without a light map.
- Disabled auto-sample when connecting the 'map' input, the feature was too flaky. Use the 'Sample Lights' button instead.
PxF_GeoLight v1.1
-Added option to sample every Nth vertex in the geometry to speed up rendering/interactivity when using dense geo.
PxF_KillSpill v2.5.4
-Fixed bug that applied a multiplication to non-RGBA layers
PxF_Grain v1.1.1
-Added white alpha to internal Grain node to workaround Foundry bug that enables 'Apply only through alpha' randomly.
PxF_SmokeBox 1.0.3
- Remove Extra RGBA option. Please use PxF_DeepFade instead of DeepColorCorrect to fade your cards.
- Adjusted the range of the color gain slider.
Multiple nodes:
When relevant, a warning is now shown to alert users that some functionality might be disabled
because of Foundry's limited Python functionality. Relevant knobs are now disabled automatically
when running in NC/Indie mode.
These nodes have limited functionality in Nuke Non-commercial / Indie:
PxF_DeepResample
PxF_DeepDefocus
PxF_IDefocus
PxF_SmokeBox
PxF_TimeMerge
PxF_AreaLight
PxF_EnvLight
PxF_GeoLight
PxF_RingLight
PxF_TubeLight
PxF_Filler
What's new in v3.1 (march 2023)?
PxF_SmokeBox
- Changed the default to build XYZ card stacks instead of Z only so that the node is somewhat useable in NC and Indie.
- Replaced internal camera with an axis and added it to a dummy scene connected to the output of the group to work around a Foundry world matrix bug in Nuke 14.
- Added the option to output texture to the ExtraRGBA layer to work around Foundry bug 537470 - DeepColorCorrect breaks when using limit_z on RGBA layer.
PxF_IDefocus
- Added 1px crops to fix Convolve errors (texture jumping when animating size). Thanks to Nikolai Wüstemann for finding the solution!
PxF_VectorEdgeBlur
- Deleted Viewer node in the group that was throwing errors for some users using OCIO.
Various nodes
- Deleted Viewer nodes that were left inside groups.
What's new in v3.0 (january 2023)?
Tutorial videos for every Pixelfudger tool!
Each gizmo now has a link in the credits to go to a YouTube video explaining in detail how to use each gizmo.
If you need help installing Pixelfudger3, you can find a tutorial video here.
You can also browse all the Pixelfudger videos in this playlist on Pixelfudger's YouTube channel … don't forget to subscribe while you're there.
12 NEW Gizmos!
PxF_DeepResample, PxF_DeepDefocus, PxF_IDefocus, PxF_ZDefocus, PxF_SmokeBox, PxF_Smoother, PxF_TimeMerge, PxF_VectorEdgeBlur, PxF_AreaLight, PxF_EnvLight, PxF_GeoLight, PxF_RingLight, PxF_TubeLight. (See below for descriptions).
Updates to classic Pixelfudger gizmos:
- Added 'mix' knobs to most gizmos.
- Added hyperlinks in credits. Tutorial videos can be accessed in one click for each gizmo.
PxF_MergeWrap
- New secondary front and back wrap for finer control.
- New mask input can be used to limit the wrap to some areas only... or mask the entire merge operation (like the mask input on a merge node).
PxF_Grain
- New 'ganged' controls to adjust all 3 RGB values at once.
- New mask gamma control to adjust the amount of grain in the semi-transparent areas of the mask.
- Turned off 'apply only through alpha' on the internal grain node.
- Added saturation control to adjust the amount of chroma noise.
- Changed the default response curve to have less grain in the highlights by default.
PxF_ChromaBlur
- Individual control per channel.
- Can convert to any intermediate colorspace, not just YCrCb.
- Added Inf/nan filter.
PxF_HueSat
- Can now choose between HSL, HSV, and CIE-LCH as intermediate color spaces to use for Hue/Sat operations.
PxF_ScreenClean
- Changed the default screen color to pink to remind the user to pick a color from the plate! :-)
PxF_Bandpass
- Added a Pre-bandpass black/white clamps.
PxF_Distort
- Mask input can now modulate the amount of distortion OR opacity.
- Changed the default amount to make it closer to a 'good' amount for edge extend use.
PxF_Erode
- Option to choose between RGBA erode or alpha only.
PxF_Line
- Changed the default GL color of the paint stroke to orange to make it easier to see.
What's new (January 2015)?
- Added new features to PxF_Erode to allow shrinking and growing of the alpha including 'auto' management of unmult/premult.
- Fixed a bug in PxF_Filler where the in-filled area would get white streaks sometimes, often after using a blur on the hole mask.
What's new (November 2014)?
-Fixed a bug that crashed Nuke when paint strokes were edited upstream of PxF_Distort
-Fixed bugs in PxF_Filler and PxF_IDefocus that prevented node internals from being re-built when the user changed the number of iterations.
What's new (August 2012)?
- PxF_IDefocus for variable blur/defocus/convolves.
- Updated 'help' and 'tooltips'.
- Nodes now in fudgetastic brown.
What's new (March 2012)?
- Most nodes have a mask input that should behave like the 'side' input on Nuke nodes.
- PxF_Filler now has directional control.
- New nodes: PxF_Grain, PxF_Line, PxF_MergeWrap
- Various bug fixes and improvements.
Extract detail from an image by enhancing mid-frequency detail.
Useful to enhance an image for easier tracking.
Tutorial video here.
Blur chroma only.
Useful to blur chroma artifacts in digital video.
Tutorial video here.
COMPLETELY RE-WRITTEN FOR V3 - JANUARY 2023
Variable blur / defocus / convolve from an arbitrary control channel.
Lens simulation has been moved to a separate gizmo (PxF_ZDefocus).
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Better, more user-friendly, front-end to Foundry's ZDefocus node.
Includes lens simulation - accurately simulate defocus using lens focal length, f-stop and sensor size.
More options than the built-in ZDefocus node to fine-tune your bokeh (noise, chroma aberration, etc..)
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Defocus Deep images.
Properly reveal background objects when the foreground becomes transparent/out of focus. (Requires full Deep RGBA image).
Includes lens simulation - accurately simulate defocus using lens focal length, f-stop and sensor size.
More options than the built-in ZDefocus node to fine-tune your bokeh (noise, chroma aberration, etc..)
Compatible with Nuke 12.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Reduce the amount of samples in a Deep Image for smaller file sizes on disk and faster processing.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
Distort your image to simulate reflections/refractions.
Also used to 'inflate' an image to fix small edge issues on keyed/roto'd images.
Tutorial video here.
Shrink or 'chew' the edges of an RGBA image.
Tutorial video here.
Gaussian in-fill with directional control and unlimited number of iterations.
Useful to remove markers and create clean plates.
This node has essentially been replaced by the built-in Nuke Inpaint node.
It is still part of the package for legacy reasons and to support users using Nuke 11 and below.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
Similar to the built-in Nuke Grain node, with several improvements:
ColorLookup to adjust luma response curve (i.e. more grain in the shadows, less in the highlights, etc…)
Ganged controls to adjust R,G and B values all at once.
Saturation control to adjust the amount of chroma noise.
Mask input and mix knob.
Tutorial video here.
Simple Hue and Saturation correction.
Can adjust in HSL, HSV or CIE-LCH colorspaces.
Tutorial video here.
Remove red, green or blue spill from an image.
Tutorial video here.
Merge and Edge Wrap in one simple operation.
Now includes primary and secondary wraps for even finer control.
New mask input can be used to limit edge wrap to only some areas of the frame.
Tutorial video here.
Repair screen imperfections with a clean plate for easier keying.
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Simulate 'volumetric' noise in Nuke's 3D environment.
Never see the cards 'sideways' by automatically fading the cards when not facing camera.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Filter mid-frequencies to make surfaces look smooth without killing small high-frequency details.
Useful for skin touch-ups among other things.
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Alternative to the built-in Time Echo node.
Offers more blend modes (over, under, min, max, plus, from, divide, multiply).
Allows to blend with past or future frames and to skip frames.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Adds motion-estimated motion blur to the edges.
Improves the quality of roto or difficult keys.
Similar to RSMotionBlur.
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Light geometry directly inside of Nuke using HDRI spherical light maps.
Works with ScanlineRender but RayRender (included in Nuke) is recommended for shadows and reflections.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Light geometry directly inside of Nuke using an Area Light.
The Area Light can be a simple white square or a more complex texture.
Works with ScanlineRender but RayRender (included in Nuke) is recommended for shadows and reflections.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Light geometry directly inside of Nuke using a Tube light.
Works with ScanlineRender but RayRender (included in Nuke) is recommended for shadows and reflections.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Light geometry directly inside of Nuke using a Ring light.
Works with ScanlineRender but RayRender (included in Nuke) is recommended for shadows and reflections.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
NEW NODE FOR V3 - JANUARY 2023!
Light geometry directly inside of Nuke using a Geo light.
Any low-resolution geometry can be used to shape the light source.
Works with ScanlineRender but RayRender (included in Nuke) is recommended for shadows and reflections.
Not compatible with Nuke Non-Commercial (requires full Python support).
Tutorial video here.
Comments
https://youtu.be/miC-x1zLor0
thnx a lot for shariing with us...
G8 one
just noticed that there seems to be a bug in the knobChanged code for PxF_Filler. If you try to change the iterations you get an TypeError and no nodes are built internally. Updating line 17 to for x in range(1, int(slices+step )) seems to fix the issue.
Thanks for sharing, been using your tools for years :).
the grain node doesn't appear for me. Am I doing something wrong?
https://youtube.com/playlist?list=PL0ex-VZr1W8hBql048N-SWfflgNgYQYX9
Wanted to report a bug with PXF FILLER v 3.0.4. You get artifacting streaks when using specific angle value.
This is what I did. Create a checkerboard of format 3424x2202 pixel aspect ratio 2.
1. Create pxf filler and attach img input to checkerboard.
2. Create a roto and set it to same format and connect to hole mask input.
3. Draw a random roto shape in the middle anywhere.
4. Set value in angle of pxf filler to -60. You should see some weird streaking. I can post picture if you seek.
Tried on default formats like 1080 and all and it works well. I am assuming it breaks because this format is very wide? Please do lemme know if you post a fix.
Thank you again for a set of incredibly robust and powerful tools that have become a bread and butter of this industry. :)
We found out that the reason it does that is because of anamorphic pixel aspect ratio of 2. It doesn't break if we use any resolution with pixel aspect ratio of 1. So a quick fix might be to set pixel aspect ratio to 1 before any inputs enters pxf filler and set it back to 2 at the end of the node and have a utility always check the input pixel aspect ratio value. If its 1 do nothing, if its 2 do this fix kind of code.
Thanks again Xavier, love your tools!
greatjob..
thanks
You can achieve the same look as IDefocus using the built-in ZDefocus node... it's just more annoying to setup:
Copy your control channel in the depth.Z channel with a Copy node.
Math = direct
filter type: disc = defocus, bladed = bokeh, image = custom bokeh from filter input, disc + filter shape 0 = gaussian blur
You still wont be able to change the default number of cards (10x10x10) because of Python limits in Non-Commercial.
I found one hiccup with PxF_IDefocus though:
The image overall is slightly offset when certain values are set. For example, I am creating a sharp-ringed bokeh using the node and set a max size of 8 pixels. When I switch to 7 pixels, the whole image shifts a bit.
I see that you are already doing some good treatment on the bokeh kernel, getting it to an odd number of pixels in width and height, so Convolve behaves correctly. But sometimes the bounding box is uneven and therefore resulting in the image shift. I solved it for me by adding a crop under each transform/refor mat stack, that is set to -1, -1, width+1, height+1, allowing exactly one pixel of bounding box and not more.
one solution is to change their channels to rgb
or to switch the input of ShuffleCopy1, and shuffle the rgb and not the alpha
If you can give me replication steps to your problem I'll give this another look. Thanks!
the multiply nodes are affecting more then rgba, so using a killspill on a cg render is affecting the depth for exemple
Have one question regarding PxF_ZDefocus, there is one glitch that keeps bugging me but can't figure out if it is me setting it wrong or something inside maths not working correctly.
It has occasional jumping affect, mainly noticeable when doing change of focus on lights. Instead of smooth transition, it occasionally jumps/staggers and I can't figure out how to fix that. The only thing I animate is Focal Plane.
There seems to be some sort of clash between Focal Plane and Size animating at the same time that causes it.
Any idea how I can fix that?
i am on nuke 13.2v2
To reproduce
1 take a color wheel
2 conect a roto as a kernel and a ramp as map
3 Gamma up the result you will see banding rolored artefact only on the latest version
4 compare the 2 version of the tool
Quote:
What OS? (Windows, Linux, Mac?)
What version of the OS?
What version of Nuke?
Did you get anything in the report window at all?
Did any test start to run or you didn't get that far?
The CMD window had the following show up:
Traceback (most recent call last):
File "C:\Program Files/Nuke14.0v 5/plugins\nuke_ internal\callba cks.py", line 173, in beforeRender
_doCallbacks(be foreRenders)
File "C:\Program Files/Nuke14.0v 5/plugins\nuke_ internal\callba cks.py", line 46, in _doCallbacks
f[0](*f[1],**f[ 2])
File "C:/Users/Lucas /.nuke/menu.py" , line 200, in CreatePath
os.makedirs (osdir)
File "C:\Program Files\Nuke14.0v 5\python39.zip\ os.py", line 210, in makedirs
head, tail = path.split(name )
File "C:\Program Files\Nuke14.0v 5\python39.zip\ ntpath.py", line 185, in split
p = os.fspath(p)
TypeError: expected str, bytes or os.PathLike object, not NoneType
Traceback (most recent call last):
File "", line 211, in
File "", line 136, in runNCtests
RuntimeError: expected str, bytes or os.PathLike object, not NoneType
Thanks for reaching out!
PxF_SmokeBox.Card26.pivot_translate: no such knob
PxF_SmokeBox.Card26.-0.5 -0.5 0: no such knob
I'm using nukeX 13.1
RSS feed for comments to this post