Skip to main content
7 votes
Accepted

Gaussian blurring a function defined over a surface mesh

A few different approaches I'll consider a few variations on your specific request, since you mention efficiency and I suspect your specific request may be the least efficient. I'll also suggest ways ...
trichoplax is on Codidact now's user avatar
5 votes
Accepted

Bokeh from depth map

The blog post that you talked about, is not about generating bokeh for a computer generated image. It is instead about generating a believable depth of field effect from an image captured by a ...
bram0101's user avatar
  • 1,605
5 votes
Accepted

Where are the highlight definitions inside of my shader?

In order to achieve the "white" glow effect for amassed particles, you should probably switch to HDR rendering and have your tone mapping operator desaturate the "overbright" pixels. So you'll need a ...
IneQuation's user avatar
4 votes

Will the gaussian kernels in this fragment shader be computed for every fragment?

It depends. On a desktop, if the Gaussian function is always called with the same arguments, the shader compiler will probably optimize it so it's evaluated only ...
Julien Guertault's user avatar
4 votes
Accepted

Does a gaussian blur based bloom/glow shader require gamma correction? Any other tips?

In short: You should not gamma correct your glow map. In fact, you should do everything in a linear color space. At the very end, when doing any color grading (which is the very last step), you ...
bram0101's user avatar
  • 1,605
4 votes

How does this app pull off fast, high radius HDR

At CEDEC and GDC in the early 2000s, Masaki Kawase has presented a series of fast post-processing based lens effects, including large bloom. This presentation from GDC 2003, Frame Buffer ...
Julien Guertault's user avatar
3 votes

Blurring image with RGB values without convolving it with a kernel

Blurring an image depends on being able to read from the image. If you don’t have access to the pixel data, or external information about the image contents (e.g. average hue / luminance), there’s no ...
Noah Witherspoon's user avatar
3 votes
Accepted

Plotting pbrt-v3 Gaussian filter

You probably want to set sigma to be a fraction of the radius, rather than a fixed value. Sigma controls the actual shape of the filter, while radius just controls how far out the filter gets cut off (...
Nathan Reed's user avatar
  • 25.1k
3 votes

How can I implement a complex sinusoidal function?

One way to represent a complex-valued function in a bitmap is to use one color channel for the real component and one for the imaginary component. For example, rendering a complex plane wave (your ...
Nathan Reed's user avatar
  • 25.1k
2 votes

Does a gaussian blur based bloom/glow shader require gamma correction? Any other tips?

You can get fancy with individual weighting on the blur maps if you want to adjust the look, but an equally weighted mix (and yes, it should be additive) will work too. I’m not sure about whether you ...
Noah Witherspoon's user avatar
2 votes
Accepted

Questions about Blur effect

If I blur the whole image and apply the result on the sphere, the white background will bleed onto the sphere shape and I want to avoid that. I also don't want that the blue (3) and yellow (4) sphere ...
Tare's user avatar
  • 1,566
2 votes

How does this app pull off fast, high radius HDR

One way to speed things up if you're doing this on a mobile GPU is to avoid indirect texture look-ups. This is where you calculate the texture coordinates then use the results of that calculation in ...
user1118321's user avatar
  • 3,421
2 votes

Will the gaussian kernels in this fragment shader be computed for every fragment?

The shader compiler will very likely perform common-subexpression consolidation, and compute that function once, and reuse it each time it appears in the shader. You might think that, since ...
GroverManheim's user avatar
2 votes

How is the multiplication in Gaussian Blur implemented

Each color is conceptually treated independently. If they were concatenated, multiplying a value with a color close to the maximum possible value for one channel could cause it to overflow into the ...
Noah Witherspoon's user avatar
1 vote

Blurring image with RGB values without convolving it with a kernel

While you can't do what you're asking, you might be able to use a compromise. It turns out that all human skin tones have the same hue. They vary only in saturation and brightness. You can see this on ...
user1118321's user avatar
  • 3,421
1 vote

Blurring image with RGB values without convolving it with a kernel

Since you know vaguely what the pixels you're covering up look like (they are faces), your best bet to get the appearance of a blur is to really blur an image of a face in a standard image editing ...
Dan Hulme's user avatar
  • 6,840
1 vote
Accepted

Texture prefiltering for Linearly Transformed Cosines

I achieved similar result to theirs. First, the target texture for mip generation is base texture size + two margins, each equals 0.125 of base size. Then during generation of base mip level, there ...
mdkdy's user avatar
  • 2,169
1 vote

gaussFactorForOffset cannot call a non-function how to fixed this code?

It would be helpful if you posted some more information about what you're trying to do (rather than problem links) and some screenshots of what is actually happening. Being here I basically see "My ...
Tare's user avatar
  • 1,566
1 vote

How is Gaussian Blur Implemented?

Other answers already have explained the algorithm and logic behind. I want to add a pure C++ implementation and explain on the code step-by-step. As the first step we need to generate a Gaussian ...
Lady Be Good's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible