Wikipedia : OIT history

http://en.wikipedia.org/wiki/Order-independent_transparency

Order-independent transparency

From Wikipedia, the free encyclopedia

The importance of blending order. The top produces an incorrect result with unordered alpha blending, while the bottom correctly sorts the geometry. Note lower visibility of the skeletal structure without correct depth ordering. Image from ATI Mecha Demo

Order-independent transparency (OIT) is a class of techniques in rasterisational computer graphics for renderingtransparency in a 3D scene, which do not require rendering geometry in sorted order for alpha compositing.

Contents

[hide]

Description[edit]

Commonly, 3D geometry with transparency is rendered by blending (using alpha compositing) all surfaces into a single buffer (think of this as a canvas). Each surface occludes existing color and adds some of its own color depending on its alpha value, a ratio of light transmittance. The order in which surfaces are blended affects the total occlusion or visibility of each surface. For a correct result, surfaces must be blended from farthest to nearest or nearest to farthest, depending on the alpha compositing operation, over or under. Ordering may be achieved by rendering the geometry in sorted order, for example sorting triangles by depth, but can take a significant amount of time, not always produce a solution (in the case of intersecting or circularly overlapping geometry) and the implementation is complex. Instead, order-independent transparency sorts geometry per-pixel, after rasterisation. For exact results this requires storing all fragments before sorting and compositing.

History[edit]

The A-Buffer[1] is a computer graphics technique introduced in 1984 which stores per-pixel lists of fragment data (including micro-polygon information) in a software rasteriser, REYES, originally designed for anti-aliasing but also supporting transparency.

More recently, depth peeling[2] in 2001 described a hardware accelerated OIT technique. With limitations in graphics hardware the scene‘s geometry had to be rendered many times. A number of techniques have followed, to improve on the performance of depth peeling, still with the many-pass rendering limitation. For example, Dual Depth Peeling (2008).[3]

In 2009, two significant features were introduced in GPU hardware/drivers/Graphics APIs that allowed capturing and storing fragment data in a single rendering pass of the scene, something not previously possible. These are, the ability to write to arbitrary GPU memory from shaders and atomic operations. With these features a new class of OIT techniques became possible that do not require many rendering passes of the scene‘s geometry.

  • The first was storing the fragment data in a 3D array,[4] where fragments are stored along the z dimension for each pixel x/y. In practice, most of the 3D array is unused or overflows, as a scene‘s depth complexity is typically uneven. To avoid overflow the 3D array requires large amounts of memory, which in many cases is impractical.
  • Two approaches to reducing this memory overhead exist.
    1. Packing the 3D array with a prefix sum scan, or linearizing,[5] removed the unused memory issue but requires an additional depth complexity computation rendering pass of the geometry. The "Sparsity-aware" S-Buffer, Dynamic Fragment Buffer,[6] "deque" D-Buffer[citation needed], Linearized Layered Fragment Buffer[7] all pack fragment data with a prefix sum scan and are demonstrated with OIT.
    2. Storing fragments in per-pixel linked lists[8] provides tight packing of this data and in late 2011, driver improvements reduced the atomic operation contention overhead making the technique very competitive.[7]

Exact OIT[edit]

Exact, as opposed to approximate, OIT accurately computes the final color, for which all fragments must be sorted. For complex scenes, sorting becomes the bottleneck.

One issue with the sorting stage is low occupancy, in this case a SIMT attribute relating to the throughput and operation latency hiding of GPUs. Backwards Memory Allocation[9] groups pixels by their depth complexity to improve the occupancy and hence performance of sorting and compositing low depth complexity pixels in the context of a potentially high depth complexity scene. Up to a 3× overall OIT performance increase is reported.

Approximate OIT[edit]

Approximate OIT techniques relax the constraint of exact rendering to provide faster results. Higher performance can be gained from not having to store all fragments or only partially sorting the geometry. A number of techniques also compress, or reduce, the fragment data. These include:

  • Stochastic Transparency: draw in a higher resolution but discard some fragments. Downsampling will then yield transparency.[10]
  • Adaptive Transparency,[11] a two-pass technique where the first constructs a visibility function which compresses on the fly (this compression avoids having to fully sort the fragments) and the second uses this data to composite unordered fragments. Intel‘s pixel synchronization[12] avoids the need to store all fragments, removing the unbounded memory requirement of many other OIT techniques.

OIT in Hardware[edit]

  • The Sega Dreamcast games console included hardware support for automatic OIT.[13]

See also[edit]

References[edit]

  1. Jump up^ Loren Carpenter. "The A-buffer, an Antialiased Hidden Surface Method", SIGGRAPH ‘84 Proceedings of the 11th annual conference on Computer graphics and interactive techniques Pages 103-108, July, 1984
  2. Jump up^ Everitt, Cass (2001-05-15). "Interactive Order-Independent Transparency"Nvidia. Retrieved 2008-10-12.
  3. Jump up^ Bavoil, Louis (February 2008). "Order Independent Transparency with Dual Depth Peeling"Nvidia. Retrieved 2013-03-12.
  4. Jump up^ Fang Liu, Meng-Cheng Huang, Xue-Hui Liu, and En-Hua Wu. "Single pass depth peeling via CUDA rasterizer", In SIGGRAPH 2009: Talks (SIGGRAPH ‘09), 2009
  5. Jump up^ Craig Peeper. "Prefix sum pass to linearize A-buffer storage", Patent application, Dec, 2008
  6. Jump up^ Marilena Maule and João L.D. Comba and Rafael Torchelsen and Rui Bastos. "Memory-optimized order-independent transparency with Dynamic Fragment Buffer ", In Computers & Graphics, 2014.
  7. Jump up to:a b Pyarelal Knowles, Geoff Leach and Fabio Zambetta. "Chapter 20: Efficient Layered Fragment Buffer Techniques", OpenGL Insignts, pages 279-292, Editors Cozzi and Riccio, CRC Press, 2012
  8. Jump up^ Jason C. Yang, Justin Hensley, Holger Grün, and Nicolas Thibieroz. "Real-time concurrent linked list construction on the GPU", In Proceedings of the 21st Eurographics conference on Rendering (EGSR‘10), 2010
  9. Jump up^ Knowles Et. Al. (Oct 2013). "Backwards Memory Allocation and Improved OIT"Eurographics Digital Library. Retrieved 2014-01-21.
  10. Jump up^ Enderton, Eric (?). "Stochastic Transparency"Nvidia. Retrieved 2013-03-12.
  11. Jump up^ Salvi Et. Al. (2013-07-18). "Adaptive Transparency". Retrieved 2014-01-21.
  12. Jump up^ Davies, Leigh (2013-07-18). "Order-Independent Transparency Approximation with Pixel Synchronization"Intel. Retrieved 2014-01-21.
  13. Jump up^ "Optimizing Dreamcast Microsoft Direct3D Performance"Microsoft. 1999-03-01.

Wikipedia : OIT history,布布扣,bubuko.com

时间: 2024-10-15 16:46:12

Wikipedia : OIT history的相关文章

HDU-4464-Browsing History (2012 ACM/ICPC成都现场赛!)

Browsing History Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3065    Accepted Submission(s): 1692 Problem Description One day when you are going to clear all your browsing history, you come

HDU 4464 Browsing History(最大ASCII的和)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4464 Problem Description One day when you are going to clear all your browsing history, you come up with an idea: You want to figure out what your most valued site is. Every site is given a value which e

Deep Learning in a Nutshell: History and Training

Deep Learning in a Nutshell: History and Training This series of blog posts aims to provide an intuitive and gentle introduction to deep learning that does not rely heavily on math or theoretical constructs. The first part in this series provided an

历史的辉格解释 Whig history

Whig history (or Whig historiography) is the approach to historiography which presents the past as an inevitable progression towards ever greater liberty and enlightenment, culminating in modern forms of liberal democracy and constitutional monarchy.

Linux常用命令(echo、date、ls、cd、history、cat)

一.linux常用命令有很多今天我们来总结一下常用的入门命令: 1.linux下关机命令:poweroff.init 0.halt.shutdown -h now 2.linux下重启命令:reboot.init 6.shutdown -r now 3.shutdown命令: 格式:shutdown  options TIME 其中options有以下几个: -r:执行重启 -c:取消shutdown命令 -h:执行关机 其中TIME有以下几个: now:表示现在 +m:相对时间表示法,从命令提

history对象

h5新增的history的某部分方法和属性,非常实用. 传送门 有pushState,replaceSate,popSate,state 它们详细请看传送门. 测试请开本地服务器. 1.达成某个条件返回指定页面. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>2</title> <style>

使用history环境变量提升系统安全性

1) 应用场景 系统如果被黑客攻入,他就可以查看一下histroy就能知道了系统的一些敏感信息,像登录的密码之类的:比如有马虎的维护工程师,直接输入了数据库的密码: [[email protected] ~]# history     16  history     17  clear    18  mysql -u root -p'redhat12345' -S /data/3306/mysql.sock    19  history 如上,我们可以发现数据库的密码为redhat12345 2

history命令

history命令的功能是显示使用过的命令,并为其编号. history n 显示最近使用过的n条命令. history -c 将当前shell中历史清空. history -d 801 删除编号为801的命令. history -a 追加最新一条命令到历史文件中. history -n 显示还没有从历史文件中读取的历史记录. history -r 将历史文件中的记录作为当前shell的历史记录. history -w 将当前记录写入历史文件中,覆盖原内容. -p Perform history

IEF could not decode Chinese character in IE history well

My friend is working on some case, and she looks not in the mood. I ask her what's going on. She wants me to look at the screenshot as below. That's why she is upset...IEF could not decode Chinese character in IE history well, so the filenames in Chi