TUTORIAL: How to use RenderTargets for powerful scene setups

Post, discuss and share handy resources like textures, models and HDRI maps in this forum.
Forum rules
Please do not post any material that is copyrighted or restricted from public use in any way. OTOY NZ LTD and it's forum members are not liable for any copyright infringements on material in this forum. Please contact us if this is the case and we will remove the material in question.

TUTORIAL: How to use RenderTargets for powerful scene setups

Postby radiance » Mon Jul 18, 2011 2:15 am

Hi all,

RenderTarget nodes have been in octane since the start, but due to the framework changes in recent beta 2.48+ releases (including beta 2.5 and onwards),
they work %100.
These are unique to Octane and offer some very powerfull flexibility for advanced scenes.

Most users don't know how they work, and it's a good idea to learn use of them, as they can save you a lot of time.
Here is a tutorial that explains everything you need to know about RenderTarget nodes.


WHAT IS A RENDERTARGET NODE?

A Rendertarget node is a final configuration for a render.
Eg, it hooks up to everything that forms part of your scene, geometry, materials, environment, camera, render kernel, tonemapper, eg everything required to produce a final image.


WHAT IS THE PREVIEW CONFIGURATION AND THE PREVIEW RENDERTARGET?

A new scene in octane always includes a macro called 'Preview Configuration', located in the top left corner of the project tab (in the nodegraph editor panel).
This macro contains a rendertarget, called the 'Preview Rendertarget', which has a set of nodes connected, eg resolution, camera, kernel, tonemapper, environment,
which the RS Developers deem suitable for previewing and working interactively on scenes.

Imagine attaching the same material on 2 different mesh objects, if you click on either mesh object, you preview the object and it's requirements (eg all nodes connected to it).
A rendertarget takes this to the lowest level, where it has every possible scene parameter connected.

Whenever you click on a mesh object node, material node, or texture node, octane will internally use that rendertarget, eg, it will use the resolution, camera, kernel, tonemapper, environment, etc...
when rendering.

s5.jpg
preview rendertarget


When you click on the shortcuts to the rendertarget or it's connected nodes (vertical icons in the nodeinspector panel on the right), the inspector will show you the relevant nodes of the currently active rendertarget, which, if you are viewing by clicking on a mesh object, material or texture, will always be the preview rendertarget in this macro.

Most users until now have changed the configuration of the preview rendertarget to alter the settings for producing final output (eg changing resolution, tonemapper options, switching from directlighting to pathtracing or PMC, etc...)


USING YOUR OWN RENDERTARGET NODES

In the following images, I have configured 4 rendertargets (by adding rendertarget type nodes, and several cameras, tonemappers etc as nodes).

s1.jpg

s2.jpg

s3.jpg

s4.jpg


The end result of this setup, is that I can simply click on any of the 4 rendertargets (bottom of nodegraph editor), to render my scene with that particular configuration.
In this scenario, going from left to right:

* RenderTarget: Normal Camera + PathTracing + High Res (final)

This is the final output quality, with a full scene view camera, pathtracing kernel, high resolution (2048x1024) and an environment HDR map.


* RenderTarget: Normal Camera

Same as above but with default tonemapper, directlighting kernel (in the nodepin/default), default resolution (in the nodepin/default), and environment HDR map.


* RenderTarget: Zoom Camera

Same as above but with a closeup zoom Camera.


* RenderTarget: Zoom Cam + sunsky

Same as above but with a sunsky sunlight environment.


Study the nodegraph layout in the images above to fully understand, it does'nt really require much explaining, the rendertargets are connected to various tonemappers, cameras, etc..., some of them shared and others not.
Unconnected input pins (filled, not hollow) contain internal defaults (but can also be changed).

Rendertarget nodes, can be rendered by clicking on them (eg selecting), just like mesh object nodes, material nodes and texture nodes. (although they can also be filtered with the 4 filter icons in the nodegraph editor's toolbar (left).

As you can see this gives a great degree of flexibility, especially for advances scenes with multiple views, conditions, kernel settings and tonemapper options.
Further, you can set up your favorite workflow rendertargets in an empty project, and save it as Octane's default scene to always have your configuration ready when you start a new project.


BEHAVIOUR OF NODEINSPECTOR SHORTCUTS WHEN USING RENDERTARGETS

The shortcut buttons in the vertical toolbar of the nodeinspector panel on the right, will select the currently active rendertarget (eg the one which is rendering), and the node(s) it's connected to.
Examine the following image to see how.

s6.jpg


It's important to know that different nodes will be selected when using shortcuts, depending on the current rendertarget that is rendering, which is either the preview target (if you are 'previewing' a mesh, material or texture) or a custom rendertarget.


This concludes the tutorial,
I hope this will show everyone how to use RenderTarget nodes,
Remember, they only work in beta 2.48, 2.48b and onwards.

Radiance
Win 7 x64 & ubuntu | 2x GTX480 | Quad 2.66GHz | 8GB
User avatar
radiance
OctaneRender Team
OctaneRender Team
 
Posts: 7633
Joined: Wed Oct 21, 2009 2:33 pm

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby Jaberwocky » Mon Jul 18, 2011 11:49 am

Radiance

Thanks for the insight. thought i would try this out....but slightly extreme.

I loaded 2 different scenes into one...an old test bench scene and a teaching wall scene.

I made 3 cameras for one and 2 cameras for the other.

Then I used one HDRI lighting node and shared them between both scenes.

That got me thinking.

You could break down a scene if it's to large and have sub assemblies.

put them into one octane file and then create and share the same tone mapping / lighting files etc for all the scenes.

That would keep scene files down in size for larger projects but the look and feel of each image across lots of scenes would be the same.

Hope that helps everyone who is running out of GPU memory on larger projects

Please see attached.
Attachments
teaching wall camera 2.jpg
test bench camera 3.jpg
CPU:-AMD 1055T 6 core, Motherboard:-Gigabyte 990FXA-UD3 AM3+, Gigabyte GTX 460-1GB, RAM:-8GB Kingston hyper X Genesis DDR3 1600Mhz D/Ch, Hard Disk:-500GB samsung F3 , OS:-Win7 64bit
User avatar
Jaberwocky
Licensed Customer
Licensed Customer
 
Posts: 976
Joined: Tue Sep 07, 2010 3:03 pm

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby OctaneFX » Mon Jul 18, 2011 1:21 pm

Radiance : Thank you. This tutorial will help !
A question : Can you tell us if an .OCS file is limited to a certain number of .obj that it can contain ? What's the limit : hardware memory ?

Jaberwocky :
"That got me thinking.
You could break down a scene if it's to large and have sub assemblies.
put them into one octane file and then create and share the same tone mapping / lighting files etc for all the scenes.
That would keep scene files down in size for larger projects but the look and feel of each image across lots of scenes would be the same."

It seem's that if you break the scene in 2 parts, you won't have the projected shadows of geometry contained in other parts.
Perhaps, it would be great to have alpha chanel dependant to individual geometry (in order to get multiple alpha layers in the scene, at the condition that alpha objects can participate in the light process : with a toggle ON/OF ?) and to continue using the alpha in the whole scene with Preview configuration.
Win Vista Integral x64 | 2 x GTX 460 | Quad 2,4 GHz | 8 GB
User avatar
OctaneFX
Licensed Customer
Licensed Customer
 
Posts: 48
Joined: Wed Sep 08, 2010 10:47 am
Location: FRANCE

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby Jaberwocky » Mon Jul 18, 2011 1:40 pm

OctaneFX

Sorry, when I made that remark I was thinking more along the lines of say a large house scene , where you were rendering images of each room.Rather than parts of an adjacent scene that needed to interact with each others light and shadow.
CPU:-AMD 1055T 6 core, Motherboard:-Gigabyte 990FXA-UD3 AM3+, Gigabyte GTX 460-1GB, RAM:-8GB Kingston hyper X Genesis DDR3 1600Mhz D/Ch, Hard Disk:-500GB samsung F3 , OS:-Win7 64bit
User avatar
Jaberwocky
Licensed Customer
Licensed Customer
 
Posts: 976
Joined: Tue Sep 07, 2010 3:03 pm

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby abstrax » Mon Jul 18, 2011 10:58 pm

Regarding the amount of mesh nodes in your scene: Well there isn't really a limit, but you may run out of RAM on your host, because each mesh node needs to load the geometry and to voxelize it.

GPU RAM should be of no problem here, since unused memory gets released, when you switch between render targets.

Cheers,
Marcus
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
User avatar
abstrax
OctaneRender Team
OctaneRender Team
 
Posts: 4418
Joined: Tue May 18, 2010 11:01 am
Location: Auckland, New Zealand

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby Jaberwocky » Tue Jul 19, 2011 7:51 am

abstrax wrote:Regarding the amount of mesh nodes in your scene: Well there isn't really a limit, but you may run out of RAM on your host, because each mesh node needs to load the geometry and to voxelize it.

GPU RAM should be of no problem here, since unused memory gets released, when you switch between render targets.

Cheers,
Marcus



marcus

can you please Clarify.

Regarding the example i created above.Is the scene only loaded into Host ram , voxalised and passed on to the GPU when i click on each camera node and activate the scene ? as if so this of course would count towards keeping the use of the GPU memory down if you split the scene up.
CPU:-AMD 1055T 6 core, Motherboard:-Gigabyte 990FXA-UD3 AM3+, Gigabyte GTX 460-1GB, RAM:-8GB Kingston hyper X Genesis DDR3 1600Mhz D/Ch, Hard Disk:-500GB samsung F3 , OS:-Win7 64bit
User avatar
Jaberwocky
Licensed Customer
Licensed Customer
 
Posts: 976
Joined: Tue Sep 07, 2010 3:03 pm

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby abstrax » Tue Jul 19, 2011 8:20 am

Jaberwocky wrote:marcus

can you please Clarify.

Regarding the example i created above.Is the scene only loaded into Host ram , voxalised and passed on to the GPU when i click on each camera node and activate the scene ? as if so this of course would count towards keeping the use of the GPU memory down if you split the scene up.


The OBJ file is loaded and voxelized when you open the OCS file (one after another) and the prepared geometry data is kept in host memory.

When you click on one of the render target nodes, the linked geometry of that node is then loaded into graphics memory. When you then choose a different render target node with different geometry, its geometry replaces the geometry of the first render target node. I.e. the geometry of the first render target gets removed from graphics memory and the new geometry gets loaded up afterwards.

What I meant with my previous reply was, that the pre-processed geometry data (i.e. what the "voxelizer" spits out) needs to be kept in host memory (i.e. your PC memory), which limits the amount of mesh nodes you can load at once.

I hope that makes sense now :)

Marcus
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
User avatar
abstrax
OctaneRender Team
OctaneRender Team
 
Posts: 4418
Joined: Tue May 18, 2010 11:01 am
Location: Auckland, New Zealand

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby Jaberwocky » Tue Jul 19, 2011 8:35 am

Thanks marcus

So to clarify.

I could for example create 24 camera positions across say 10 obj files , sharing tonemapping/lighting etc all loaded in 1 ocs file.That file would load into the Host CPU memory where it will be voxalised and held ready for when i click on a camera node.After the camera node is clicked only that portion required is sent to the GPU memory to be rendered.

So if i have a huge scene i could split the obj files and as long as i have say 16-32Gb of memory (which of course is very cheap nowdays) i need only have a 1-2 gb Video card.

That may also answer the 64 node limit problem on textures. :o
CPU:-AMD 1055T 6 core, Motherboard:-Gigabyte 990FXA-UD3 AM3+, Gigabyte GTX 460-1GB, RAM:-8GB Kingston hyper X Genesis DDR3 1600Mhz D/Ch, Hard Disk:-500GB samsung F3 , OS:-Win7 64bit
User avatar
Jaberwocky
Licensed Customer
Licensed Customer
 
Posts: 976
Joined: Tue Sep 07, 2010 3:03 pm

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby abstrax » Tue Jul 19, 2011 8:38 am

Jaberwocky wrote:Thanks marcus

So to clarify.

I could for example create 24 camera positions across say 10 obj files , sharing tonemapping/lighting etc all loaded in 1 ocs file.That file would load into the Host CPU memory where it will be voxalised and held ready for when i click on a camera node.After the camera node is clicked only that portion required is sent to the GPU memory to be rendered.

So if i have a huge scene i could split the obj files and as long as i have say 16-32Gb of memory (which of course is very cheap nowdays) i need only have a 1-2 gb Video card.

That may also answer the 64 node limit problem on textures. :o


Yes you could do that. Obviously the whole node graph may get a bit "messy" but I don't see a reason why it should not work.

Cheers,
Marcus
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
User avatar
abstrax
OctaneRender Team
OctaneRender Team
 
Posts: 4418
Joined: Tue May 18, 2010 11:01 am
Location: Auckland, New Zealand

Re: TUTORIAL: How to use RenderTargets for powerful scene setups

Postby TheOracle » Tue Jul 19, 2011 5:33 pm

Thanks for sharing tuts insights
Extra video version tuts like on the website would very much appreciated :)
Win 7 64 bit | GeForce GTX 570/PCI/SSE2 | Intel Core i7-2600 CPU 3,4 GHz 4Cores/8Threads | Cinema 4d / 3ds max | OpenGL Cinebench Score 54,04
TheOracle
Licensed Customer
Licensed Customer
 
Posts: 67
Joined: Sat Jun 04, 2011 9:14 pm
Next

Return to Resources and Sharing


Who is online

Users browsing this forum: No registered users and 2 guests

Tue Feb 28, 2017 12:15 pm [ UTC ]