Sorting OpenGL深度排序
我正在使用深度排序进行基本的对象透明度。作为深度,我使用相机到模型三角形每个中心的距离(平方),我计算为{(x1+x2+x3)/3,(y1+y2+y3)/3,(z1+z2+z3)/3}。虽然成绩差不多不错,但也有一些失误 猴子头不分类 分类Sorting OpenGL深度排序,sorting,opengl,transparency,Sorting,Opengl,Transparency,我正在使用深度排序进行基本的对象透明度。作为深度,我使用相机到模型三角形每个中心的距离(平方),我计算为{(x1+x2+x3)/3,(y1+y2+y3)/3,(z1+z2+z3)/3}。虽然成绩差不多不错,但也有一些失误 猴子头不分类 分类 对于这些错误,我能做些什么吗?没有办法以完美的方式对三角形进行排序。请看opengl.org wiki上文章末尾的示例 @科斯: 请看和。除非您有屏幕对齐的粒子,否则对任意三角形进行排序确实非常困难。为了得到完美的结果,你必须开始分割三角形 正如@tib
对于这些错误,我能做些什么吗?没有办法以完美的方式对三角形进行排序。请看opengl.org wiki上文章末尾的示例 @科斯:
请看和。除非您有屏幕对齐的粒子,否则对任意三角形进行排序确实非常困难。为了得到完美的结果,你必须开始分割三角形 正如@tibur所说,你可以用一些简单的近似值,但是(OIT)也是一个不错的解决方案。但它确实需要OpenGL 3时代的图形功能。我有一个,它显示了一些方法,使精确的OIT相当快 值得一看“,”和“。这些是快速的近似解,但对于常见场景会给出非常好的结果
一些类似的问题
事实上,对于凸体,面可以单独按方向排序。固定功能或可编程管道?固定。我制作了距离数组,然后对它进行排序并交换索引数组中的相应值,最后交换元素。所以仍然没有一个解决方案可以正确地呈现任意透明度?@Kos:check and