BlendFunc 用于具有变化背景的纹理字体
我正在尝试使用纹理字体,以便可以在 openGL 场景中显示文本。 但是,我无法找到有效的 glBlendFunc 值。
放置文本的背景是灰度图像,但在执行过程中会发生变化。 由于背景发生变化,文本可能位于从黑色到白色的任何颜色之上。
我发现的最佳值是 glBlendFunc(Gl.GL_SRC_COLOR, Gl.GL_ONE_MINUS_SRC_ALPHA)。 这将使角色周围的黑框消失,但随着背景变白,角色本身会褪色。
请帮忙!
I am attempting to use Textured fonts as so that I can display text in my openGL scene. However I am having trouble finding glBlendFunc values that will work.
The background that the text will be placed on is a grayscale image but will change throughout the execution. Because the background changes the text could possibly be on top of any color from black to white.
The best values I have found are glBlendFunc(Gl.GL_SRC_COLOR, Gl.GL_ONE_MINUS_SRC_ALPHA). This will make the black box surrounding the character disappear but the character itself will fade as the background goes towards white.
Please help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您希望文本根据背景颜色反转吗? 黑底白字,白底黑字? 我认为你可以通过 blendfunc 实现反转。
或者,您可以使用内置“边框”的字体纹理来帮助将字符与背景分开。 想象一下白色字体带有平滑的 alpha 混合黑色“发光”。 该字体在几乎所有颜色的衬托下看起来都很好。
Do you want the text to invert based on the background color? white text over black background, black text on white? I think you can achieve an invert via blendfunc.
Alternatively you can use a font texture which has a "border" built into it to help set the character apart from the background. Imagine a white font w/ a smooth alpha blended black "glow". The font will look good against almost all colors.