Logo by Sockratease - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. October 02, 2018, 02:24:32 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: color banding  (Read 1775 times)
Description: having issue with bit-depth in background
0 Members and 1 Guest are viewing this topic.
bengvc
Alien
***
Posts: 34


« on: May 19, 2013, 04:31:10 AM »

I've been rendering saving to jpg, which I would have thought at max quality would be pretty clean of artifacts, just baking in what's there. I noticed pretty severe banding in the background gradient, when I attached to this post, I cranked the jpg compression up, seeing the banding worsen, so kind of answering my own question here, but can someone say if the bit depth of the gradient used in a scene with fog as seen here is 8-bit? If saving to PNG is the fix, I can do that. Thanks.


* sample_banding.jpg (68.43 KB, 1280x783 - viewed 194 times.)
« Last Edit: May 19, 2013, 04:41:46 AM by bengvc » Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #1 on: May 19, 2013, 09:15:45 AM »

do not overvalue 8 bit gradients wink
basically for a picture with more than 256 lines you have doubled lines, then it comes down to the color distance,
if your color is for example 128,128,128 (gray) and you want a gradient to 178,178,128 (yellowish grey) there are
just 50 in between colors that can be generated, 256 bit gradients is veeeery oldschool, lol but image formats have
not adopted to higher bitrates, as far as i know mandelbulb can "load" 48 bit images, but it is hard to export them
choose larger contrasts for smooth gradients sad

if you have a 1080p image no gradient will ever look perfectly smooth....

does the gradient loook good on screen? then try png wink
Logged

---

divide and conquer - iterate and rule - chaos is No random!
bengvc
Alien
***
Posts: 34


« Reply #2 on: May 19, 2013, 02:14:48 PM »

That makes good sense, thanks for explaining the issue. Though my two computer runs 64-bit, does M3d not make use of that? As an alternative to bumping up the contrast in the background gradient, might this be my motivation to start saving out z-buffer and learn to composite? I'm seeing folks drop scene elements, e.g. sky and water into M3d scenes, helps sell the scale and worldliness in the imagery, unsure how one matches angle and lighting. You obviously can't fill my knowledge gap here, but do you know of tutorials to take basics to the next level.

I have another question, while we're at it. In response to your post elsewhere on morphing two formulas, I'm very interested in that. I must have key framed two parameters from one formula, thinking I was experimenting with two formulas, because what morphed was shockingly beautiful (I went back to add 750 between frames to expand the nutso fractilisciousness). The idea of stepping out of the way to tease deeply hidden secrets from the nature of fractals appeals to me. You outlined the means to allow the interpolation, but I'm unclear how to implement your chunk of code. If I have formula 1 at key frame 1 and f2 at k2, where do I how do I make use of your code providing for the interpolation?

Vielen Dank!
Logged
blob
Strange Attractor
***
Posts: 272



« Reply #3 on: May 19, 2013, 04:29:56 PM »

Unless I am completely mistaken and there is an option I failed to see, M3D doesn't appear to dither the ]gradients it generates so you'll have banding.

There is nothing you can do about it aside from replacing your gradient with a dithered one in post-pro in an image editor such as Photoshop.

Dithering (addition of subtle noise) during generation or dithering down a higher bit depth image to 8bit per channel is the only way any gradient will appear smooth on current 8bit per channel display devices.
Logged
bengvc
Alien
***
Posts: 34


« Reply #4 on: May 19, 2013, 05:46:09 PM »

Thanks. In order to dither the gradient, I first have to select it, would the z-buffer provide that selection? For animation, that wouldn't happen in Photoshop, well possibly as a batch process, but wondering how that might look in After Effects compositing ap.
Logged
Jesse
Download Section
Fractal Schemer
*
Posts: 1013


« Reply #5 on: May 19, 2013, 06:14:51 PM »

The banding in the sample image is most probably due to the jpeg color subsampling, i will see if there are better color sampling shemes with higher bitdepth values.

A not optimal workaround would be to add a little noise before saving as jpeg, what decreases the banding somewhat.
So i a suggest to store in png format to get the best result, what is no solution for uploading here of course.

Usually 8 bits of color depth is ok for displaying, also without dithering.
But sometimes gamma or other corrections of the display output, that are done in 8 bits depth, can result in having less than 256 gradients left and you would see this banding artifacts always in smooth color areas, regardless what image format.
Logged
blob
Strange Attractor
***
Posts: 272



« Reply #6 on: May 19, 2013, 07:09:35 PM »

Thanks. In order to dither the gradient, I first have to select it, would the z-buffer provide that selection? For animation, that wouldn't happen in Photoshop, well possibly as a batch process, but wondering how that might look in After Effects compositing ap.
z-buffer is immediately suited for depth masks rather than for isolating the object from the background but you should be able to easily generate a useable mask from it for the latter by tweaking it with the basic color correction tools in photoshop, levels, curves, brightness/contrast or even thresholding.

You could also directly generate a binary mask from M3D by using adequate color settings. I have attached a color setting file to that effect (might or might not work for you but it'll give you an idea anyway)

Sometimes I am able to satisfactorily remove banding using the free diffuse photoshop plugin by Richard Rosenman, it'll need proper masking/selection too and several passes might be needed, a too high radius will generate visible noise. I prefer using this over adding noise.

http://www.richardrosenman.com/software/downloads/

Btw I am also attaching a preset rendering a simple 1080p greyscale background gradient which clearly shows banding, it sure would be nice if there was a dithering option in M3D. smiley

* Mask.zip (0.34 KB - downloaded 61 times.)
* Banding.m3p (1.93 KB - downloaded 68 times.)
Logged
bengvc
Alien
***
Posts: 34


« Reply #7 on: May 19, 2013, 07:26:07 PM »

Many thanks, very clear, I like the idea of setting the background colors to make it easier breaking out the background. I suppose a solid blue or green could be used as a chroma key (making sure nothing close to it appears in the fractal itself). I've yet to see how well I can avoid all this just saving out as PNG, not wanting to interrupt renderings (keep two machines cranking 24/7 on HD stereo animations). I should have known better than to save in jpgs, but as most imagery looks fine, only these problem child moments here and there, I was wangling that against storage issues. I'm now thinking, deal with it, do it right. Anyway, thanks for the files, I'll explore. Perhaps, a request on the suggestions page for M3d is in order.

Best,
Benjy
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #8 on: May 19, 2013, 08:18:57 PM »

using the chroma keying is just fine, standard rules as for real videos apply the same, i used it several times!
Logged

---

divide and conquer - iterate and rule - chaos is No random!
bengvc
Alien
***
Posts: 34


« Reply #9 on: May 19, 2013, 11:10:15 PM »

Okay, chroma keys will work, and maybe Jesse will juice the bit-depth to address the issue. What bit-depth does M3d support anyway, 32? Would a 64-bit build solve this issue?

Also, Mr. Kleinhuis, since you're here following this thread, can you fill in the gap on how I'm to implement your code when keying between two formulas, or would you rather I respond to that thread where it began? I'm so very interested in what happens between two formulas, stretched out one result between 750 frames and my eyeballs about fell out. It's like dosing fractals with new genetic code to preserve variability in the gene pool, out of control in the best way.

Thanks for all the help here.
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #10 on: May 19, 2013, 11:59:30 PM »

attached you have an animation file, load it from the keyframe window in mb3d
it is a mandelbulb8 morph to a menger3

the only steps i did there:

1. go to formulas tab
2. go to formlua index tab 2
3. assign a formula there (i used menger3 )
4. choose in the top "interpolate" as hybrid method, then a "weight" value appears in the formula index tab
5. setting weight of formula 2 to the value of 0 (just because we are in formula tab2)
6. setting weight of formula 1 to the value of 1 (this should be default
7. open animation window
8. press add keyframe from current
9. setting weight of formula 1 to the value of 0 (now reverse, formula index tab 0 should be still open)
10. setting weight of formula 2 to the value of 1 (now reverse interpolation values, making a "crossfade")
11. in the animation window press "add keyframe"
12. now check settings of animation window, make sure "linear interpolation" is selected, if not start/end values might overshoot
13. navigate with the keyframe stepper to frame 0 and enter the desired amount of inbetween frames(the example as 1000)
14. press "Preview" in the keyframe window

* MORPHEXAMPLE.m3a (62.77 KB - downloaded 65 times.)

* morphgif.gif (180.98 KB, 120x90 - viewed 306 times.)
« Last Edit: May 20, 2013, 12:04:15 AM by cKleinhuis » Logged

---

divide and conquer - iterate and rule - chaos is No random!
blob
Strange Attractor
***
Posts: 272



« Reply #11 on: May 20, 2013, 12:05:09 AM »

There is no relationship whatsoever between image bit depths and whether your operating operating system/application is 32bit or 64bit.

Compiling a 64bit build of M3D would not magically make it generate images of higher bit depth. wink
Logged
bengvc
Alien
***
Posts: 34


« Reply #12 on: May 20, 2013, 01:45:56 PM »

So, bit-depth of the processor unrelated to bit-depth of what's processed. Thanks.

Thanks, Kleinhuis, for putting the dots that close, inverting the relationship between weights within the interpolation transform, nice. I'm now curious to understand what's behind my accidentally successful approach whereby I simply key framed one set of parameters formula 1, pasted in parameters formula 2 into key frame 2, resulting in bizarre behavior. I tried this on numerous other formulas with the result predicted by Jesse, sudden change over single frame, others blank. That is, with one exception, so 2 out of 15 or so attempts resulted in nothing. So, two out of about 15 (including that first blind luck attempt)... wow. The transition wasn't smooth, like throwing a monkey wrench in, Frankenstein's M3d nervous breakdown, outgoing formula appeared obliterated, randomized colors every frame, structure more gradual, but convulsing, shattering, disintegrating eventually into dust, then blank frames, then incoming formula pops into being. I'd be curious what you mathematicians make of such odd behavior that Jesse says shouldn't be, most of the time isn't, but sometimes works.
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #13 on: May 20, 2013, 04:21:27 PM »

you need to make sure that the formula set up is the same for each keyframe, switching formulas results in the breaks!
Logged

---

divide and conquer - iterate and rule - chaos is No random!
bengvc
Alien
***
Posts: 34


« Reply #14 on: May 20, 2013, 04:30:32 PM »

Right, I understand about the breaks, I was asking about these odd cases whereby I don't get the break, at least not through a long sequence of frames before the break. For instance, I set 750 keyframes between formula 1 and formula 2, the first 500 or so in these exception to the rule case will return these beautifully junked up transitions before the collapse into noise. Perhaps, I should provide an example, will work at that later today. I hope my question is clear.
Logged
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Determining color Programming « 1 2 » kronikel 15 2230 Last post January 21, 2011, 08:00:20 PM
by Duncan C
Color bands Mandelbulb 3d bib 6 941 Last post March 10, 2011, 10:23:13 PM
by marius
It's all about color Mandelbulb 3d chaos_crystal 4 1022 Last post March 07, 2011, 07:32:54 PM
by Madman
Color Box Gestaltlupe Gallery trafassel 0 406 Last post October 02, 2011, 08:32:30 PM
by trafassel
Distance Estimated Soft Shadow Banding Artifact Programming Geometrian 1 1080 Last post May 05, 2013, 06:21:59 PM
by elphinstone

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.361 seconds with 28 queries. (Pretty URLs adds 0.028s, 2q)