Temporal anti-aliasing
来源:互联网 发布:js email正则表达式 编辑:程序博客网 时间:2024/05/29 08:19
Temporal anti-aliasing seeks to reduce or remove the effects of temporal aliasing. Temporal aliasing is caused by the sampling rate (i.e. number of frames per second) of a scene being too low compared to the transformation speed of objects inside of the scene; this causes objects to appear to jump or appear at a location instead of giving the impression of smoothly moving towards them. To avoid aliasing artifacts altogether, the sampling rate of a scene must be at least twice as high as the fastest moving object.[1] The shutter behavior of the sampling system (typically a camera) strongly influences aliasing, as the overall shape of the exposure over time determines the band-limiting of the system before sampling, an important factor in aliasing. A temporal anti-aliasing filter can be applied to a camera to achieve better band-limiting.[2] A common example of temporal aliasing in film is the appearance of vehicle wheels travelling backwards, the so-called wagon-wheel effect. Temporal anti-aliasing can also help to reduce jaggies, making images appear softer.[3]
Contents
[hide]- 1In cel animation
- 2In computer generated imagery
- 3See also
- 4References
In cel animation[edit]
In cel animation, animators can either add motion lines or create an object trail to give the impression of movement. To solve the wagon-wheel effect without changing the sampling rate or wheel speed, animators could add a broken or discolored spoke to force viewer's visual system to make the correct connections between frames.
In computer generated imagery[edit]
To perform anti-aliasing in computer graphics, the anti-aliasing system requires a key piece of information: which objects cover specific pixels at any given time in the animation.
One approach used is to derive a high resolution (i.e. larger than the output image) temporal intensity function from object attributes which can then be convolved with an averaging filter to compute the final anti-aliased image.
In this approach, there are two methods available for computing the temporal intensity function. The first method being to compute the position of each object as a continuous function and then using the function to determine which pixels are covered by this object in the scene. The second method can use traditional rendering techniques to supersample the moving scene and determine a discrete approximation of object position.[4]
One algorithm proposed for computing the temporal intensity function is:[4]
For each image frame: For each object in the frame: Calculate the temporal transformation function for each dynamic attribute Determine the areas the object covers during the filtered interval For each pixel: Determine which objects are covering this pixel at some time in the sampled interval Determine the subintervals of time during which each object projects onto this pixel Perform hidden surface removal by removing subintervals of occuluded objects Determine pixel intensity function based on the remaining subintervals and the object's temporal transformation function Filter resulting pixel intensity function
Note: The "temporal transformation function" in the above algorithm is simply the function mapping the change of a dynamic attribute (for example, the position of an object moving over the time of a frame).
In the cases where either object attributes (shape, color, position, etc.) are either not explicitly defined or are too complex for efficient analysis, interpolation between the sampled values may be used. To obtain results closest to the source data, B-splines can be used to interpolate the attributes. In cases where speed is a major concern, linear interpolation may be a better choice.
Temporal anti-aliasing can be applied in image space for simple objects (such as a circle or disk) but more complex polygons could require some or all calculations for the above algorithm to be performed in object space.
In spatial anti-aliasing it is possible to determine the image intensity function by supersampling. Supersampling is also a valid approach to use in temporal anti-aliasing; the animation system can generate multiple (instead of just one) pixel intensity buffers for a single output frame. The primary advantage of supersampling is that it will work with any image, independent of what objects are displayed or rendering system is used.
See also[edit]
- Motion blur
- Anti-aliasing (disambiguation)
- Exposure (photography)
- Temporal posterization
References[edit]
- Jump up^ Grant, C. (1985). "Integrated analytic spatial and temporal anti-aliasing for polyhedra in 4-space". SIGGRAPH Computer Graphics, 19(3):79-84
- Jump up^ Tessive, LLC (2010). "Time Filter Technical Explanation "
- Jump up^ NVIDIA "Temporal Anti-Aliasing Technology (TXAA)".
- ^ Jump up to:a b Korein, J. and Badler, N. (1983). "Temporal anti-aliasing in computer generated animation". SIGGRAPH Computer Graphics, 17(3):377-388
- Anti-aliasing algorithms
- Anti-aliasing
Temporal anti-aliasing seeks to reduce or remove the effects of temporal aliasing. Temporal aliasing is caused by the sampling rate (i.e. number of frames per second) of a scene being too low compared to the transformation speed of objects inside of the scene; this causes objects to appear to jump or appear at a location instead of giving the impression of smoothly moving towards them. To avoid aliasing artifacts altogether, the sampling rate of a scene must be at least twice as high as the fastest moving object.[1] The shutter behavior of the sampling system (typically a camera) strongly influences aliasing, as the overall shape of the exposure over time determines the band-limiting of the system before sampling, an important factor in aliasing. A temporal anti-aliasing filter can be applied to a camera to achieve better band-limiting.[2] A common example of temporal aliasing in film is the appearance of vehicle wheels travelling backwards, the so-called wagon-wheel effect. Temporal anti-aliasing can also help to reduce jaggies, making images appear softer.[3]
Contents
[hide]- 1In cel animation
- 2In computer generated imagery
- 3See also
- 4References
In cel animation[edit]
In cel animation, animators can either add motion lines or create an object trail to give the impression of movement. To solve the wagon-wheel effect without changing the sampling rate or wheel speed, animators could add a broken or discolored spoke to force viewer's visual system to make the correct connections between frames.
In computer generated imagery[edit]
To perform anti-aliasing in computer graphics, the anti-aliasing system requires a key piece of information: which objects cover specific pixels at any given time in the animation.
One approach used is to derive a high resolution (i.e. larger than the output image) temporal intensity function from object attributes which can then be convolved with an averaging filter to compute the final anti-aliased image.
In this approach, there are two methods available for computing the temporal intensity function. The first method being to compute the position of each object as a continuous function and then using the function to determine which pixels are covered by this object in the scene. The second method can use traditional rendering techniques to supersample the moving scene and determine a discrete approximation of object position.[4]
One algorithm proposed for computing the temporal intensity function is:[4]
For each image frame: For each object in the frame: Calculate the temporal transformation function for each dynamic attribute Determine the areas the object covers during the filtered interval For each pixel: Determine which objects are covering this pixel at some time in the sampled interval Determine the subintervals of time during which each object projects onto this pixel Perform hidden surface removal by removing subintervals of occuluded objects Determine pixel intensity function based on the remaining subintervals and the object's temporal transformation function Filter resulting pixel intensity function
Note: The "temporal transformation function" in the above algorithm is simply the function mapping the change of a dynamic attribute (for example, the position of an object moving over the time of a frame).
In the cases where either object attributes (shape, color, position, etc.) are either not explicitly defined or are too complex for efficient analysis, interpolation between the sampled values may be used. To obtain results closest to the source data, B-splines can be used to interpolate the attributes. In cases where speed is a major concern, linear interpolation may be a better choice.
Temporal anti-aliasing can be applied in image space for simple objects (such as a circle or disk) but more complex polygons could require some or all calculations for the above algorithm to be performed in object space.
In spatial anti-aliasing it is possible to determine the image intensity function by supersampling. Supersampling is also a valid approach to use in temporal anti-aliasing; the animation system can generate multiple (instead of just one) pixel intensity buffers for a single output frame. The primary advantage of supersampling is that it will work with any image, independent of what objects are displayed or rendering system is used.
See also[edit]
- Motion blur
- Anti-aliasing (disambiguation)
- Exposure (photography)
- Temporal posterization
References[edit]
- Jump up^ Grant, C. (1985). "Integrated analytic spatial and temporal anti-aliasing for polyhedra in 4-space". SIGGRAPH Computer Graphics, 19(3):79-84
- Jump up^ Tessive, LLC (2010). "Time Filter Technical Explanation "
- Jump up^ NVIDIA "Temporal Anti-Aliasing Technology (TXAA)".
- ^ Jump up to:a b Korein, J. and Badler, N. (1983). "Temporal anti-aliasing in computer generated animation". SIGGRAPH Computer Graphics, 17(3):377-388
- Anti-aliasing algorithms
- Anti-aliasing
- Temporal anti-aliasing
- MLAA--Morphological Anti-Aliasing
- FXAA “Fast Approximate Anti-Aliasing”,
- 反锯齿技术Anti-Aliasing
- Anti-Aliasing (SSAA , MSAA , MLAA , SRAA) 简介
- Anti-Aliasing (SSAA , MSAA , MLAA , SRAA) 简介
- Filtering Approaches for Real-Time Anti-Aliasing
- Volume Rendering using CUDA – Transfer Function & Anti-Aliasing
- Unity3d 超级采样抗锯齿 Super Sampling Anti-Aliasing
- Anti-aliasing and Continuity with Trapezoidal Shadow Maps
- OpenGL学习脚印: 反走样初步(Anti-aliasing basic)
- OpenGL学习: 反走样初步(Anti-aliasing basic)
- A Scene-Graph based Ray Tracer (3) – Light model, Anti-Aliasing, Ray-tracing
- HTML5 Canvas disable anti-aliasing drawing - HTML5 Canvas 如何取消反锯齿绘图
- FBO中多重采样抗锯齿(MSAA:MultiSampling Anti-Aliasing)
- Epic Games Shows Incredible New Anti-Aliasing Technique – Screenshots + Video Comparison
- FBO中多重采样抗锯齿(MSAA:MultiSampling Anti-Aliasing)
- OpenGLES 在几种情况下的 MSAA(Multisample Anti-aliasing)抗锯齿
- 和我一起学 Selenium WebDriver(6)——基础篇
- JSONModel解析数据成Model 转载
- c++ lambda捕获列表
- 和我一起学 Selenium WebDriver(7)——基础篇
- springMVC+Mybatis
- Temporal anti-aliasing
- IOS开发类似游戏血条 的progressView
- 如何使KVM虚拟机的CPU和物理CPU一模一样?
- 数据挖掘核心技术揭秘——互动出版网
- while continue 更新文件
- 文章标题
- genymotion集成eclipse插件安装教程
- ubuntu第三方源导致软件无法安装的问题
- 出现Time Limit Exceed 求解 对于任意大于1的自然数n,如果n为奇数,则n=3n+1,否则n=n/2,则经过若干步骤后n一定会变成1