首页 > 解决方案 > QT QQuickWindow 上的部分渲染器 OpenGL(视口)

问题描述

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

标签: qtopengl

解决方案


注意,glViewport指定标准化设备坐标到窗口坐标的转换。但它不会“保护”某个矩形之外的帧缓冲区区域不被写入。
所以它不会影响像glClear.

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

例如

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

推荐阅读