Phase of light rays

Generic forum to discuss Octane Render, post ideas and suggest improvements.
Forum rules
Please add your OS and Hardware Configuration in your signature, it makes it easier for us to help you analyze problems. Example: Win 7 64 | Geforce GTX680 | i7 3770 | 16GB
Post Reply
treddie
Licensed Customer
Posts: 739
Joined: Fri Mar 23, 2012 5:44 am

I was analyzing some surface reflections in a photograph and it made me wonder, does Octane consider phase angle of light rays as they travel through space? If so, a virtual polarizing filter would limit the amount of light getting through the camera, based on the phase of each light ray. If not, then the filter would simply darken the image based on the area blocked by the dark bands in the filter.
Win7 | Geforce TitanX w/ 12Gb | Geforce GTX-560 w/ 2Gb | 6-Core 3.5GHz | 32Gb | Cinema4D w RipTide Importer and OctaneExporter Plugs.
User avatar
abstrax
OctaneRender Team
Posts: 5510
Joined: Tue May 18, 2010 11:01 am
Location: Auckland, New Zealand

treddie wrote:I was analyzing some surface reflections in a photograph and it made me wonder, does Octane consider phase angle of light rays as they travel through space? If so, a virtual polarizing filter would limit the amount of light getting through the camera, based on the phase of each light ray. If not, then the filter would simply darken the image based on the area blocked by the dark bands in the filter.
No, Octane doesn't consider the phase angle if light rays.

Cheers,
Marcus
In theory there is no difference between theory and practice. In practice there is. - Yogi Berra
treddie
Licensed Customer
Posts: 739
Joined: Fri Mar 23, 2012 5:44 am

Thanks for the info!
Win7 | Geforce TitanX w/ 12Gb | Geforce GTX-560 w/ 2Gb | 6-Core 3.5GHz | 32Gb | Cinema4D w RipTide Importer and OctaneExporter Plugs.
treddie
Licensed Customer
Posts: 739
Joined: Fri Mar 23, 2012 5:44 am

Come to think of it...It does not seem that polarization would be all that difficult to implement. Correct me if I am wrong, but if a light ray from any emitter is given a random, arbitrary phase, that would accurately depict reality for any non-polarized light source. In that sense, when a ray from the picture plane finds a light source, it can assign an arbitrary phase to the light ray and trace it back to the picture plane WITH that phase. Then, adding a polarization filter function in Octane would simply be a matter of tossing out all rays that do not fall within the phase bandwidth of the filter. Obviously, the performance would suffer since most of the rays would be blocked and noise would take far longer to clear up. But the user could decide whether or not it was worth using the function, based on their GPU horsepower.

This attached image has very interesting light effects that I believe are the result of a polarizing filter being used to cut down unwanted reflections. Without the filter, I think the streaks would instead have been huge "circular" halos of reflected specular light, and that would have overpowered the shot. I originally thought that the long streaks of light reflections were nothing more than a form of anisotropy, but when I delved into it further with some tests, it seemed impossible even if I textured the surface with all kinds of different, micro-fine, normal-map textures from faceted crystalline shapes to simple parallel lines. Those effects were certainly cool to look at, but could not recreate the effect in the image. Keep in mind, the flat surfaces in this image are black Formica as spec'd out in the original blueprints. Modeling a Formica surface cannot recreate this effect since it is nothing more than a semi-rough, specular surface.

Adding light-ray phase angle in Octane, in my opinion, would not really impact performance if the information is not utilized. Would it not be a performance issue for the user only when they want to use that data? Again..It can be up to them if they want to use any functions that depend on light polarization.
Example.jpg
Win7 | Geforce TitanX w/ 12Gb | Geforce GTX-560 w/ 2Gb | 6-Core 3.5GHz | 32Gb | Cinema4D w RipTide Importer and OctaneExporter Plugs.
treddie
Licensed Customer
Posts: 739
Joined: Fri Mar 23, 2012 5:44 am

After doing some simple mini-flashlight tests on specular materials around my house, I found that under certain conditions I could get that effect without worrying about polarization.
Lighting Tests.jpg
So I am not convinced it IS a polarization thing, anymore. At least not entirely. I could get the length of the streaks when the eye is looking at the surface from a very oblique angle. In the movie image, it appears that those surfaces are roughly normal to the camera. But after doing my tests, they can't be and are tilting away from the camera more than they look. In my shots, the streaks are simply too short at more head-on viewing angles. The only difference in my tests versus the movie image is that from all the surfaces I tested, the streaks were somewhat overpowered by the scattered light that you would expect off of a moderately rough surface (like Formica). So in order to mimic the movie image, there has to be some way to reduce the scattered light effect while preserving the speculars. Could this be where the polarizing filter comes in? I'm not sure. Those streaks in the movie image are AWFULLY long, AND, without any noticeable scattered light.

But just now, It looks like I was able to mimic the effect in Octane, FINALLY! The problem was that I was too caught up in trying to copy the surface texture of Formica, expecting that to give me the effect I wanted. But that surface texture has minimal effect on the look. I removed the Ridged Fractal bump, and depended entirely on Specular and Roughness settings and got very close:

Early image (I'll post a better one when it renders for awhile):
Octane Test.png
My streaks are more fuzzy because the way I did the pushbutton plastic. It would need to have less surface roughness so that a more distinct light bulb circle showed up at the center of the button.
I think a subtle Formica texture can now be placed over this to complete the texture.
Win7 | Geforce TitanX w/ 12Gb | Geforce GTX-560 w/ 2Gb | 6-Core 3.5GHz | 32Gb | Cinema4D w RipTide Importer and OctaneExporter Plugs.
treddie
Licensed Customer
Posts: 739
Joined: Fri Mar 23, 2012 5:44 am

Final render test.
Strbd Side Pnl (View 0, Thick-Wall PBs, White Cases, PMC).jpg
Rest of cockpit coming along nicely.
Win7 | Geforce TitanX w/ 12Gb | Geforce GTX-560 w/ 2Gb | 6-Core 3.5GHz | 32Gb | Cinema4D w RipTide Importer and OctaneExporter Plugs.
Post Reply

Return to “General Discussion”