<p>I don't have enough rep to add a comment so...</p>

<p>You could use a post process based anti-aliasing technique like FXAA or SMAA. Also, if performance is not a priority, you could go for <a href="https://en.wikipedia.org/wiki/Supersampling" rel="nofollow noreferrer">SSAA</a>. Another option could be to write to a multi sampled texture (I'm not 100% sure if that is possible in your case).</p>

CC BY-SA 3.0
2017-08-25T21:58:52.317Z
I'm not sure if anti-aliasing techniques would work for me. As far as I understood AA it aims to smooth these so called jaggies, so it works small-scale. But that's not my concern. My goal is to eliminate this 'large-scale' blocky appearance so that a great amount of neighboring pixels will change their color in order to manipulate the big picture.
Muad
CC BY-SA 3.0
2017-08-27T19:01:48.067Z
@Muad Gaussian blur?
joojaa
CC BY-SA 3.0
2017-08-25T16:33:49.097Z
2017-08-25T16:33:49.097Z
Nacho
<p>I have a screen-aligned texture resulting from multiple rendering passes. It looks  about this:</p>

<p><img src="https://i.sstatic.net/Adod4.png" width="250" alt="textureToBeSmoothed"></p>

<p>I want the edges to appear smoother than they do now (but still keep their characteristic shape). When zooming in, the blocky appearance becomes very obvious. Is there a common approach in computer graphics (or in OpenGL in particular) to resolve this? Since the texture results from the application of the <a href="https://computergraphics.stackexchange.com/questions/4830/understanding-jump-flooding-algorithm-jfa-for-voronoi-diagrams">jump flooding algorithm</a> the what-ever approach has to be performed in a post-processing step. I'm so far just interested in the approach(es) itself, not in the implementation.</p>

CC BY-SA 3.0
2017-08-26T00:19:39.417Z
Would blurring the image do what you want? It would produce a gradual transition between colors. Or do you want to retain the sharp edge between the colors, but remove the noisy small-scale details?
Nathan Reed
CC BY-SA 3.0
2017-08-26T10:04:15.380Z
It's more the latter that I want. E.g., a highest 'degree of smoothing' could produce proper circles. So what I want is the boundaries between the different colored zones to be more straight or linear, respectively. Hope this helps clarify. If not, I will probably have to sketch it...
Muad
CC BY-SA 3.0
2017-08-30T06:21:11.183Z
a reasonable approach would be blurring and then limit the amount of colours using k-means or a pallete
Sebastián Mestre
CC BY-SA 4.0
2018-08-09T18:40:37.697Z
You could try doing a few passes of setting each pixel to the majority of its vicinity.
Sebastián Mestre
<algorithm><image-processing><interpolation><filtering><post-processing>
What is a common approach to smooth structures in textures?
Muad
# What is a common approach to smooth structures in textures?

(Asked by: username_0 on 2017-08-24)

I have a screen-aligned texture resulting from multiple rendering passes. It looks about this:

![textureToBeSmoothed](https://i.sstatic.net/Adod4.png)

I want the edges to appear smoother than they do now (but still keep their characteristic shape). When zooming in, the blocky appearance becomes very obvious. Is there a common approach in computer graphics (or in OpenGL in particular) to resolve this? Since the texture results from the application of the [jump flooding algorithm](https://computergraphics.stackexchange.com/questions/4830/understanding-jump-flooding-algorithm-jfa-for-voronoi-diagrams) the what-ever approach has to be performed in a post-processing step. I'm so far just interested in the approach(es) itself, not in the implementation.

**Tags:** algorithm, image-processing, interpolation, filtering, post-processing

> **Comments:**
> **username_1**: Would blurring the image do what you want? It would produce a gradual transition between colors. Or do you want to retain the sharp edge between the colors, but remove the noisy small-scale details?  
> **username_0**: It's more the latter that I want. E.g., a highest 'degree of smoothing' could produce proper circles. So what I want is the boundaries between the different colored zones to be more straight or linear, respectively. Hope this helps clarify. If not, I will probably have to sketch it...  
> **username_2**: a reasonable approach would be blurring and then limit the amount of colours using k-means or a pallete  
> **username_2**: You could try doing a few passes of setting each pixel to the majority of its vicinity.  

---

## 1 answers

### Answer by username_3 on 2017-08-25. Score: 1

I don't have enough rep to add a comment so...

You could use a post process based anti-aliasing technique like FXAA or SMAA. Also, if performance is not a priority, you could go for [SSAA](https://en.wikipedia.org/wiki/Supersampling). Another option could be to write to a multi sampled texture (I'm not 100% sure if that is possible in your case).

> **Comments:**
> **username_0**: I'm not sure if anti-aliasing techniques would work for me. As far as I understood AA it aims to smooth these so called jaggies, so it works small-scale. But that's not my concern. My goal is to eliminate this 'large-scale' blocky appearance so that a great amount of neighboring pixels will change their color in order to manipulate the big picture.  
> **username_4**: @username_0 Gaussian blur?  

---

