百科问答小站 logo
百科问答小站 font logo



主流的游戏引擎都是如何解决Alpha Blending问题的呢? 第1页

  

user avatar   minmin.gong 网友的相关建议: 
      

要像素级排序,也就是OIT。主流引擎很多耗不起这样的排序,所以很多只是物体排序,错了就错了。

至于真的要做OIT的话,常见的套路有:

Depth peeling:慢,费显存(unbounded),但哪都能用

Stencil routed:费显存(bounded),D3D10.1+的卡能用

Per-pixel linked lists:略快,没那么费显存,D3D11+的卡能用(细节在

实现一个较新的OIT方法:Per-Pixel Linked Lists

Adaptive transparency:更快,没那么费显存,D3D11+的卡能用(有损)(细节在

继续探索OIT:Adaptive Transparency

Weighted blended OIT:更快,没那么费显存,D3D11+的卡能用(有损)

Pixel sync:快,不费显存,D3D12+的卡能用

而如果就是要速度,可以用一个depth peeling的极大简化版本,只渲染最远的一层和最近一层。通过设置face culling就能做到,对于几何不复杂的物体这个近似结果也不错。




  

相关话题

  计算机图形学是不是计算机专业方向中对数学要求最高的? 
  如何看待贴吧里的十五六岁就用引擎写游戏的开发者? 
  USC 大学教授、Pinscreen CEO Hao Li 是否存在论文造假、产品虚假宣传等问题? 
  游戏引擎的鄙视链是什么样的? 
  Unreal 和 Unity 3D 各有什么特点?如何选择? 
  理论计算机图形渲染技术是否已经到了没有什么可以研究的地步了? 
  DirectX是谁开发的?有什么过人之处? 
  为什么图形学的会议siggraph的论文代码很少会开源?好像视觉如CVPR、ICCV开源的更多一些。 
  如何用 C 语言画「心形」? 
  请问游戏中如何设计存在相互覆盖的角色状态? 

前一个讨论
如何看待Amazon基于Cryengine开发的新引擎?
下一个讨论
春晚假唱真的很罪恶么?





© 2025-05-08 - tinynew.org. All Rights Reserved.
© 2025-05-08 - tinynew.org. 保留所有权利