What is "Revert Baking" used for?

A forum where development builds are posted for testing by the community.
Forum rules
NOTE: The software in this forum is not %100 reliable, they are development builds and are meant for testing by experienced octane users. If you are a new octane user, we recommend to use the current stable release from the 'Commercial Product News & Releases' forum.
User avatar
linvanchene
Licensed Customer
Posts: 783
Joined: Mon Mar 25, 2013 10:58 pm
Location: Switzerland

mojave wrote:Hi guys,

I'm posting a sample scene setup using a hemisphere geometry to render a fisheye camera using the baking camera functionality and the "Revert baking" option.

I hope it helps ;)
Thank you for sharing the fisheye.orbx to experiment.

To better understand

- what exactly the geometry hemisphere is doing
- and how we actually control that Backed Camera position

I tried to create a test scene with actual geometry using basic primitives.

Test Scene setup:

use the provided hemisphere with the inverted baked camera to look at a test scene with actual geometry.

Therefore I tried to create a simple test scene with a

- 100m ground plane
- cone 1m
- cube 1m
- display plane 3m
- sphere 1m

The test scene viewed from the "Default Camera" in the OcDS plugin viewport.
Test Scene Layout v1001
Test Scene Layout v1001
Test Scene imported in OR standalone


I exported the test scene from OcDS to OR standalone and imported the provided fisheye.orbx to the scene as well.

A placement node was used to move the primitives test scene 2m back and 1.5m down so the cone and the ground plane do not intersect with the hemisphere .obj of the fisheye.orbx


The provided hemisphere .obj of the fisheye.orbx seems to be similar like a sphere cut in half.

To make it appear in a perspective view of the test scene I colored it blue and toggled camera visibility on.
Perspective view Standalone - Hemisphere colored blue and Camera Visibility ON
Perspective view Standalone - Hemisphere colored blue and Camera Visibility ON

Feel free to download the merged test scene to experiment:
Revert baking with test scene MERGED v1006.orbx
(19.52 MiB) Downloaded 209 times
- - -


Test scene viewed trough the provided fisheye hemisphere:


This is what you get with the default settings with baking camera reverted activated:
Hemisphere Baking Camera View v1002
Hemisphere Baking Camera View v1002
- - -

Baking Postion:

It seems by default the geometry that is intended to be used as camera needs to be located at the origin of the scene (x,y,z / 0,0,0).
This is where the hemisphere.obj is located.

We can adjust the X, Y, Z values of the baking position.
Backing Position X 0.200
Backing Position X 0.200
Backing Position X -0.772
Backing Position X -0.772
Backing Position Y -0.566
Backing Position Y -0.566
Backing Position Z 0.892
Backing Position Z 0.892

If you switch the Baking Position off you get this:
Baking position off
Baking position off
If you switch backface culling on you get this:
Backface culling on v1002
Backface culling on v1002

- - -

Tests with other geometry at origin


After all that I am still not sure if I understand exactly what the "reverted" baking camera does.

It seems to use the geometry at the origin (x,y,z / 0,0,0). to determine how the scene is looked at.

When I hook up my test scene directly with the baking camera the cone is in the origin postion.
Cone at origin v1002
Cone at origin v1002
I assume the geometry that is used as camera "lens" needs to have some kind of lens like attributes?

- open half sphere?
- normal direction?

- - -
- - -

Questions:

Can anyone provide scene examples or screenshots how Reverted Baking is used

1) with other geometry?

2) with Baking Position off

3) backface culling on?

- - -
Win 10 Pro 64bit | Rendering: 2 x ASUS GeForce RTX 2080 Ti TURBO | Asus RTX NVLink Bridge 4-Slot | Intel Core i7 5820K | ASUS X99-E WS| 64 GB RAM
FAQ: OctaneRender for DAZ Studio - FAQ link collection
cpm5280
Licensed Customer
Posts: 14
Joined: Sat Jun 28, 2014 10:35 pm

I second all of the above requests for more information about how this is working & how to control it.

Also, just a general comment as a user: it would be easiest if I could, in C4D, just add a "fisheye" tag to my camera and animate it as usual. Jumping through hoops to accomplish stuff like this is great in that you can make it work, but from a user's perspective things like this need to be simple to set up and use. I like the *general* ability use "geometry as a lens," but the primary use case here that I see is just this - fisheye renders - and that should be straightforward to set up for end users once this makes its way to final version.

My $0.02.
User avatar
mojave
OctaneRender Team
Posts: 1336
Joined: Sun Feb 08, 2015 10:35 pm

Hi,

The way baking works, for each sample it finds the surface normal at that point (1).

Then camera rays are calculated pointing towards the geometry in the opposite direction, at exactly the kernel's ray epsilon, which makes sure the target surface is hit first and nothing else (2).

The revert baking feature does just what you would expect then, it reverts all rays, so they point outwards (3). This will bake the other elements of the scene, making your geometry effectively a custom lens.

Now, in order to create a fisheye camera that covers 180x90 degrees, which distortion becomes exponentially big over the edges, I decided to use a baking position. What this does, is to change the way the baking camera works so that all ray's origin is the specified point (in this case (0,0), which corresponds to the position of the geometry in the scene) pointing to the same sample point they'd do before(4)

If you change this, you will effectively modify your projection and get some fancy results ;)
Attachments
baking_pos.png
cpm5280
Licensed Customer
Posts: 14
Joined: Sat Jun 28, 2014 10:35 pm

That's a good explanation, thanks Mojave.
I'm still fiddling with this, trying to figure out how to use the method with an animated camera. I've got a large terrain scene (c4d) with camera flythrough, and am trying to get the method in the demo scene above working. Feeling unusually stupid as I do so, too. :?
For now I'm reverting to Vray's VrayCameraDome tag which is just about perfect in terms of use, but given the current state of RT on that platform would love to get something similar working in Octane eventually.
Post Reply

Return to “Development Build Releases”