Feature Request: SuperSampling AA

Blender's renderer and external renderer export

Moderators: jesterKing, stiv

mpan3
Posts: 0
Joined: Wed Mar 24, 2004 7:16 pm

Feature Request: SuperSampling AA

Post by mpan3 » Sat Jun 10, 2006 5:28 am

Have you had instances where 16x multisampling just isn't enough? I am not sure if the traditional motion blur method will still be implemented, but 16x AA is often not enough when i am working with high frequency textures or shaders*. The solution is obviously to render the image at say 2, or 4 times the desired resolution and then scale it down. But currently there is no way to do this within blender, and it's a pain to scale it down in an external video compositor because of disk usage limitations.

*For example when you have a noise texture to achieve blurred reflection.

Caronte
Posts: 76
Joined: Wed Oct 16, 2002 12:53 am
Location: Valencia-Spain-Europe

Post by Caronte » Sat Jun 10, 2006 6:05 pm

I second that.

When I see images from another render engine, ever think the same:
"I never could do this nice antialiased details with Blender" :(
Caronte.
"Some Day, All Will Be Digital"
http://www.nicodigital.com

mpan3
Posts: 0
Joined: Wed Mar 24, 2004 7:16 pm

Post by mpan3 » Sat Jun 10, 2006 6:58 pm

should i submit this request to somewhere else?

Toon_Scheur
Posts: 0
Joined: Sat Nov 06, 2004 6:20 pm

Post by Toon_Scheur » Tue Jun 20, 2006 4:01 pm

And when 16xAA or 32 x AA is not enough, then what? If you realy want to show that detail that is 1/100 th of the width of a pixel, why not render it 5000x6000 or something?

According to Shannon sampling law, the sampling frequency should be twice the highest frequency in your dataset. The highest frequency I can imagine in a digital picture is when you have alternating black and white pixels. So theoreticaly 2x AA should suffise.....but such an alternating block pattern has infinite frequencies (fourier transform).... so practicaly you need a infinite filter in those worst case scenarios. In conclusion it boils down to this: how can the ARTIST manipulate the image to make it look good anyway?

Caronte
Posts: 76
Joined: Wed Oct 16, 2002 12:53 am
Location: Valencia-Spain-Europe

Post by Caronte » Tue Jun 20, 2006 7:06 pm

I don't know about the AA theory, but I'm tired to see the awesome tiny details that everybody can obtain (in example) with Vray and otherwise, I'm tired of seeing to much moire on my high contrasted images.
Blender has a better AA than before, but far to be good as the other renderers.
Caronte.
"Some Day, All Will Be Digital"
http://www.nicodigital.com

Toon_Scheur
Posts: 0
Joined: Sat Nov 06, 2004 6:20 pm

Post by Toon_Scheur » Tue Jun 20, 2006 8:42 pm

I don't know VRay, but I will asume Vray uses raytracing. OK, let's assume you can control the raytracing process.... say let's shoot a few thousands of rays per pixel. You'll get very high quality images........ in time. Maybe Vray renders fast due to clever render algo's.

There was this Siggraph paper about factored BRDF sampling, which means high quality sampling in less time. I wrote the author of this paper once. He was interested in Blender, but he doesn't have the time to plunge into the code. In Elysiun one of his students picked this up and he said he will discuss with the Siggpraph author how he can help out. It was almost a year ago.... but I still have hope. He said he was willing to donate the code though..... :P

To come back at AA stuff. Maybe the question could be also: to scanline or not to scanline. It seems (I've read it somewhere...maybe something about the proces of Robots the movie) that a scanline renderer is fast for simple scenes. But if you have a very complicated scenery, you better off with raytracing. Why? Let's assume you want to render a forrest. All those Z-buffer sort algorithms, and visibility algorithm will bog down the scanline renderer. You'll get a huge speed increase with similar quality while raytracing because the rendering proces is less depended of the complexity of the scene. The ray bounces of the first leaf and get recorded, then the ray bounces from the 12 th leaf and get recorded. No sort algo's. I can imagine you'll get Moiré effects when rendering with scanline. Maybe with pure raytracing (optimize the octree for this) this effect is less noticeable?

And please correct if I'm telling fairytales here, I'm not THE expert on this topics :oops:

Caronte
Posts: 76
Joined: Wed Oct 16, 2002 12:53 am
Location: Valencia-Spain-Europe

Post by Caronte » Tue Jun 20, 2006 9:50 pm

Toon_Scheur wrote:I can imagine you'll get Moiré effects when rendering with scanline.
I get moire on high contrasted illumination over very thin geometry, rendering with the internal renderer.
Toon_Scheur wrote:Maybe with pure raytracing (optimize the octree for this) this effect is less noticeable?
If you are talking about use the RAY button in F10, I all the time use it, because need AO but this not fix the moire in any way.
Toon_Scheur wrote:And please correct if I'm telling fairytales here, I'm not THE expert on this topics :oops:
:D I like to read posts like your, because I feel not alone in the search of a solution for the AA problem ;)

Sorry by my poor English :oops:
Caronte.
"Some Day, All Will Be Digital"
http://www.nicodigital.com

Lynx3d
Posts: 0
Joined: Tue Jan 24, 2006 5:09 pm

Post by Lynx3d » Thu Jun 22, 2006 12:15 pm

Uhm...AA quality has nothing to do with whether you use raytracing or a scanline algorithm, both either hit the geometry or not. What determines quality is:
- number of samples
- placement of the samples
- choice of reconstruction filter
Unless you haven't noticed, Blender has a nice choice of filters already...but using fixed sampling positions are prone to Moiré-like effects,
Toon_Scheur wrote:According to Shannon sampling law, the sampling frequency should be twice the highest frequency in your dataset. The highest frequency I can imagine in a digital picture is when you have alternating black and white pixels. So theoreticaly 2x AA should suffise.....but such an alternating block pattern has infinite frequencies (fourier transform).... so practicaly you need a infinite filter in those worst case scenarios. In conclusion it boils down to this: how can the ARTIST manipulate the image to make it look good anyway?
You didn't understand the problem really, your data-set is the scene, not your rendered image. A single polygon edge has an infinite spectrum already, you can never render it without removing information. All you're trying is to do is prevent visible aliasing by taking enough samples to cut off as much as possible from the bandwidth that exceeds the maximum frequency your image can represent (max image frequency is alternating b&w pixels). To do this task perfectly, you'd need to have a 2*infinity sampling rate, obviously not possible ;)
However the human eye can forgive some sampling artifacts better than others. For example, high-frequency noise is usually less obvious than repeating patterns, slight blurring more acceptable than ringing etc. that's where the filters come in too, each doing a different trade-off between complexity and various unavoidable aliasing phenomenas.

Rendering at higher resolution effectively just increases sampling frequency after downsampling too, but by instead using more samples per pixel you can:
- try to find smarter sampling positions
- save a lot of RAM

So i agree that at least 32x supersampling still makes sense, sometimes maybe even more. But some oversampling like videocards do could help on geometric details a lot without such extreme extra-costs...basically re-weighting samples by additional hit-tests.

The scanline vs. raytrace debate doesn't really belong here...

cekuhnen
Posts: 0
Joined: Mon Jan 13, 2003 11:04 pm

Post by cekuhnen » Thu Jul 06, 2006 1:20 am

i agree here as well.

blenders aa isnt the best. and it also produces swimming artifacts in some cases.

and i strongly have to agree that blender is not able to renderout fine details. since i try to replicate brushed metals in blender i noticed that issue there.

claas

M@dcow
Posts: 0
Joined: Sun Apr 20, 2003 12:50 pm

Post by M@dcow » Thu Jul 13, 2006 1:31 pm

I couldn't agree with you guys more, as it stands now blender just doesn't cut it.....here's a post I made regarding this subject:

http://blenderartists.org/forum/showpos ... ostcount=6

In a sentence, blender has the worst bump mapping and anti aliasing of any 3d program I have ever used. and I've used a lot.

cekuhnen
Posts: 0
Joined: Mon Jan 13, 2003 11:04 pm

Post by cekuhnen » Thu Jul 13, 2006 7:19 pm

i ran into that issue as well quite often with my brushed surface textures.

it was so bad i gave up.

mpan3
Posts: 0
Joined: Wed Mar 24, 2004 7:16 pm

Post by mpan3 » Fri Jul 14, 2006 2:31 am

you gave up blender because of sampling issues? :shock:

Well, while in effect any sampling issues can be resolved via rendering an insanely large image and then size it down using a high quality kernel such as lanzcos, the time and memory consumption of doing this in a 3rd party program makes it unrealistic. for example:

1 uncompressed 1080p HD quality frame is 6mb.
to solve certain sampling issues this frame might have to be rendered at AT LEAST twice the dimension, hence the image becomes 24mb. Now this is fine if we are doing a still image, but for motion picture productions, not many people have the leisure of allocating 24mb for A FRAME, and read them into memory, scale them down, and write a 6mb version. Now, if blender can do this scaling down internally, the final frame will still be 6mb, and won't require the additional processing time to scale down the image.

Isn't the whole point of Blender to make the artist's job more streamlined and less tedious?

Lynx3d
Posts: 0
Joined: Tue Jan 24, 2006 5:09 pm

Post by Lynx3d » Fri Jul 14, 2006 2:51 pm

The bump mapping vanishing on small incident angles comes not from AA though, that comes from texture filtering...simply disable MIP on bump maps and voilá...happens in most other 3d software too btw...
the only reason why it happens not in YafRay is that it doesn't even feature texture filtering yet... :roll:

Toon_Scheur
Posts: 0
Joined: Sat Nov 06, 2004 6:20 pm

Post by Toon_Scheur » Fri Jul 14, 2006 3:25 pm

LOL :
you gave up blender because of sampling issues? Shocked
Cekhunen is one of the strongest Blender advocates around. I think he gave up on trying to get this bumpmapping thing working.
Well, while in effect any sampling issues can be resolved via rendering an insanely large image and then size it down
Isn't it what a standard block filter does anyway?
what's the point in doing that when in fact it can be done faster with OSA? Of course if you want a 64x64 filter or a 128x128 filter, indeed you should render at higher image sizes and sample it down. And furtermore, there are better filters with better performance already (like catmull-rohm, tent and such)

While watching robots, I often seen those Moireé effects. It depends on the media too you know. On a television, this effect is less noticeable because the CRT does its own AA (gauss filtering). Each incident electron beam spreads out a little.

So in conclusion, the target medium matters a lot too when rendering. You'll have less jaggies and moireés when watching the same animation on a 20 year old TV than when you are watching it on a 42" HDTV LCD screen or something.

M@dcow
Posts: 0
Joined: Sun Apr 20, 2003 12:50 pm

Post by M@dcow » Fri Jul 14, 2006 5:41 pm

Lynx3d wrote:The bump mapping vanishing on small incident angles comes not from AA though, that comes from texture filtering...simply disable MIP on bump maps and voilá...happens in most other 3d software too btw...
the only reason why it happens not in YafRay is that it doesn't even feature texture filtering yet... :roll:
Rather unsurprisingly, I thought of that.....years ago. Doing this creates a slew of other nasty problems, so no, this is not the soulution.

Im tired of people telling me that it's because I'm doing something wrong, because I'm not. I know this software like the back of my hand and I know that there isn't a magic combination of buttons I can press to get it working right. It's simply faulty. Period.

Post Reply