【发布时间】:2012-10-28 06:05:36
【问题描述】:
我搜索并阅读了多个关于 openGL 透明度的论坛,我发现了这段代码
gl.glEnable(GL2.GL_BLEND);
gl.glBlendFunc(GL2.GL_SRC_ALPHA, GL2.GL_ONE_MINUS_SRC_ALPHA);
gl.glEnable(GL2.GL_ALPHA_TEST);
gl.glAlphaFunc(GL2.GL_GREATER, 0.1f);
gl.glClearColor(0, 0, 0, 0);
有人在init 方法中编写了这段代码并得到了结果。我真的不再了解 Blending,但我添加了这段代码,但什么也没发生!
这里有什么错误或误解吗!?我该怎么做?
顺便说一句,我正在使用jogl 2.0。
【问题讨论】:
-
您到底想做什么?你想让你的 OpenGL 窗口是半透明的吗?如果是这样,那您还需要一个带有 alpha 通道和 alpha 掩码的窗口 pixelformat/visual/fbconfig;因为您依赖 Jogl 创建窗口,所以这取决于 Jogl 是否支持。
-
@datenwolf 我不想做一个透明的
SHELL,我想要一个透明的GLCanvas。想一想,我们在一个外壳上有两个GLCanvases,其中一个在另一个之上,现在我们如何才能透明顶部的 GLCanvas。
标签: opengl swt transparent jogl blend