Skip to main content
Up and Coming
October 9, 2013

360x180 CG Renders

I'm facing a problem when rendering any pair of equirectangular images from inside a 3D modelling package (Maya in my case, but no doubt the same issues apply to many different packages). The attached (side-by-side format) image is an example. I'm hoping the good folk on this forum can help.

I render out my panorama (I use the Lat-Lon Mental Ray lens plug-in) and it looks as you'd expect. Looking at it through the excellent VRPlayer, it works well. I then shift my camera to another position approx 6.5 'virtual' cm to the side of the first position and re-render. Again this panorama works fine on its own.

I was hoping that I could just place these x2 renders side-by-side (as they are in the attached example) to make a 3D version of the scene. Not so. What's happening is that the 'forward' view works fine but the depth gets reversed towards the peripheries of the image (which just looks bad) until the 'back' view is completely inverse (and so look pretty much OK again).

Logically I can see that the reason is that the 'Right camera' becomes the 'Left camera' as it renders the part of the view directly behind itself. However, I haven't got a clue how to fix it and output an equirectangular panorama that works in 3D. Help!

    165 replies

    New Participant
    May 18, 2014
    So I was trying to achieve something decent after reading this thread but no avail. I am rendering with vray in 3ds max. The problem I am facing is that when I stitch together the stripes I get some noise and aliasing problems in the final image, tried even with BruteForce+BruteForce combination for the Global Illumination, but still there is some jagginess and noise happening in the final image. Please will you share a complete recipe that works for you guys?
    Participant
    June 2, 2014
    I've created the following in Blender with Octane. Here are the specs:

    Camera seperation: 6.5cm
    Pivot distance: 10cm (from centre of cameras)
    FOV: 1x180 degrees
    Strips: 5x900 pixels
    Resolution: 359 strips (1795x900 per eye)

    I don't have a Rift so could someone try this out and see if it works?

    http://i7.photobucket.com/albums/y294/01rich01/Rift.png~original
    Participant
    June 15, 2014
    Great thread. For Cinema4D users, I've got a thread going on C4D workflow here:

    http://forums.cgsociety.org/showthread.php?f=47&t=1192810&page=1&pp=15

    Someone with some python knowledge needs to help me create a script that auto-generates the slices for each eye for every frame of animation :) That person will be my new hero.
    Up and Coming
    June 19, 2014
    "rocarpenca" wrote:
    Great thread. For Cinema4D users, I've got a thread going on C4D workflow here:

    http://forums.cgsociety.org/showthread.php?f=47&t=1192810&page=1&pp=15

    Someone with some python knowledge needs to help me create a script that auto-generates the slices for each eye for every frame of animation :) That person will be my new hero.


    I have made a little python script which merges all slices from all frames and merges the left and right cam over/under, you just have to use the correct naming and you have to get the ImageMagick library. Here is the code:
    Filenames are like camLEye_001__0001.tif / camREye_[slice]__[framenumber].tif the code works for 20 slices for each frame, if you have more just change the number. Hope that helps!


    from os import listdir
    from os.path import isfile, join
    import os
    import re

    files = [ f for f in listdir(os.getcwd()) if isfile(join(os.getcwd(),f)) ]

    os.system("md merged")

    for file in files:
    m = re.match(r'camLEye_001__(.*)\.',file)
    if m:
    os.system('montage camLEye*'+m.group(1)+'* -tile 20x1 -geometry +0+0 -depth 16 -background none -compress lzw merged\camergeL_'+m.group(1)+'.tif')
    m = re.match(r'camREye_001__(.*)\.',file)
    if m:
    os.system('montage camREye*'+m.group(1)+'* -tile 20x1 -geometry +0+0 -depth 16 -background none -compress lzw merged\camergeR_'+m.group(1)+'.tif')


    os.chdir("merged")

    files = [ f for f in listdir(os.getcwd()) if isfile(join(os.getcwd(),f)) ]

    for file in files:
    m = re.match(r'camergeL_(.*)\.',file)
    if m:
    os.system('montage camergeL_'+m.group(1)+'.tif camergeR_'+m.group(1)+'.tif -tile 1x2 -depth 16 -geometry +0+0 -background none -compress lzw merged_'+m.group(1)+'.tif')
    os.system('del camerge*'+m.group(1)+'*')
    http://www.riftaway.com | http://www.chillyvisions.com
    Participant
    June 27, 2014
    "Dreymo" wrote:
    I have made a little python script which merges all slices from all frames and merges the left and right cam over/under, you just have to use the correct naming and you have to get the ImageMagick library.


    !!! That's fantastic :D I'll give it a shot this weekend and report back. Thanks so much!
    New Participant
    July 3, 2014
    Hi All,

    I'm having this problem too.

    Big thanks to thrillhouse900 for your script. I have it working with MR but the slices in my tests are more pronounced in my tests than in your (excellent) explosion animation. Any tips?

    Also Cheerioboy, I'd love to try out your 'alternative script' for the same reasons.

    Another also, is it possible/how do you get the script to work with backburner? The 'pre-render script' thing doesn't seem to work.

    Many thanks,

    Matt

    zoovfx.com
    Up and Coming
    July 16, 2014
    I don't believe this has been posted here:




    Wonderful video rendered in Unity. Looked great inside a videosphere
    Participant
    July 22, 2014
    I just stumbled into this thread. Amazing stuff going on here :D
    But after reading through it from the beginning I'm a little confused (all those programs, renderers, settings, scripts, stiching etc.).

    Is there some sort of tutorial that shows how the complete workflow can be done?
    + What tools (renderer? Plugins? scripts?) are needed?
    + How do I set up the scene/camera/renderer in 3ds max or maya?
    + What do I do with the output files/strips?
    + Is any kind of post processing required?

    Or would anyone be willing to sum up the required steps?

    That would be really great and helpful :P
    Thank you!
    sh0v0r
    Up and Coming
    July 23, 2014
    I have developed a system to strip render out in Unity using Over/Under Format at 2048x2048 with approximately 5.68 pixels per degree.

    I have setup a Unity build to view the image using two inverted spheres and different camera layers, it looks great accept when you look directly down or up there are some odd perspective issues. The spheres need a 40 meter diameter to prevent distortion.

    It would be possible to improve the quality of this with the method I am using but it increases exponentially in rendering time. I am planning to render out some 3d videos at 60 FPS but they will be very short as it will take 1hr to render 1 second of footage.
    Up and Coming
    July 23, 2014
    Have a look at what CINEMA4D, Vray can do. stereo panorama right out of the render engine.

    viewtopic.php?f=28&t=10678