Jump to content
Sign in to follow this  
subisan

Global Illumination issues in Cinema4D r11

Recommended Posts

I'll start off by saying C4D is a great product and I'm stoked to be using it. Before I get into the problems at hand, here's the stats on my system:

 

mac_specs1.png

 

BUT, I'm running into some serious issues with global illumination rendering. Before I actually learned the proper way to render with GI I just left the "GI Mode" setting at "Still Image" with all of the other settings to default as well. My stills were coming out great, so (like the Maya user I was lol) I kicked off a full res preview to render overnight. The next morning I had all kinds of flickering and outright nasties in the shadows as well as the GI bounce on the geometry. Needless to say I was upset and knew I had to dive deeper into the GI settings, so I did some research on the ole internets and found this amazing blog.

 

http://mvpny.com/R11...rial_Part1.html

 

Thanks to Michael Vance, everything I needed to know about rendering with GI (still and animated) is located here....or so I thought. I encourage all of you guys and gals to check that link out, it's super awesome.

 

So I dove back into my scene and tweaked my GI settings appropriately to remove the flickering and nasties. Mr. Vance warned me in his blog that rendering animated GI scenes is very intensive and WILL take some time to calculate. But because I'm able to SAVE the illumination pass and use it to speed up my renders from here on out, why not kick a render off, right?

 

I sat and watched the first of 13 "update passes" and it took about an hour to crank out at an average of 7sec. per frame. I calculated 15 hours for the entire render; painful, but acceptable for an overnight render as it should be done when I arrive at work in the morn. NOPE! 16 hours into the pre-pass and it JUST finished "update pass" #3....10 more passes left.....ouch. I guess each GI pass gets more and more intense, making it impossible to calculate a ballpark estimate. GI Pass #4 just started and it's taking ~10min. per frame, that's up from 7se. on the pass #1. KEEP IN MIND IT HAS TO DO 13 PASSES!!!

 

prepass.jpg

 

We're getting to the question at hand. Why is there no way to turn down the amount of GI Passes?? In Maya, this can be done, so I figured it would be SOMEWHERE in C4D....but it's not. I'm letting the render go because I don't have a choice and my deadline is a ways away. Also, since I can save and re-load the GI pass, that will allow me to do minor tweaks without making this pass completely useless.

 

Another reason this is taking entirely too long is that C4D is this: C4D saves a ".gi" file for each frame in the pass and that file keeps being overwritten as each pass becomes complete. BUT BUT BUT!!!! When the final frame of each pass is complete, C4D decides to make "Block" files....I have no idea why C4D is writing these files as they're not frames and they disappear and start again when the final frame of the pass is complete. And I KNOW when the GI pass has been completed, C4D is has to combine all of these .gi frame files into one .gi file. It's exactly like Vue7, if any of you have experienced the nightmares of that software haha.

 

blocksnframes.png

 

Hopefully some of you can shed some light on this, or if any of you have been through this experience in C4D r11, POST UP!

 

drew

Edited by subisan

Share this post


Link to post
Share on other sites

Ok, the confusion ensues.....

 

The passes seem to be totally random and not increasingly intensive, I can't make anything of it. The render is currently on Pass #5, the fourth pass took only 20min. I watched pass #4 start and BLAZE through all the way to the last frame, which then took 20min. to complete.

 

Here's the latest screen shot of the GI Pre-pass update window: (pay attention to the "Prepass Time" in this grab and compare it to the previous post)

 

prepass_update.jpg

Share this post


Link to post
Share on other sites

Are you outputting to a movie format or an image sequence? I've seen this a couple times, usually the quick solution was to send it to our render farm. If I remember correctly it only seemed to happen when rendering locally and out putting to a mov format, i think we solved/ work around it by rendering image sequences.

Share this post


Link to post
Share on other sites

Are you outputting to a movie format or an image sequence? I've seen this a couple times, usually the quick solution was to send it to our render farm. If I remember correctly it only seemed to happen when rendering locally and out putting to a mov format, i think we solved/ work around it by rendering image sequences.

 

Yes, I'm rendering to a .mov.

 

Awesome, I'll give it a shot and post my findings!

Share this post


Link to post
Share on other sites

Prepasses are determined by the Min Rate and Max Rate settings in the Record Density category on the Irradiance Cache tab of the GI dialogue.

 

From the manual:

When CINEMA 4D creates an Irradiance Cache it initially starts with a lower image resolution (Min. Rate) and progresses prepass-by-prepass to the final IR resolution (Max. Rate). A value of 0 results in full resolution (pixel size 1*1), a value of -1 = pixel size of "2*2", -2 = "4*4" and so on. The Min Rate value should logically be smaller than the Max Rate value. Positive values can also be applied, which will allow cache Records in the sub-pixel range (can be useful for SubPolygon Displacement if details are lost).

 

These resolutions apply only to IR calculations. Since the Irradiance Cache can be scaled relatively easily (i.e. lower IR resolution at larger image resolution) good results can often be achieved even when using smaller resolutions. Hence, these two parameters offer great potential for shortening render times, especially for brightly illuminated, low-detail scenes.

 

...

 

For example, a setting of -3/0 renders faster than a setting of 0/0 with practically the same result. Equal values (e.g. -3/-3) result in only a single pass at the defined resolution.

 

That said, GI animation modes are still going to take much, much longer to render than the still or camera animation modes.

 

Can you post your scene file? If necessary, just delete the geometry and leave your GI settings.

 

ETA: and yeah, render image sequences out of C4D...as with AE, if it crashes, you don't have to start from scratch, can preview the render as it's going, etc.

Edited by leahzero

Share this post


Link to post
Share on other sites

Leah has the right idea about reading the manual ;) . The C4D help does a pretty adequate job of explaining all this 'in depth' GI stuff:

 

Depending on the scene, the render time per frame in "IR+QMC (Full Animation)" mode can even be less than that of a still image!

 

To make this possible, the "IR+QMC (Full Animation)" mode takes advantage of a clever system consisting of various prepasses (approx. 4-14, depending on the animation) and temporally interpolated cache Records. This is an adaptive system that only updates necessary cache Records. The parameter responsible for determining when it’s necessary to update cache Record is "Interpolation".

 

The prepasses are split into three segments (which prepass is currently being rendered is displayed in the Picture Viewer):

 

Prepass 1-3: These prepasses determine how many cache Record entries will be required for the full animation and where these are located.

Prepass 4: The first and last frames of animation will be calculated.

Prepass 5-x: Each prepass halves the render time and calculates/interpolates the corresponding frame’s cache. Example: Your animation is 100 frames long. Prepass number 5 calculates/interpolates frame 50, prepass 6 calculates/interpolates frame 25 and 75, etc. This continues until all frames have been calculated/interpolated. Subsequently the full animation will be rendered without making any further changes to the cache.

 

Did you notice all the Irradiance Cache options in the GI settings panel? Stochastic samples, Record Density, Interpolation, etc? Is the question just how to make the process go faster? If so, the C4D help should explain pretty well how all those options affect render time. Beyond that, a somewhat janky way to speed up the GI pre-pass is to increase your frame step, calculate the GI, lock the cache, set it to auto-load, and then render at the original framestep.

Share this post


Link to post
Share on other sites

Thanks, you guys are amazing!! This is crucial info, I'll post up my findings shortly!

 

I just tried rendering to .iff's instead of quicktimes and there was no difference in rendering times. If I had a farm that would rule, but I have but one machine haha.

Share this post


Link to post
Share on other sites

Thanks, you guys are amazing!! This is crucial info, I'll post up my findings shortly!

 

I just tried rendering to .iff's instead of quicktimes and there was no difference in rendering times. If I had a farm that would rule, but I have but one machine haha.

 

Full animation GI doesn't work with the net render anyways, except for super simple scenes.

Share this post


Link to post
Share on other sites

I just remembered, it was a particular GI mode that caused the crazy render...even sending them to the farm did not help it would actually never start on the render farm. i want to say it was the camera animation + QMC that caused the issue. but i can't exactly remember. also are you rendering AO with GI? I had some stuff that looked like GI flicker but it was actually AO flicker.

Share this post


Link to post
Share on other sites

Is the question just how to make the process go faster? If so, the C4D help should explain pretty well how all those options affect render time. Beyond that, a somewhat janky way to speed up the GI pre-pass is to increase your frame step, calculate the GI, lock the cache, set it to auto-load, and then render at the original framestep.

 

That was part of the question, as Maxxon has done an Autodesk/Maya job of explaining everything GI related lol. I'm stoked to know that there is a way to decrease the number of passes because 13 GI passes seemed a bit excessive. Now that I know what these are and what they're respective values mean, I can further tweak my renders and their times.

 

I would post my scene if it was a personal project, but I can't post work related scenes.

Share this post


Link to post
Share on other sites

Full animation GI doesn't work with the net render anyways, except for super simple scenes.

 

 

Yep found this out the hard way a couple projects ago, also net render does not like .exr format.

Share this post


Link to post
Share on other sites

I just remembered, it was a particular GI mode that caused the crazy render...even sending them to the farm did not help it would actually never start on the render farm. i want to say it was the camera animation + QMC that caused the issue. but i can't exactly remember. also are you rendering AO with GI? I had some stuff that looked like GI flicker but it was actually AO flicker.

 

I'm rendering IR+QMC (Full Anim), because to my understanding is the ONLY sure way to a solid GI render with an animated camera AND objects. You can get by with doing IR+QMC (Camer Anim) ONLY if your camera is animated and nothing else in the scene is.

 

I am rendering AO with GI, but all of the flicker I've experienced has been GI related.

Share this post


Link to post
Share on other sites

I'm rendering IR+QMC (Full Anim), because to my understanding is the ONLY sure way to a solid GI render with an animated camera AND objects. You can get by with doing IR+QMC (Camer Anim) ONLY if your camera is animated and nothing else in the scene is.

 

I am rendering AO with GI, but all of the flicker I've experienced has been GI related.

 

You may want to try doing the AO pass separately. Usually when I have scenes with long rendertimes, I do a separate AO with GI off. Not entirely sure this has an impact on the rendertime of the AO itself, but since you'll usually separate the AO anyway, it doesn't hurt. And you save yourself the extra time you're taking to do the GI + AO simultaneously when you end up having to re-render.

Share this post


Link to post
Share on other sites

You may want to try doing the AO pass separately. Usually when I have scenes with long rendertimes, I do a separate AO with GI off. Not entirely sure this has an impact on the rendertime of the AO itself, but since you'll usually separate the AO anyway, it doesn't hurt. And you save yourself the extra time you're taking to do the GI + AO simultaneously when you end up having to re-render.

 

I'm rendering everything in separate passes, I should have stated that earlier. I absolutely LOVE C4D's compatibility with AE!

 

Here's my passes:

 

multipasses.png

 

I just rendered a 31 frame test with the following GI settings:

 

 

gi_gen.png

 

gi_cache.png

 

 

-Fail

-Animated camera and geometry

-31 frames

-33:30 for GI prepass

-2:06:00 total render time w/prepass

 

 

This test is a full on fail. Tons of GI flickering/scattering and the shadows were terrible at best. What's strange is that there are frames that rendered as they were supposed to. It seems the bulk of the flickering is happening in reflections and GI bounce on geometry. I should also add the geometry I have in the scene is extruded text, so it's not complex at all. Non-reflective geometry had no flickering at all and looked as it should. So, one could use the above settings in a non-reflective scene for incredibly faster render times.

 

The original render is still chugging away on another machine and probably will be through the night (it's been at it for about 23hrs so far), but I'm anxious to find out the final results.

 

I will get to the bottom of this! Thanks for everyone's input and help so far, it's greatly appreciated!

 

drew

Share this post


Link to post
Share on other sites

I don't have time to read everything you've posted in depth but it sounds to me like you're looking for a very simple solution for a very difficult problem(realistic lighting). GI is not a sure-fire solution and shouldn't be treated as such.

 

That said... it's hard to say without looking at your scene and seeing everything that is involved (lights, cameras, geometry, etc) ...but... Have you tried simply not using GI?

There are ways to achieve similar looks without have to the pay the tax of 10+min a frame.

 

Have you eliminated or solved for any possible problem areas (displacement maps, overly intricate geometry, etc...)

Maybe your problem isn't in the number of passes or the GI settings but could be related to the scene.

 

Impossible for me to say...

Edited by palmer

Share this post


Link to post
Share on other sites

I don't have time to read everything you've posted in depth but it sounds to me like you're looking for a very simple solution for a very difficult problem(realistic lighting). GI is not a sure-fire solution and shouldn't be treated as such.

 

That said... it's hard to say without looking at your scene and seeing everything that is involved (lights, cameras, geometry, etc) ...but... Have you tried simply not using GI?

There are ways to achieve similar looks without have to the pay the tax of 10+min a frame.

 

Have you eliminated or solved for any possible problem areas (displacement maps, overly intricate geometry, etc...)

Maybe your problem isn't in the number of passes or the GI settings but could be related to the scene.

 

Impossible for me to say...

 

I know I could achieve similar results without using GI, but I just wanted to use it I guess haha. Rendering without GI is def. problem free, so NOT using GI is also an option.

 

I don't have any problems inside the scene, i was merely wanting to figure out GI within Cinema4D in depth, I'm wanting to really disect it's settings and see the results. I know that it's gonna take forever for a solid GI render, but my main question was on adjusting the number of passes as you can in Maya (my native software) and that question has been answered thankfully!

 

The purpose of this thread now is fine tuning Cinema's GI for certain uses; final render, previews, etc. I really want to find out how close I can get to a "final render" without waiting 70+hours; decent client ready previews without flicker and such. I'm just looking for efficiency within the GI settings because time is money with client work! ;)

 

I'm going to focus my time tomorrow on figuring out what settings prevent GI flickering. And hopefully my render will be finished and look great! haha

 

drew

Share this post


Link to post
Share on other sites

I tried the AR3 GI when R11 came out and it drive me batty. took way too long. totally went crazy on net render. i was hoping it would replace vray for animations, and the compositing options are so much better - but alas, i went right back to vray. so easy to use.

Share this post


Link to post
Share on other sites

I'm waiting on a render now that has another day or so and I'm starting to freak out about this a little. I used camera animation instead of full animation. I have a round object spinning in place in a GI/HDRI light setup. So I'm probably going to have a few issues with flicker?

 

I also noticed when I rendered my background separately (with everything else in the scene off) I got two random frames. The sky animated correctly but one random would flash in two places. I tried it a second time and it happened on the exact same frames. It's only a two keyframe animation so that was weird.

 

I should be able to just duplicate the random frames and it shouldn't be noticeable but I think the animation is going to be messed up after reading this thread.

Share this post


Link to post
Share on other sites

Before setting something to render especially if its likely to be a really long one like a few days always do some tests before hand. Found that out the hard way as I'm sure most people did, just render out a second or 2 with your settings and see how it's looking, it should be enough to tell the overall look; you might have to crank some settings up but maybe are able to compromise some others to help with your render times. Hope it works out ok..

Share this post


Link to post
Share on other sites

Before setting something to render especially if its likely to be a really long one like a few days always do some tests before hand. Found that out the hard way as I'm sure most people did, just render out a second or 2 with your settings and see how it's looking, it should be enough to tell the overall look; you might have to crank some settings up but maybe are able to compromise some others to help with your render times. Hope it works out ok..

 

Yeah I think I rendered out the first 60 frames this time and didn't notice anything. Really I should probably render out a full length 320x240 version next time to be sure. Maybe that's why they still have that as the default setting. :)

Share this post


Link to post
Share on other sites

Is there and solve for the Block.gi files that it writes? Our net render engine machine had 46,000+ of them resulting in a machine with 0kb free space and it all happened in a day. weird. what would cause this and how can i stop it from freaking out like this in the future?

 

Brian

Edited by b_foote1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...