【问题标题】:Can Vulkan Be Used To Acess The Framebuffer?可以使用 Vulkan 访问帧缓冲区吗?
【发布时间】:2020-05-27 22:55:07
【问题描述】:

我对能够使用 Vulkan 访问 frambuffer 很感兴趣。我希望能够编写一个程序来捕获我的屏幕内容。这是 Vulkan 能够做到的吗?

我是图形编程的新手。我昨晚开始this Vulkan 教程。一切似乎都在谈论创建几何。如果几何学能帮助我理解我想要做得更好的话,我学习几何是没有问题的,但我想确保在继续之前我真的能够做到这一点。

【问题讨论】:

    标签: vulkan


    【解决方案1】:

    Vulkan 是一个图形渲染 API。虽然它具有绘制到屏幕某些部分的机制,但它只能渲染到它已被授予访问权限的那些屏幕部分。这通常意味着由某个窗口界定的屏幕部分,尽管有些实现允许直接渲染到显示器。

    但即使使用它们,您也会覆盖显示;无需读取此类图像即可访问其他人的数据。

    如果您只想截屏您的桌面,您应该为此使用特定于操作系统的机制。

    【讨论】:

    • 跟进:RFB's Wiki 表示由于使用了帧缓冲区,它适用于所有窗口系统。我认为这意味着他们可以直接访问它。也许他们使用了您向我建议的操作系统机制。你碰巧知道他们是做什么的吗?还是我应该将这个问题重定向到其他地方?
    • “帧缓冲区”在不同的上下文中意味着不同的东西。 Vulkan 帧缓冲区与操作系统/窗口系统的帧缓冲区不同(除非您正在编写一个全屏运行的应用程序,但听起来您想捕获 其他 应用程序的内容)。所以是的,你需要看看别处——我不确定在哪里,但它不是 Vulkan 或其他 3D 渲染 API(D3D、OpenGL 等),它会是特定于操作系统的。
    猜你喜欢
    • 2019-03-18
    • 1970-01-01
    • 2012-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2017-01-26
    • 2023-04-05
    相关资源
    最近更新 更多