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 ...
随机推荐
- vs c++ 将string转换为double
可以用atof()这个函数,但是这个函数的参数是char*类型的,因此需将string类型强制转换,方法为在函数的参数中写成 const_cast<const char *>(str.c_ ...
- Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...
- Mysql常用函数列举
1,HEX(),十六进制转化;eg:select HEX('mysql'); select X'6D7973716C'; 2,bit_count(),计算二进制数中包含1的个数;bit_or(),对两 ...
- NEXTDAY
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "com_time ...
- CentOS下配置Hadoop集群:java.net.NoRouteToHostException: No route to host问题的解决
我用的是hadoop 1.2.1 遇到的问题是: hadoop中datanode无法启动,报Caused by: java.net.NoRouteToHostException: No route t ...
- -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
[root@DB ~]# mysqldump -uroot -p123 --flush-logs --all-databases >fullbackup_sunday_11_PM.sql -- ...
- iptables 无法连外网
[root@v01-svn-test-server ~]# service iptables status Table: filter Chain INPUT (policy DROP) num ta ...
- ***Linux文件夹文件创建、删除、改名
Linux删除文件夹命令 linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中,现在使用rm -rf命令即可.直接rm就可以了,不过要加两个参数-rf 即:rm ...
- PostGreSQL最简安装
A.先用yum安装服务器和客户端 yum install postgresql yum install postgresql-server B.初始化数据库并启动服务 service postgres ...
- LogBack sl4j 通过MDC实现日志记录区分用户Session[以Spring mvc为例]
1.首先实现一个interceptor,在请求开始的时候MDC put一个Session标志,interceptor结束的时候remove掉 import javax.servlet.http.H ...