NV OIT algorithm : Depth peeling is a fragment-level depth sorting technique
https://developer.nvidia.com/content/interactive-order-independent-transparency
Correctly rendering non-refractive transparent surfaces with core OpenGL
functionality [9] has the vexing requirements of depth-sorted traversal and nonintersecting polygons. This is frustrating for most application developers using OpenGL
because the natural order of scene traversal (usually one object at a time) rarely satisfies
these requirements. Objects can be complex, with their own transformation hierarchies.
Even more troublesome, with advanced graphics hardware, the vertices and fragments of
objects may be altered by user-defined per-vertex or per-fragment operations within the
GPU. When these features are employed, it becomes intractable to guarantee that
fragments will arrive in sorted order for each pixel. The technique presented here solves
the problem of order dependence by using a technique we call depth peeling. Depth
peeling is a fragment-level depth sorting technique described by Mammen using Virtual
Pixel Maps [7] and by Diefenbach using a dual depth buffer [3]. Though no dual depth
buffer hardware fitting Diefenbach’s description exists, Bastos observed that shadow
mapping hardware in conjunction with alpha test can be used to achieve the same effect
[2]. Using this variation of depth peeling, each unique depth in the scene is extracted into
layers, and the layers are composited in depth-sorted order to produce the correctly
blended final image. The peeling of a layer requires a single order-independent pass over
the scene. Figure 1 contrasts correct and incorrect rendering of transparent surfaces.
The goal of this document is to enable OpenGL developers to implement this
technique with NVIDIA OpenGL extensions and GeForce3 hardware. Since shadow
mapping is integral to the technique a very basic introduction is provided, but the
interested reader is encouraged to explore the referenced material for more detail.
NV OIT algorithm : Depth peeling is a fragment-level depth sorting technique的更多相关文章
- Single Depth peeling 顺序无关渲染(OIT)
什么是顺序无关渲染 在3D渲染中,物体的渲染是按一定的顺序渲染的,这也就可能导致半透明的物体先于不透明的物体渲染,结果就是可能出现半透明物体后的物体由于深度遮挡而没有渲染出来.对于这种情况通常会先渲染 ...
- depth peeling实现半透明
aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aH
- leetcode 104. Maximum Depth of Binary Tree 111. Minimum Depth of Binary Tree
104: class Solution { public: int maxDepth(TreeNode* root) { if(root == NULL) ; int left = maxDepth( ...
- Wikipedia : OIT history
http://en.wikipedia.org/wiki/Order-independent_transparency Order-independent transparency From Wiki ...
- [ZZ] KlayGE 游戏引擎 之 Order Independent Transparency(OIT)
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2233 http://dogasshole.iteye.com/blog/1429665 ht ...
- Intel OIT demo
https://software.intel.com/en-us/blogs/2013/07/18/order-independent-transparency-approximation-with- ...
- 使用Depth Texture
使用Depth Textures: 可以将depth信息渲染到一张texture,有些效果的制作会需要scene depth信息,此时depth texture就可以派上用场了. Depth Text ...
- OIT
https://matthewwellings.com/blog/depth-peeling-order-independent-transparency-in-vulkan/ depth peeli ...
- Depth Buffer
Up until now there is only one type of output buffer you've made use of, the color buffer. This chap ...
随机推荐
- svn update -r m path 代码还原到某个版本(这样之前的log日志也就没了,也就是清空log日志)
[root@ok 资料库]# svn log 简历 ------------------------------------------------------------------------ r ...
- poj 1019
懂了 题意是给一串 1 12 123 1234 12345 123456 ....这样的数字问第 i个数字是多少 Sample Input 2 8 3 Sample Output 2 2 #inclu ...
- hdu 4033 二分几何
参考:http://blog.csdn.net/libin56842/article/details/26618129 题意:给一个正多边形内点到其他顶点的距离(逆时针给出),求正多边形的边长 二分多 ...
- struts.xml中可以使用el表达式和ognl表达式
转自:http://blog.csdn.net/hzc543806053/article/details/7538723 文件上传链接: 1)Servlet 文件上传 ———— 点击打开链接 2)S ...
- 微信绑定后台是验证token失败
/AX/dapeng/VfanCms/Lib/ORG/ 在ORG文件夹中,找到Wechat.class.php文件,去掉解释,验证完后改回来!应该是为了防止后台被别人绑定了去.
- 将long型转换为多少MB的方法
Formatter.formatFileSize( this, processInfo.getMemsize()) public class DensityUtil { /** * 根据手机的分辨率从 ...
- [hive小技巧]使用limit查询变成抽样,而不是全盘扫描
将set hive.limit.optimize.enable=true 时,limit限制数据时就不会全盘扫,而是根据限制的数量进行抽样. 同时还有两个配置项需要注意: 1.hive.limit.r ...
- mysql查询表里的重复数据方法:
INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete from hk_test ...
- HDU3657 Game(最小割)
题目大概说,给一个n×m的格子,每个格子都有数字,选择一个格子就能加上格子数字的分数,有k个格子必须选择,如果两个相邻的格子都被选择了那分数要减去两个格子数字的与再乘2.问能取得的最大分数. 已经知道 ...
- LightOJ1158 Anagram Division(状压DP)
题目问一个数字字符串的不重复全排列有几个能被d整除. dp[S][m]表示用字符集合S构成的%d为m的数字字符串个数 dp[0][0]=0 我为人人转移,dp[S+{x}][(m*10+str[x]- ...