Deep2VP suite v2.8

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, 10.0 or later
Linux, Mac, Windows
23 Aug 2019


*New Demoreel v2.0* :




- fix DeepVPCamProjection's project z range animated issue.

- removed un-use expression in DeepToPosition

- fix premult issue on DeepVolumeMatte on Deep Output under Nuke10
  * Thanks Luddnel Magne test it out.
- corrected DeepVolumeMatte's shape on the menu. ( Nuke10 supported all shapes )

- Fix missing clamp in DeepVolumeMatte under Nuke10

- minor improvement. remove un-use channel

- All nodes in Toolset support Nuke10 & 11+. DeepVolumeMatte & DeepVolumePattern will have some features disable under Nuke10. All nodes will detect the current nuke version for these adjustment.
- All node optimized setup, may slightly performance improved. No more other channels will be created beside 'deepPosition'.
  - remove camera node class restriction. Able link to custom knobs
  - deep or 2D image output directly (hover knob tooltips for more details) (see image below)
  - correct falloff type of 'none' ('none' should be no falloff )
  - Nuke 10 ONLY ripple pattern available
  - deep or 2D image output directly (hover knob tooltips for more details )
  - replaced falloff knob
  - projection support bi-direction falloff
  - remove camera node class restriction. Able link to custom knobs
  - enhance nodes

- fix FOV algorithm
- remove 'tex aspect'

- fix the scale issue
- added projection aspect ratio settings : 'tex aspect' & 'camera FOV'
(Demo script added how to use camera FOV to patch CG with 1 frame)

- 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)




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.

This toolset package included 5nodes. 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 :


 2.5 update 
 This issue will happen when you are using DeepVolumeMatte in Nuke10, falloff lower than 0.5.
 v2.5 fix this issue. 

Screen Shot 2019-08-14 at 8.05.25 PM 


 2.3 update 
 SUPPORT Nuke10 & Nuke11 

Nuke 11 :
support all features.
Nuke 10 or below :
[Deep output] falloff only support 'none', 'linear', 'quadratic
[2D image output] no invert matte. But support all types of falloff. 

Nuke 11 :
support all features.
Nuke 10 or below :
Only ripple pattern available.




 2.1 update  
 Demo script added how to use camera FOV to patch CG with 1 frame  

Screen Shot 2019-05-30 at 2.34.16 AM



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
+1 # Alexey Kuchinski 2019-05-26 09:22
+1 # Oliver Banasiak 2019-05-31 12:32
Thanks so much for this! :) Will learn it ASAP!

You have no rights to post comments

We have 2489 guests and 98 members online