2.1 Render detail discrepancy...

Started by dandelO, December 16, 2009, 10:30:04 AM

Previous topic - Next topic

dandelO

Just a quick question that hopefully has an answer.

This first image was rendered in 2.0...
[attachimg=#]

Looks ok, render settings were;
Detail = 0.7
AA = 6
GI = 0/0

Now, see the following post for the exact same scene, exact same render settings, the only difference between the two images rendered was the checking of 'ray trace objects' and 'ray trace everything'(both are probably completely unneeded for this scene as the only object is the planet and nothing is imported, I just wanted to see if there was any difference)...

dandelO

Now, here's the image rendered in 2.1...

[attachimg=#]

There is a definite lack of overall render detail, the specularity of the grass now resembles plastic because of the detail drop.
This one looks like it was done in the default quick renderer or something.
Also, the second render, this one, took twice as long as the first one posted in the thread title post. ???

Is there any obvious reasons why there is such a big difference between them?

Cheers, folks!

dandelO

Checking 'ray trace everything' is the culprit. But why? And why the doubled render time for less than half the output quality?

Tangled-Universe

#3
Quote from: dandelO on December 16, 2009, 10:53:47 AM
Checking 'ray trace everything' is the culprit. But why? And why the doubled render time for less than half the output quality?



Because the new raytracer is not suitable/optimized for rendering micropolygon surfaces. Hence the crappy result and rendertime.
You also can't use displacement on objects anymore (but you can use bump-map/functions) when you render objects/populations with the new raytracer.
Basically TG2.1 has 2 renderers now, a micropolygon renderer which is optimized for rendering/handling procedural terrains with very small scale displacements and able to handle insane amounts of polygons and a raytraced renderer which is faster and better in rendering objects/populations.

So for renders containing terrain you don't use "ray trace everything", you "only" do that when you render sky/object-only renders.

The quality of populations, IF raytraced objects enabled!, is determined by the AA quality settings. AA6 gives very nice results already.
For final renders I often use AA8.


Matt

#4
For most scenes we recommend that you turn ray trace objects on, and leave ray trace everything off.

Here's a quote from the changes log:

Quote
"Ray trace everything" option in the render node. This may be useful in scenes where atmospheres and clouds can be rendered more efficiently by the adaptive ray tracer than by the micropolygon renderer. For most typical scenes, however, this option should be disabled.

For terrain, the most efficient way to render is using the default micro-polygon renderer, the way it always used to. Ray tracing the terrain is slower. It also loses detail because the ray tracer works off a lower detail version of the displacements in order to make it fast enough for use in shadows and reflections. The reason the option is given to you is because sometimes you can get higher quality clouds and atmosphere when you use this option, but as you can see it's not a good idea when the terrain is an important part of your scene.

The situation is different with ray trace objects. Imported objects and the built-in grass clump often render faster with the ray tracer, and in most respects the quality is higher. When these object are very complex or you have many of them (e.g. in a population), the speed is much better.

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

Matt

In the next few days I am going to write more about the new renderer changes and how you can get the best out of them.

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

dandelO

Thanks, Martin, for the clarification. I was a little confused over this.

So, basically, 'ray trace everything' is not suitable for rendering procedurals but it is for everything else, is this right? The object ray tracer is the only one I want to check in a mixed element(procedurals and objects) scene?

dandelO

#7
Thank you, too, Matt. You've answered my main question already.(and I had read the release notes, too. I just wasn't sure of these render results with the lack of procedural detail).

Cheers, guys! :)

EDIT: I assume that the 'planet' node isn't classed as an 'object' then in this case, even though it is one?
Only imported objects and the internal grass clump? What about the sphere/plane/disc/lake/etc?

RArcher

You also have to remember that if you do check the Ray Trace All option you are also ray tracing the atmosphere, clouds, shadows etc. which can cause render times to skyrocket depending on the scene, like if you are working on sunbeams, fog, etc. 

Unless you really know exactly what you are looking for it is generally a good idea to check each raytracing option individually instead of going with the "all" option.

Matt

#9
When you enable ray trace objects the following types of objects are rendered using ray tracing:

Grass Clump
LWO Reader
OBJ Reader
Rock
TGO Reader

They are optimised for ray tracing, and optimised for rendering in populations with or without ray tracing.

All the other object types are rendered using the micropolygon renderer so that displacements are rendered correctly and efficiently:

Disc
Lake
Plane
Planet
Sphere

However, if you enable ray trace everything, these displacement-friendly objects take longer to render and their displacements are rendered at a lower detail.

(Edit: Lake is one of the displacement-friendly objects)
Just because milk is white doesn't mean that clouds are made of milk.

dandelO

#10
I'm still noticing a real difference in render time with objects in scenes, specifically internal grass clumps, since they were mentioned before. Using the micropolygon renderer is nearly twice as fast as the new ray traced objects option. Even with low AA settings. This seems to be contrary to the release notes.

Micropolygonal rendering seems to also look better, aswell. Ray tracing grassclumps seems to me like using very low quality settings in the old MP renderer. They are barely visible when raytraced. I'm confused.

I'll wait on more documentation on these settings, like Matt said was coming soon.

EDIT: Thanks for the clarification on which objects are ray traced, Matt. We posted at about the same time so I'd missed your last post.

P.S. I'm not complaining, not by any means, just confused. Thanks for the input and help. :-[

Matt

#11
Quote from: dandelO on December 16, 2009, 01:10:40 PM
I'm still noticing a real difference in render time with objects in scenes, specifically internal grass clumps, since they were mentioned before. Using the micropolygon renderer is nearly twice as fast as the new ray traced objects option. Even with low AA settings. This seems to be contrary to the release notes.

With simple objects or very few objects, ray tracing the objects may be slower. The big speed gains come with large, complex objects or populations, but in most scenes you will probably cross that threshold pretty quickly. The alpha testers have found that the complexity doesn't need to be very high to get the benefits of ray tracing.

Quote
Micropolygonal rendering seems to also look better, aswell. Ray tracing grassclumps seems to me like using very low quality settings in the old MP renderer. They are barely visible when raytraced. I'm confused.

The ray tracer is more accurate. The micropolygon renderer tends to make thin parts of objects appear thicker than they should be. It's unfortunate that they don't look exactly the same, but I can't make the ray tracer completely match the old look. To get the best quality that wouldn't be desirable anyway.

Quote
P.S. I'm not complaining, not by any means, just confused. Thanks for the input and help. :-[

Not at all :)  I know these are big changes that need explaining well.
Just because milk is white doesn't mean that clouds are made of milk.

Henry Blewer

I have been picking up my jaw at the new render speeds. I am getting used to the new version, but I am very happy with what I have experimented with. Some of you guys with faster computers may not notice the speed up of the renders, but it has impacted my machine in a big way.
http://flickr.com/photos/njeneb/
Forget Tuesday; It's just Monday spelled with a T

Dune

What was that about using bump maps/functions, TU? You mean inserting a bump map for displacement inside an object will get it bumped when ray-traced? I'll check that anyway. Some close-up trees (e.g.) would need a little roughness. I tried getting frost on grass leaves by inserting a small sized fractal (displaced), but it didn't have the result I hoped for, although it did roughen the white.

---Dune

Tangled-Universe

Quote from: Dune on December 17, 2009, 02:48:35 AM
What was that about using bump maps/functions, TU? You mean inserting a bump map for displacement inside an object will get it bumped when ray-traced? I'll check that anyway. Some close-up trees (e.g.) would need a little roughness. I tried getting frost on grass leaves by inserting a small sized fractal (displaced), but it didn't have the result I hoped for, although it did roughen the white.

---Dune

If I understood correctly you can't displace the objects anymore when using the raytracer for rendering the objects, instead you can use imagemaps or fractals to create a bumpfunction to mimic displacement/added geometry. The roughness obtained is "fake" (in terms of geometry) but it will probably give a better look as if it is really displaced.

You should be able to find some more info about this on the dev forum. If I find it I'll PM it to you.

Martin