This Gizmo will sample an Image (PointPass[P]) and an Color-Image (for UVprojection)
for 3D-Position'Preview' (is also RENDERABLE)
Example: for ReLighting(3D) ...
The PositionPass come from 3D-App but you can also take the PlugIns from NFX(v1.x) - there is an PositionPass/Vector-Generator (with Depth-Image and Camera-Input) ...
It's "fast", but an Plugin (C++) would be faster ;-)
BUT, this Gizmo/PythonCode would run an all Nuke-Systems (Win, Lin, Mac & also on the most Nuke-Versions) *smile*
-> like the one from the Mumbai-MasterClass-Video (look at TheFoundryChannel on youtube)
THIS IS NOT THE MUMBAI-MASTERCLASS-PlugIn !!! -> this can handle a lot of Points/PointCloud (more than 10000, 1000000) [because this are 'only' GLSL-Code for Preview your Image-3DScene] and it would run much more faster (with many Points)
BUT THIS, PointCache3D, is/can:
*) RENDERABLE (with Material,Shader & Lighting)
*) SAVEABLE (as .obj-File) [for later use OR to 'play' with it in your 3D-App;-)]
THIS IS, WHY PointCACHE3D HAS IT'S NAME (CACHE) [and not PointCLOUD] --> it can save, render, ... (GLSL-Code is 'only' [momently] for PreViz)
[IT'S A FIRST (Preview)VERSION, but it works !!!]
In the zip-File there is also include the PythonScript (Source) and some Example-Images + an nk.-Script
v1.1.1EXCUSE ME, that the Gizmo wouldn't run
... Only the .nk-File ...BUT NOW -> IT WORKS ...
New in the 3DCOLLECTION-AddOn:
*) SampleImageMinMax (you have an Min & Max Value from all RGB-Channels -> for correct view of your zDepth/Float-File OR with expressions to Color-Correct-Nodes as 'Normalize')
When you use Nuke v4.x -> than it should work, when you take the Source-Scripts and run it in the Script-Console ... ;-) !?!?!?!
has new GUI-Layout (change your Gizmo-Layout from Simple to Full)
GeoWrite included -> for later use OR to visualize the PointCloud in your 3D-App
CALCULATE-Button -> to calculate the PointNumbers (before RUN)
AND IN THE POINTCLOUD3D-Gizmo is in label "xxx POINTS" & NEW the "Frame: x"-Number
(this is good, when you would say at Frame 1 make a PointCache3D and in Frame 12 a new/other PointCache3D -> for "moving" Frames -> VISUALIZE)
AND NEW as AddOn - the 3DCOLLECTION:
*) GrayScaleImage2NormalMap & GrayScaleImage2NormalMap3D (Grayscale Image to NormalMap - also in real 3D)
*) VecDepth2Position (from DepthImage calculate an Position[P]-Pass-Image) - this is CameraPosition OR you can also use NFX-XYZGenerator_v1.0.1 (like 'World'Position with Camera-Data (from 3D-App)
*) VecPosition2Normal (create an Normal[N]-Map from an PointPosition-Image)
*) ViewZ & ViewFloat (Float-Viewer - with BlenderGoodies) - not sooo good, you can also sample() [look at the POINTCACHE3D-Source.txt] or the Normalize-PlugIn from NFX_v1.0.1