gpt4 book ai didi

Java OpenGL - 透明背景可以看到下面的面板层吗?

转载 作者:太空宇宙 更新时间:2023-11-04 06:57:16 26 4
gpt4 key购买 nike

我使用 Java OpenGL 将渲染点叠加在视频流之上。

我一直在尝试使 Java OpenGL Canvas 窗口的背景透明,因此当叠加在视频流层上时只有渲染点可见?

这是我用来设置 Canvas 的代码。

 
public void init(GLAutoDrawable drawable) {<p></p>

GL gl = drawable.getGL();
System.err.println("INIT GL IS: " + gl.getClass().getName());

// Enable VSync
gl.setSwapInterval(1);

// Setup the drawing area and shading mode
gl.glEnable(GL_BLEND);
gl.glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
gl.glShadeModel(GL.GL_SMOOTH);
gl.glClearColor(0.0f, 0.4f, 0.0f, 0.0f);
}

为任何有关如何做到这一点的想法干杯。 J

最佳答案

您需要在应用程序内部执行的过程应该如下所示:

  • 从视频流中获取 RGB 缓冲区
  • 将此缓冲区保存到纹理中
  • 将此纹理渲染为屏幕上的四边形
  • 将您的点渲染在四边形顶部。

OpenGL 需要知道在这个过程中谁在什么之上(由于渲染管道,它需要知道哪些片段被渲染,哪些片段被拒绝)。

如果您有一个 OpenGL View 和一个其他 View ,则 OpenGL 无法做出此决定。

关于Java OpenGL - 透明背景可以看到下面的面板层吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22569050/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com