gpt4 book ai didi

c++ - QGLWidget 中的渲染和颜色选择 : how to cope with both

转载 作者:行者123 更新时间:2023-11-28 03:34:08 25 4
gpt4 key购买 nike

我想知道是否有比这更好的解决方案:我有一个渲染代码和一个颜色选择代码,我已经共享了这两个代码(VBO 等)之间可以共享的所有内容,我的代码看起来像:

void paintGL()
{

label1:

if(picking_running)
{
... code to draw the colors for the picking
}
else
{
... normal code to draw the scene the user should see
}


if(picking_running)
{
... do the colorpick and identify the clicked element...

picking_running = FALSE;

goto label1; // this prevent the paintGL function to end and get swapBuffers called, I don't want the "flickering" to be visible to the user between the color picking mode and the normal mode

}

} // end of the paintGL, here swapBuffers is called automatically

代码有效,用户看不到闪烁,但坦率地说,在我的代码中使用 goto 的想法在我看来是一个糟糕的解决方案。

请问您还有什么更好的主意吗?

最佳答案

使用setAutoBufferSwap(false)并自己调用 QGLWidget::swapBuffers。您还可以将颜色选择渲染到未渲染的缓冲区/纹理。

关于c++ - QGLWidget 中的渲染和颜色选择 : how to cope with both,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11592164/

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