macos - 替换核心配置文件中的 GL_LUMINANCE_ALPHA?

标签 macos opengl

我正在制作一个游戏引擎,最近才将其更新为核心配置文件 OpenGL。这样做之后,我发现我用于字体纹理的 GL_LUMINANCE_ALPHA 已被弃用。将其替换为 GL_RG 后,我得到了应该是 alpha 红色的区域,以及应该是白绿色的区域!

GL_RG result...

这当然不是我想要的!有什么办法可以将其重新调整为我想要的方式吗?

最佳答案

好吧,我只是通过混搭掩码值找到了答案,下面是我如何将其恢复正常:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_R, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_G, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_B, GL_RED);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_A, GL_GREEN);

这让它看起来又完全正常了!

关于macos - 替换核心配置文件中的 GL_LUMINANCE_ALPHA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43173075/

相关文章:

ruby-on-rails - 如何解决 "ruby installation is missing psych"错误?

macos - Mac 的哪个图形化 git 工具可以比 github 更好地显示每个文件的历史记录?

java - 如何在 JAVA 中的简单 FPS 中使用游戏状态

c++ - 无法使用 GLEW 在 openGL 中绘制任何内容(mac、c++)

objective-c - 无法为 "Symbolic Breakpoint"添加 "-[NSTextField setStringValue:]"

ios - 我可以使用安装了 mac os 的 vmware 开发 iphone 应用程序吗?

cocoa - 创建 NSOpenGLView 时出错

opengl - 尝试构建支持 OpenGL 的 OpenCV 2.4.1

c++ - OpenGL 索引和数组纹理

macos - 我应该如何以与平台无关的方式获取TimeZoneInfo?