Deep2VP suite v2.0

This location is for Registered Users Only.
Perhaps you need to login or register.
Contributor: Mark Joey Tang
Deep2VP suite is a toolset to convert deep data to world space position, support single layer or volumetric of deep data. Now it has 5 nodes in total in this suite: DeepToPosition, DeepPositionToImage, DeepVolumeMatte, DeepVolumePattern, DeepVPCamProjection The zip included all toolset in gizmo and group format, demo script.
11.0, 10.5 or later
Linux, Mac, Windows
26 May 2019


*New Demoreel v2.0* :



- updated deepPosition to non-filtered.
- removed deep2vpBuffer channel in output.
- enhance code and setup.
- Pointcloud preview avaliable.
- no more colorpicker mode, replaced position sample in 2D.
- no more 2D output, consistance with deep output only.
- geo matte able transform in 3D space without extra any axis node.
- added snap geo matte to point inside the tool.
- enhance code & setup.
- fix pixel filter.
*NEW* DeepVPCamProjection added
- Need to use after DeepToPosition.
- Input of the node is deep (required deepPosition channel).
- output of the node is 2D image, no deep output.
- pointcloud preview available under 3d view.
- 3 output options. (wrapped texture+source, wrapped texture, uv)

- 'DeepVolumeMatte' fix when gizmo render on farm

- 'DeepVolumeMatte' colorpicker mode will show the matte in alpha channel.
- 'DeepVolumeMatte' when colorpicker mode is on, output will switch to 2D image. Able to use the matte on downstream without any deep to 2D image conversion. Label on the node will show the output format.
- Why 'DeepVolumeMatte' can get better matte than traditional position matte and cryptomatte? (check out the new line under introduction)

- fix 'DeepVolumeMatte' falloff issue (when falloff lower 0.5, color will get darker)
- added color sample picker mode in 'DeepVolumeMatte' node (see image below)

- fix filter issue on 'DeepVolumeMatte' (see image below)
- fix alpha = 0 remove ample expression (DeepVolumeMatte & DeepVolumePattern)

- revert DeepVolumeMatte default setting (removed linked expression)

- DeepVolumePattern updated fix the expression of stripes for Nuke11.1v6
*Thanks Elizar Knyazev report.

whole toolset
- rename channel deepColor to deepRawColor. Keep consistancy of my tools.

- optimize setup
- fix xform_order bug
- support camera with axis transfrom
- added tooltips
- fix the sphere 3D falloff issue only cube support 3D falloff now
- added cylinder matte
- geo mattes are visible in 3D view
- added invert matte
- optimize code/setup
- added tooltips
- updated setup
- added fBm, turbulance, stripes, ripples and rays pattern type
- node changed to 'DeepVolumePattern'
- added tooltips
- channel update pair with DeepToPosition

- the bot function of 'deepToPosition' & 'deepVolumeMatte' support inside any level of the script (group)




Deep2VP suite is a toolset to convert deep data to world space position, support single layer or volumetric of deep data. Create Position matte in real volume deep data with falloff. Create 3D algorithms in deep with generated deepPosition.

This tool will not generate any extra deep samples, so it won't slow down the nuke script.

The zip included all toolset in gizmo and group format, demo script.

*Beware: before Nuke11, DeepExpression has some strange behavior, thanks Foundry to fix most of them in Nuke11. So this tool is only work and tested in Nuke11. If you are using lower version, this tool will not work probably.

This toolset package included 4 nodes. Following is the decription of each :

  • DeepToPosition
    Input is deep, output is deep. This node is the core of this toolset, it will convert all deep data to world space position. Select the camera and click 'Link to selected camera. These data need to be same as the input deep render. Position data will be generated under 'deepPosition' channel.

  • DeepVolumeMatte
    Input is deep, output is deep. This node will create matte from sphere, cube or cylinder matte shape with falloff in deep. If you are familiar position matte, yes, this is doing the same job but support in deep volume. Sphere and Cylinder only support global falloff, Cube can do xyz separation falloff.

  • DeepVolumePattern
    Input is deep, output is deep. This node will create 3D algorithms in deep and support in volumetric as well. It has 7 types of patterns can be select, they are : fBm, turbulence, noise, random, stripes, ripple and rays.

  • DeepPositionToImage
    Input is deep, output is 2D. The regular deepToImage cannot handle well 3D data with volumetric and transparency, so this tool fixes the problem if user want to bring deepPosition to 2D downstream. Deep data can be find under 'deepPosition' channel.
  • DeepVPCamProjection
    Input is deep, output is image. This node is using deep data to create camera projection. Project image aspect ratio defined by tex input resolution. Falloff is base on project camera's depth. It helps for CG render fix by 1 frame projection. Support 3 difference output, wrapped texture + source, wrapped texture, and UV. 3D preview avaliable when panel is active.

Why 'DeepVolumeMatte' can get better matte than traditional position matte and cryptomatte?
It is because the advantage of deep samples workflow. Non-filtered Position is equal to deep sample data, filtered Position is equal to alpha channel. Traditional position matte or cryptomatte have couple edge problems on filtered neither non-filtered data. Deep data can access both data to calculate more accurate matte with sub-pixels without hacky solution.
for more details, please check out here :


deepPosition pass converted by deep data using DeepToPosition


3 toolset avaliable in this suite

all tools

Deep2VP flowchart


This demoscript included in the zip.



Please login in order to download these files.


+1 # MARK PINHEIRO 2018-12-16 11:46
+1 # yuri carrara 2018-12-22 11:57
I believe the deep expression functions you are using here are available from 11.0/11.1 only
# Mark Joey Tang 2018-12-26 19:56
yes, when I submit, I checked 11.0 only, but it still display 10.5. that's why I highlight 11.0+ in description
+1 # Elizar Knyazev 2019-04-04 14:46
Thank you for usefull setups. Seem like DeepVolumePatte rn v1.3 didn't work in stripes mode. Nuke 11.1v6
"DeepExpression 9: nothing named 'status_x' "

I edit expressions from status_x to [value status_x] instead and get it workin now.
# Mark Joey Tang 2019-04-06 03:46
Updated to 1.4 with your info.
Thank you for the report and the fix.
+1 # Eilef Sandnæs 2019-05-08 19:41
Nice! Great job making these!!!! :D
+1 # Alexey Kuchinski 2019-05-25 19:56
Hi Mark.
exactly what i needed for my CardToTrack,
Was looking for the way to convert deep to world position.
will it be okay if i will use part of your setup in my gizmo.?
i will leave huge credit backdrop i promise! :lol:
# Mark Joey Tang 2019-05-26 06:24
No problem. :)
Just updated 2.0
# Alexey Kuchinski 2019-05-26 09:22

You have no rights to post comments

We have 2201 guests and 61 members online