0

您如何在背景图像之上正确渲染具有相加混合的粒子的粒子效果?

问题是粒子也与背景相加混合,我怎样才能避免这种情况?(即将它们相互叠加,但不与背景混合)

一些额外的限制:

我正在开发的游戏分为 8 层,如下所示:

  1. 背景#1(视差滚动)
  2. 背景#2(视差滚动)
  3. 背景#3(视差滚动)
  4. 粒子效果层 #1
  5. 游戏对象
  6. 粒子效果层 #2
  7. 用户界面
  8. 粒子效果层 #3

如果 FBO 是解决混合问题的唯一方法,我是否应该使用 8 个纹理(具有屏幕尺寸),并将每一层单独渲染到 FBO,然后将 8 个纹理渲染到窗口帧缓冲区?这似乎太消耗内存了。使用单个纹理将需要 16 个 FBO 开关...

有小费吗?

4

1 回答 1

0

您可以先将所有粒子绘制在黑色透明色上,然后再在它们后面绘制“背景”吗?您可以使用深度缓冲区将背景放置在粒子后面。

这仅在您的粒子不需要部分透明度的情况下才有效。

于 2012-08-27T15:41:03.657 回答