OpenGL 中的预乘 alpha 和多重采样
Premultiplied alpha and multisampling in OpenGL
我正在将一些三角形渲染成多重采样纹理。然后将该纹理 blit 为普通纹理,并在屏幕上绘制一个带纹理的四边形。
我需要最终纹理具有预乘 alpha。有没有办法告诉 OpenGL 自动预乘多采样纹理中的半透明像素(或在 blitting 时)?
或者唯一的方法是使用额外的着色器通道手动执行乘法?
多样本解析 blit 无法执行预乘。您将不得不在从纹理读取的过程中预乘纹理的像素。
我正在将一些三角形渲染成多重采样纹理。然后将该纹理 blit 为普通纹理,并在屏幕上绘制一个带纹理的四边形。
我需要最终纹理具有预乘 alpha。有没有办法告诉 OpenGL 自动预乘多采样纹理中的半透明像素(或在 blitting 时)?
或者唯一的方法是使用额外的着色器通道手动执行乘法?
多样本解析 blit 无法执行预乘。您将不得不在从纹理读取的过程中预乘纹理的像素。