Back-Face Culling?

Started by joshbakr, March 27, 2008, 11:40:32 AM

Previous topic - Next topic

joshbakr

I've been working on a scene which includes some procedural grasses and it's pretty slow to render which I understand. However I've been waiting over an hour for the backside of a knoll which isn't even in view of the render camera and won't be seen in the image when finished. In the old TG9 we had an option of Back-Face Culling which I believe prevented unseen areas from being rendered, thus saving large amounts of computer time. I don't believe this could be used when doing animations but for static images it would be great.  Below is a shot of what I'm referring to. I've asked this question before but don't recall getting a satisfactory answer.


rcallicotte

Yes.  We need this.  Please.   ;D
So this is Disney World.  Can we live here?

Seth

+1 on this one too !
didn't know it was an option on TG0.9, but i don't understand why it's not present in TG2 Oo'

old_blaggard

Matt's already said that backface culling is much more difficult to implement with TG2's engine than it was with TG 0.9's.  We'll hopefully see it sometime, though.
http://www.terragen.org - A great Terragen resource with models, contests, galleries, and forums.

joshbakr

Well guys, looking back I did see where Oshyan said it was implemented, but to me it doesn't seem to help much.

rcallicotte

Maybe this is one of those things that can (PLEASE!!!) wait until we get the next version.   
So this is Disney World.  Can we live here?

Matt

#6
Back-face culling isn't an option in TG2 because back-face culling is always done where possible. It is equivalent to always being enabled. The only time it is disabled is if you enable "double-sided" on an imported object, and it is only disabled for that object.

Back-face culling only looks at the direction in which a surface is pointing, not whether it will be covered up by other parts of the scene. It is different from occlusion culling, whereby parts of the scene that will be covered up are not rendered. Terragen tries to do this by rendering front-to-back, but there are some situations where it finds it difficult to predict which parts are closer than others, because of the way it is often working with very large polygons and subdividing them as it renders. It may be possible to improve this in future by performing a pre-subdivision stage to the rendering. I intend to work on this in future.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

Seth

thanks for the explaination Matt

rcallicotte

I agree with Seth.  Thanks Matt.  This makes sense.  Wouldn't have known about this otherwise.
So this is Disney World.  Can we live here?

peejay

"It may be possible to improve this in future by performing a pre-subdivision stage to the rendering. I intend to work on this in future."

Thanks for the explanation Matt. The frustration is somwhat alleviated by knowing what the problem is.

This is probably a silly question (cos I don't understand the way the program works) but hasn't TG2 already done some of this work in the preview window? I know it's not as detailed but can't some of what it's already figured out be somehow grabbed and used to prevent the really obvious stuff being done twice?
adamans rebellis quod iustus nos

Matt

Perhaps. The implementation could be quite messy though. Really it shouldn't be too hard to do a basic level of subdivision right at the start of the render and then use those subdivided polygons for final render. I started working on that a few years ago, but I couldn't get it working properly. It's just something I need to allocate enough time to work on.

Matt
Just because milk is white doesn't mean that clouds are made of milk.

bobbystahr

Wow..it's really true...you learn something every day...thanx for the great explanation Matt...much appreciated when the developer steps up to the plate...so rare in most apps.. ...
something borrowed,
something Blue.
Ring out the Old.
Bring in the New
Bobby Stahr, Paracosmologist