1
如何减少轮廓发光效果中的锯齿?
我正在尝试在《 Left 4 Dead》游戏中复制发光的轮廓效果。即使对象被遮挡,该效果也会使对象轮廓发光。这是效果的屏幕截图: 我可以在基于OpenGL的程序中复制这种效果。这是我目前正在做的: 创建颜色和深度纹理,其大小是屏幕尺寸的一半,用于渲染发光的对象 清除发光颜色/深度纹理。颜色清除为黑色。 对于每个发光对象,将其渲染为单色的发光纹理 对发光纹理执行可分离的高斯模糊 正常渲染全分辨率场景 将辉光纹理与正常场景相加,但是使用辉光深度纹理可以遮盖对象,仅留下模糊的轮廓。 这是我的方法的屏幕截图: 这是将发光纹理与场景结合在一起的片段着色器: uniform sampler2D glowColorTex; uniform sampler2D glowDepthTex; uniform sampler2D sceneColorTex; void main() { vec2 uv = gl_TexCoord[0].st; vec4 color = texture2D( sceneColorTex, uv); float depth = texture2D( glowDepthTex, uv).r; if(depth == 1.0) { color += 2.0 * texture2D( …