The aim of this projects it to develop a tool in Nuke Software that will reduce the time space or in other words speed up the workflow procedures of Multi-pass Compositing for user’s whether it’s for personal or commercial purposes. The aim is to be able to create a tool with no limitation to what type of render engine the user is required to create a multi pass compositing for in Nuke. This tool will serve as a shortcut to a quicker combination of rendered channel passes from EXR files, merged together into creating a Multi-pass compositing know as beauty pass.
The objectives is to use Python scripting into creating this Auto Compositing tool in nuke, but before this can be done a clear understanding of how Multi-pass compositing works in nuke will have to be put into consideration. Step by step procedures of how compositors put together nods, channel files from EXR files and how they merge them together for final results. This is very critical to this project as it will help determine how to structure the script for a successful execution of a Multi-pass compositing in nuke. Most of all the main objective it for this tool to be able to execute a tree flow of nodes merge together correctly in the same form of procedure or step that a compositor will use to create a multi-pass compositing in Nuke.
This diagram shows a simple structure of a multi-pass tree flow structure in Nuke where by the files a driving from an EXR file and merged together for a final outcome results known as beauty pass.
This diagram is also to give an insight of how the script will be structure and how it suppose to execute when run in NUKE
How Multi-pass Compositing is being utilised to aid the film and advertisement industries in making their workflow much more flexible.
Multi-pass compositing has been a distinct advantage for the film and notice enterprises throughout the years and it as often as possible utilized as a part of the general realistic groups.
In cinematography the term Multi-pass compositing is a system that empowers a printer to join diverse render passes which are then optically or carefully composited for a visual impact shot. This can be as basic as rendering every layer of a pictures e.g. lightning, diffuse shading, specular, reflection and so forth and compositing them all together making it simpler to make changes in accordance with every layer for better results. Render passes are planned with the aim to break down a renderable scene into numerous segment pictures that can be changed independently before recombining them in compositing. Render passes files can be made by 3D programming like MAYA, 3dsmax, Softimage and some more.
As CG boss Scott Metzger - Rendering was once considered as a product thing in the entire universe of CG/VFX, however now rendering is an interesting issue. Rendering has turned into a vital part of creation pipeline particularly in this time. Furthermore, as Scot Metzger said rendering is turning out to be all the more energizing part of being in the enterprises now since there is so much incident thus much going on.
Ref from- PROJECT CONTEXT AND DEFINATION
Advantages of Using Render Passes
The consolidation a few picture layers techniques that were utilized to accomplish render passes were conceivable previously, yet had its own particular misfortunes, it might have been too much intricate and exorbitant in light of render layer management challenges and, as a rule, many users were required to compose a few line of shader code only a for single render pass. Render passes were basically intended to tackle those issues and in the process likewise made advance compositing work processes available and moderate to its endless developing clients.
Render Passes permits it users to create and configure render passes with no scripting or programming. Besides, the render pass attribute editor uncovered a progression of cutting edge alternatives to tune the conduct of render pass extraction without having to get involved with shader code
Render passes makes it is more quick and easy to interchange and synchronize rendered frames between 3D software and compositing applications.
Lower Render Times
Because multiple render passes can be computed simultaneously, rendering multiple render passes is usually much faster than rendering the same number of render layers, which are rendered sequentially.
Reduced Necessity for Custom Shader Development
Most 3D software base shaders have native support for a wide range of built-in render passes, making it rarely necessary to edit and recompile shaders to extract information useful for compositing.
Faster and Easier Material Shader Authoring
Most 3D software packages e.g. Maya comes with an SDK shader that helps make it more quick and easy to write new material shaders and light shaders that support the render pass framework. Furthermore, with Maya C++ template-based architecture helps make it possible to re-use parts of pre-existing shaders without the need for code duplication or reverse-engineering.
How Multi-pass Compositing is being used in the industry to create photorealistic CGI (Computer Generated Imagery)
The change for the better of this field of graphic design didn\'t happen over a very long, extended period but instead over a couple of decades and so forth. In fact, the fast moving up of computer processing power is mostly what served as a helping force for the explosion of CGI animation.
The idea of today\'s level of 3D CGI animation is changing for the better over time , from basic cartoon animation into a just like the real thing(photorealistic), world that tries to represent interest in what\'s lifelike and realism as in a way that\'s close to the truth or true number as possible. It does this by slicing up the world into the smallest pieces/parts possible, and then controlling how those tiny parts of real world objects move, react and change based on the other objects and conditions within that 3D world
Multi-pass CGI Compositing
At the point when advanced compositing began, it was about Bluescreen and greenscreen compositing. Which are still now being and as vital as it was some time recently, and will remain so later on (that can be envisioned at this point). However CGI has immediately enhanced into photorealism and now make up a majority of the compositing accomplished for visual impacts.
The pattern line in CGI visual impacts is to make/give the components into increasingly and various passes that are then pulled together in the 2D office and given the last look. Multi-pass compositing like this has a tremendous functioning admirably and completing a great deal and aesthetic control points of interest that are just going to build its utilization later on. The upside for typesetters is they are currently the shot finishers and their significance to general generation of visual impacts has expanded in particular
The tight coupling somewhere around 2D and 3D has presented a radical new thing. The idea is that constrained 3D abilities are presently incorporated with major compositing programs so that a large number of the assignments already done in the 3D offices should now be possible in 2D office, where they are quicker and less expensive. This has again increment efficiency for the general visual impacts generation pipeline and made compositors once more imperative to it.
In the film creation pipeline there are three phases of production that the venture experiences before the genuine compositing is finished.
This is the stage where preparation is made, scripting, storyboarding, animation and CG design. All this work is done before the shoot on set or location occurs.
This is the shooting phase of the film which is assisted by the VFX on set and back at the studio.
At this the project filming should be done and ready for post-production which is where VFX department takes over. At this stage is where most of the compositing take place which includes Multi rendering and compositing. At this stage the project will be reaching final touches and ready for reviewing. Post production builds up from rigging, grading, late preparation, camera tracking, and animation and all the way down to compositing which is the last process in the chain and it is where all the CG, elements and the scanned plates are brought together to create a seamless finishing image or shot.
r shot. (The Visual Effect Pipeline )
Figure 2 (The Visual Effect Pipeline ) image from website
Render Passes, layers and Compositing
While a few people utilize the terms interchangeable, Rendering in layers is the way toward rendering different objects in your scene independently, so that an alternate picture is rendered for every layer of objects. Rendering in passes is the process of rendering diverse qualities of your scene independently, for example, the distinctive pass listed below.
A beauty pass (now and again called diffuse pass or shading pass) is the primary, full-shading rendering of your subject, including diffuse illumination, shading, and shading maps. A beauty pass for the most part will exclude reflections, highlights, and shadows, which are typically separate passes.
Highlight passes (now and then called specular passes) seclude the specular highlights from your objects. You can render highlight passes by eliminating any ambient light and making the objects\' diffuse shading and colour mapping to pure dark. The outcome will be a rendering of all the specular highlights in the scene, over a dark/black background, with no different sorts of shading.
A reflection pass incorporates impressions of different objects or the surrounding environment, and can either replace or complement the highlight pass. To single out reflections, generally you should simply turn off Ambient, diffuse, and specular shading from a surface, so that one the reflections show up.
A shadow pass is a rendering that demonstrates the areas of shadows in a scene. A shadow pass frequently shows up as a white shadow region against a dark background, a black shadow against a white background, or a rendering with the shadow shape embedded in the alpha channel. Cast shadows are where another object casts a shadow onto another 3D object or obscures a region of a live action plate. Seperate shadow passes can delineate appended shadows, where an object throws shadows onto itself, for example, the shadow a character\'s nose throws onto his own particular face.
A lighting pass is a discretionary piece of multi-pass rendering that adds adaptability and control to the compositing procedure. Rather than rendering a beauty pass at the same time, you could rather render various lighting passes, with every individual lighting pass demonstrating the influence of one light (or one gathering of lights) on a component. Different lights are covered up or erased when rendering the lighting pass.
Effects passes may in some cases be rendered, depending upon the requirements of your project. An effects pass is a different rendering of a visual effect or a mask for a visual Effect. An effect pass may be an optical effect, for example, a light glow or focal point flare, or a particle effect, for example, a cloud of smoke or plume of jet fumes.
A depth map (called Z-depth or a depth pass) is a pass that stores depth data at every point in your scene. A few productions utilize depth maps rendered in a special depth file format. Different production utilize simulated depth maps which are rendered as standard image file simply like some other pass, however with a depth-faded effect over objects with steady white shading.
Passes can be rendered at a time by rendering distinctively adjusted versions of a 3D scene, or some software’s can set them up naturally or render more than one pass at a time
Render engines and plug-in
There are a few rendering modules or engines that can be utilized for multipass rendering, for instance; Corina, KeyShot, Octane, Maxwell, Redshift, 3Dlight(free), Iray, Lux Render and numerous all the more yet each requires a numerical mix of passes that are consolidated to get a characterizes last shot. This procedure is known as beauty pass.
Below are some of the examples of multi-pass renders and render engines that are highly used by the media industries for compositing.
Render Pass Principles
SpecularDirect – SpecularDirectShadow + SpecularIndirect + SpecularEnvironment + Ambient + DiffuseDirect + Translucence – DiffuseDirectShadow + DiffuseIndirect + DiffuseEnvironment + Backscattering + Subsurface + Rim + Refraction + Incandescence = Beauty
Direct diffuse + indirect_diffuse + direct_specular + indirect_specular + refraction + deep_scatter + mid_scatter + shallow_scatter + primary_specular + secondary_specular = Beauty
GI + Lighting + Specular + Reflection + Refraction + SelfIllum + SSS = Beauty
Below is an example of how V-Ray multi-pass render compositing workflow will look like when connected in Nuke. But with this one as you can see the user merged the shadow pass after the beauty which gives them more control over that shadows and enables them to make changes to the shadows in the scene.
Diffuse + Indirect + Specular + Reflection + Refraction + Incandescent + Scatter = Beauty
(Multipass Rendering and Compositing, 2006) –ref for information on multi-pass
These are the standards channels required for doing a multi render pass compositing, yet for more proficiency a few organizations may make couple of changes by utilizing custom made projects as a part of various programming to change the scientific calculation for multi render passes compositing relying upon which engine or programming they utilize. This could be for a wide range of reasons some being for a speedier procedure or to enhance work quality. The following is a case of an expanded multi-pass compositing which the user has assembled with additional channel layers rather than the standard adaptation permitting more control over its final ultimate result and different characteristics in the rendered picture.
(V_ray Multi render , n.d.) – Ref for images
Beauty = Diffuse '∗' (Raw Light + Raw Global Illumination) + Raw Reflection '∗' Reflection Filter + Specular + Raw Refraction '∗' Refraction Filter + Sub-Surface Scattering + Self Illumination
Understanding Nuke\'s Layers and Channel system
One of Nuke\'s remarkable elements is its \'Multi-channel, high element extend compositing framework\'. This means Nuke can deal with over a thousand \"Channels\" of information; red, green, blue and alpha would be considered 4 \"Channels\" out of a conceivable 1024 accessible. \"Channels\" are put away in \"Layers\" which may contain up to eight \"Channels\" each. To comprehend what\'s occurring investigate the graphs beneath.
Figure 5 A SINGLE LAYER CONTAINING 4 CHANNELS
Figure 6 256 LAYERS, EACH HOLDING 4 CHANNELS, MAKES 1024 CHANNELS OF DATA
This ‘Layer’ and ‘Channel’ system is unique to Nuke and gives the artist huge flexibility both working directly in Nuke and in using multi-pass files rendered from a 3D package. Let’s deal with 3D first.
Benefits coming from 3D
Today numerous 3D bundles and studios support the utilization of multi-pass rendering. This means as opposed to rendering your pictures flattened, you render them in layers in view of shading and light data. E.g. a render could be separated into Ambient, Diffuse, Specular, Reflection and Shadow passes. These are then consolidated back together in Nuke (or any Compositing bundle) to make the look of the first original flattened version.
Figure 7 FROM TOP LEFT TO BOTTOM RIGHT: BEAUTY (Flattened), EMPTY PASS, DIFFUSE, REFLECTION, SHADOW, SPECULAR
This gives the compositor an immeasurable measure of opportunity in choosing how the last picture ought to look. A shading correction could be made to the specular pass, for example, or a blur added to the reflection before the passes are composited together. This is a much quicker and more effective method for working, sparing both time and cash in light of the fact that the renders don\'t need to be come back to 3D for re-rendering which is frequently a long and costly process.
Figure 8 Left, ORIGINAL RENDER. Right, COLOUR CORRECTED SPECULAR & BLURRED REFLECTION PASSES
Nuke\'s \"Layer\" and \"Channel\" framework gives you the capacity to work directly with file formats that can hold this additional information. Ambient, Diffuse, Specular and Reflection passes are all shading passes which require red, green and blue to make up every pass. Shadow, then again, is frequently only single shading and consequently needs only a single channel. Thus, for instance, joining together Ambient, Diffuse, Specular and Reflection goes (with 3 channels each) and a single channel Shadow pass would give you an aggregate of 13 channels. Many file format can\'t deal with this many channels, e.g. JPEG underpins 3, TARGA bolsters 4, TIFF just 5 or something like that. Some file organizes however have been uniquely intended to handle more channels, and the one most organizations have now embraced is Industrial Light and Magic\'s in-house design openEXR (.exr), Currently at Version 2.0. This record organization can bolster up to 1024
Channels of data and has the additional advantage of supporting 16-bit floating point, 32-bit floating point and 32-bit whole number shading depths.
Benefits inside Nuke
Nuke\'s unique \"Layer\" and \"Channel\" system empowers us not just to view all these diverse render passes, additionally to revamp, split-out and work with them in numerous ways. At the point when the above case is loaded into Nuke by means of the Read node and viewed, the Viewer demonstrates the rgba \"Layer\" and RGB \"Channels\" as below. In your 3D packages this would be your flattened render (Beauty pass).
How Nuke Python script is being utilised to aid the film and advertisement industries in making their workflow much more flexible.
What is Python Scripting?
It is an exceedingly level programming language with element semantics that is broadly utilized for general purposes. It was conceived in the late and it usage began in December 1989 by Guido Van Rossum. It has abnormal state worked in information structures, joined with dynamic typing and dynamic binding; makes it an exceptional program for Fast Application development, and in addition of its use as a scripting or glue language for connecting existing components together. Python supports modules, packages and multiplatform which empower program measured quality and code reuse.
(python programming, 2016)
With nuke extending its centre to python scripting has opened up numerous open doors for further change, making the product more opened to software engineers permitting them to control and make their own particular interface which can accelerates working advancement furthermore change on work quality. Python scripters are utilizing these points of interest to make easy routes device and new menu that fit the profession that should be done in Nuke. Software engineers can utilize the python script to control the node graph furthermore change the (UI)
Similar Auto comp Projects Discovered
After several research was conducted I found two comparable projects by Jan Oberhausen who works as a compositor at Digital Domain in Vancouver and Tom Martins who appreciate VFX and dealing with building a profession in this field. They both utilized Python script to assemble and Auto compositing tool in Nuke for Multi render pass compositing. Both projects were very comparative and extremely viable with regards to compositing. Upon executing, their script performs a task of building the node tree required for multi render pass compositing.
Jan Oberhausen Python Auto Compositing Tool
Jan auto comp tool works with both EXR files and separate rendered files. For the user to have the ability to utilize his tool he needed to copy the scrip into Nuke directories on their local drive and after that restart nuke. After nuke is restarted it will make a menu button. From that point the user will read all their EXR or individual rendered files into Nuke then when the button is clicked, the script is executed which creates and associate all the required nodes in the node graph for compositing in Nuke.
Screenshot of Jan script when executed with an EXR file
Figure10 –ref image from nuke (screenshot) (script form similar discovered project)
After reviewing this project
In spite of the fact that this project has turned out to be extremely helpful, regardless it does not have certain characteristics.
At the point when the scrip it run it recognizes all the multi-pass channels in the EXR files and afterward merging them without characterizing which sort of Multi-pass render that is being executed. For instance mental ray have a particular multi-pass arrange that is required for the beauty pass. Because of this other users will have to manually rearrange furthermore erase some file nodes that are not required for that specific type of render they are attempting to use for compositing which could be either Arnold or mental ray. This will make it complex for new or second users to comprehend the sort of method being applied here. This draws out the work process furthermore and makes more work with regards to executing a multi-pass render compositing in nuke. Additionally I saw that despite the fact that the program permits you to physically alter the properties of the nodes, it doesn\'t give you the alternative to erase any nodes created. It likewise prevents you from physically making a node through the default menu in nuke since once the script is executed it take away the various tools required for compositing.
Figure 12 ref images from nuke (screenshot) (script form similar discovered project)
(Oberhauser) Link to similar script for auto compositing
Tom Martins Davies Python Auto Compositing Tool
Another comparative auto comp scripting that I found is by Tom Martin. His Python script works in an indistinguishable methodology from the main disclosure. It had comparative multifaceted nature to it simply like the principal disclosure. His auto compositing tool script likewise works by distinguishes the multi-passes but this time it just recognize the channels by the file name which imply that every time a render is made the user will have to go into the python script and physically change the file names to coordinate the EXR file that is being transferred into Nuke before it can run the auto compositing tool.
...(download the rest of the essay above)