QT QQuickWindow上的部分渲染器OpenGL(视口)

时间:2019-02-03 13:19:21

标签: qt opengl

如何在QT窗口上渲染OpenGL视口?即使设置了glViewport(100, 100, 100, 100),它也会在所有窗口中呈现。我想显示Opengl的局部视图和QT控件的局部视图。 我正在使用QT5 + QML(QQuickWindow)。

1 个答案:

答案 0 :(得分:1)

注意,glViewport指定将规范化的设备坐标转换为窗口坐标。但这并不能“保护”特定矩形外部的帧缓冲区区域被写入。
因此,它不会影响glClear之类的操作。

Scissor Test可用于定义矩形,并丢弃不在矩形内部的片段的操作。
剪刀测试必须由glEnable(GL_SCISSOR_TEST)启用,矩形剪刀区域可以由glScissor定义:

例如

glEnable(GL_SCISSOR_TEST);
glScissor(100, 100, 100, 100);