Skip to main content
OverflowAI is here! AI power for your Stack Overflow for Teams knowledge community. Learn more
14 votes

How is Anti Aliasing Implemented in Ray Tracing?

Raxvan is completely right that "traditional" anti aliasing techniques will work in raytracing, including those that use information such as depth to do antialiasing. You could even do temporal anti ...
Alan Wolfe's user avatar
  • 7,801
13 votes
Accepted

How is Anti Aliasing Implemented in Ray Tracing?

I think it's safe to say that there are two different ways of doing AA in raytracing: 1: if you have the final image and the depth image it is possible to apply almost all existing techniques that ...
Raxvan's user avatar
  • 253
12 votes
Accepted

Anti-aliasing / Filtering in Ray Tracing

There is a great paper from 2006 on this topic, Filter Importance Sampling. They propose your method 2, study the properties, and come out generally in favor of it. They claim that this method gives ...
Nathan Reed's user avatar
9 votes
Accepted

What is the relation between Aliasing and Flickering?

Flickering can be a form of temporal aliasing. It's a similar phenomenon to spatial aliasing such as jaggies, but it occurs in time instead of space. For instance, a common cause of image flickering ...
Nathan Reed's user avatar
9 votes
Accepted

What is the fundamental reasoning for anti aliasing using multiple random samples within a pixel?

From a signal processing point of view, you're sampling a continuous-domain signal, and you need to filter it to get rid of frequencies beyond the Nyquist limit. It's that filtering that leads to ...
Nathan Reed's user avatar
8 votes
Accepted

What kind of anti-aliasing is used in font rasterization?

Sean Barrett, the author of the stb libraries, wrote an article on how stb_truetype's rasterization works. It's quite readable. The article describes two methods of antialiasing, both based on ...
Nathan Reed's user avatar
7 votes

How is Anti Aliasing Implemented in Ray Tracing?

Let's suppose a fairly typical raytracing main loop: ...
Julien Guertault's user avatar
7 votes

Relationship between spatial frequency of an image and Aliasing

Like in any other kind of signal processing, the relationship is Nyquist's theorem. An image is a discrete sequence of samples of a continuous signal. If the original signal has frequency components ...
Dan Hulme's user avatar
  • 6,820
5 votes
Accepted

How to solve Z buffer artifacts

Short answer: Move your near clip plane further away. Depth buffer precision is very sensitive to the near clip plane distance. Complicated answer: Use different math in your view projection. There ...
Chifti Saidi's user avatar
5 votes
Accepted

Algorithms to "anti-alias" (or somehow improve) binary 1-bit drawings and fonts

PIL's Image.convert function performs dithering by default when you convert the image to 1-bit—not simply thresholding. That's what creates the noise along the ...
Nathan Reed's user avatar
4 votes

What is the fundamental reasoning for anti aliasing using multiple random samples within a pixel?

You are in fact doing both things. You are integrating the area and because your result is still discrete samples you are reconstructing the signal to make it continious function. Therefore the higher ...
joojaa's user avatar
  • 8,437
4 votes
Accepted

How to never draw "Jaggies" in the first place considering resolution and scale

Well you can render at higher resolution and sample down thhis is called FSAA and should just work without much change to render code. FSAA has the benefit of not having a conflation problem whereas ...
joojaa's user avatar
  • 8,437
4 votes
Accepted

Sub-pixel antialiasing rules

I'm not sure what happens there. Looking at the rendering of "considerations" in your example, the "cons" looks like what you get when you do crude sub pixel anti-aliasing, without applying the ...
pgroke's user avatar
  • 56
4 votes

FXAA vs MSAA on modern hardware

Most mobile GPUs use tiled rendering, which can make MSAA surprisingly cheap relative to desktop GPUs. If the app is doing simple forward rendering without filtering/blurring passes, the GPU may be ...
Nathan Reed's user avatar
4 votes
Accepted

Main techniques to draw a point at non integer coordinates?

Instead of having a binary on/off per pixel you can instead make a heat map. The more points fall within the pixel the brighter the pixel is. Essentially create a 2D histogram which you then ...
ratchet freak's user avatar
4 votes
Accepted

glBlitFramebuffer does not copy all textures

I think you misunderstood the use of glBlitFrameBuffer. When using this to blit Color Buffers, according to the docs, One thing to keep in mind is this: when using ...
gallickgunner's user avatar
3 votes
Accepted

Unexpected results from Mitchell-Netravali

Mitchell–Netravali has negative lobes, which are generally not recommended for small sample counts from what I understand; you tend to end up with both the positive and negative areas undersampled. ...
Nathan Reed's user avatar
3 votes

Algorithms to "anti-alias" (or somehow improve) binary 1-bit drawings and fonts

This is just a supplementary answer based on the accepted answer, using the original 64x128 pixel images instead of the zoomed-in interpolated screen shot. ...
uhoh's user avatar
  • 330
3 votes
Accepted

Origin of blurring and colour distortion in monochrome diagrams

This looks like JPEG artefacts so I guess the image went through a JPEG compression step at one stage and that permanently introduced noise into the image. The red channel is blurred stronger because ...
PaulHK's user avatar
  • 2,322
3 votes

Algorithms to "anti-alias" (or somehow improve) binary 1-bit drawings and fonts

Have a look at Improved Alpha-Tested Magnification for Vector Textures and Special Effects [Gre07] (pdf). The gist of their method is to store distance field information in the font texture instead of ...
bernie's user avatar
  • 830
3 votes

Anti-Aliasing simple circle fragment shader

Probably the simplest way is to use smoothstep to make a transition from white to black: ...
lisyarus's user avatar
  • 225
3 votes

Screen space line anti aliasing

A gaussian blur with a small kernel size, like 3, would blur the line into adjacent pixels and may be all that is needed. There is a technique called jump flooding that will turn an image like this, ...
pmw1234's user avatar
  • 3,219
2 votes

Points of a line given in global coordinates to calculate the pixels that are set using the midpoint algorithm without anti-aliasing

When drawing objects that exist in 3D space to a 2D plane (like your monitor or an image), there are a number of spaces that are useful to work in: Global Coordinates - Somewhere in your 3D world ...
user1118321's user avatar
  • 3,421
2 votes

Algorithms to "anti-alias" (or somehow improve) binary 1-bit drawings and fonts

In the olden days, for things like fonts, they didn't do antialiasing. They generally hand made bitmap fonts because it generated the clearest, easiest-to-read results. That said, you could look into ...
user1118321's user avatar
  • 3,421
2 votes

FXAA vs MSAA on modern hardware

It's important to understand that "anti-aliasing" techniques like FXAA were invented mainly to deal with the fact that standard methods like multisampling do not work well at all in deferred rendering ...
Nicol Bolas's user avatar
  • 9,832
2 votes
Accepted

Screen Space anti aliasing?

The easiest way to deal with this would be to provide thickness for the edges in the continuous setting. That is, make your edges out of solid capsules/cylinders, then you would not have this issue. ...
lightxbulb's user avatar
  • 2,226
2 votes

Rotate a Bitmap with Shearing

as paulHK said: One fundamental issue here is you're rotating in destination space rather than source space (e.g. apply the shear on source coordinates and output a rectangle). This way you can ...
John Heikens's user avatar
2 votes
Accepted

What is texture aliasing and is there any specific "data-structure" to avoid it

What do you mean by "normal" aliasing? Aliasing is the result of under-sampling: i.e being given a signal with a high frequency (temporal and/or spatial) that is being sampled too ...
Simon F's user avatar
  • 4,251
1 vote
Accepted

Why is the image from the CUDA version not as sharp as the CPU version?

If you look closely at the edge of the sphere, in the first image it is sharp, and in the second image it's blurry, blending into the background color. This suggests to me that it's not the texture, ...
Nathan Reed's user avatar
1 vote
Accepted

Multiple samples per pixel and texture blurring

In signal processing, it is well-understood that you cannot accurately reproduce an analog signal of higher frequency than half the frequency of your digital sampling rate. That's just how the math ...
Nicol Bolas's user avatar
  • 9,832

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