【问题标题】:How can I draw around a rectangle?如何在矩形周围绘制?
【发布时间】:2011-08-14 18:04:11
【问题描述】:

我正在使用 openGL 来绘制一些动画。

我想在矩形周围的区域中绘制动画。
该矩形应该是透明的,以显示碰巧存在的任何窗口,并将其留给常规 Windows MFC 绘图。

我知道应该远离剪裁。但是由于该矩形中的任何内容都不是用openGL绘制的,所以我不确定它是否能正常工作。

我在 c++ 中使用 openGL。

【问题讨论】:

  • 您的代码会与绘制 MFC 窗口的进程一起使用吗?或者您是否正在使用 OpenGL 编写一个单独的界面,该界面必须围绕现有的基于 MFC 的应用程序进行绘制?
  • OpenGL 在单独的 MFC 控件 OnDraw() 中。我需要它来绘制一个单独的 MFC 控件
  • 如果你能得到矩形和尺寸的坐标,那么这应该可以工作 - stackoverflow.com/questions/2915071/…(使用剪刀测试)
  • 不,它仍然会覆盖图像的其余部分。也许与 SwapBuffers 有关?顺便说一句,它只在那个矩形中绘制,所以它与我需要的相反。
  • 抱歉打错了,试试 Stencil 缓冲区 - opengl.org/resources/code/samples/sig99/advanced99/notes/…

标签: c++ windows opengl mfc


【解决方案1】:

解决方案:

如果您在不相关的窗口上绘图,则应使用 Stencil 缓冲区。
这可以用作遮罩层来决定您要绘制的位置。

如果您有一个带有子窗口的 MFC 窗口,您可以创建具有以下样式的“父”窗口:WS_CLIPCHILDREN

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-09
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多