qt - QT QQuickWindow 上的部分渲染器 OpenGL(视口)
问题描述
如何在 QT Window 上渲染 OpenGL 视口?即使我设置glViewport(100, 100, 100, 100)
了,它也会在所有窗口中呈现。我想显示 Opengl 的部分视图和 QT 控件的部分视图。我正在使用 QT5 + QML (QQuickWindow)。
解决方案
注意,glViewport
指定标准化设备坐标到窗口坐标的转换。但它不会“保护”某个矩形之外的帧缓冲区区域不被写入。
所以它不会影响像glClear
.
Scissor Test可用于定义一个矩形并丢弃不在矩形内的片段的操作。
剪刀测试必须启用,glEnable(GL_SCISSOR_TEST)
矩形剪刀区域可以定义为glScissor
:
例如
glEnable(GL_SCISSOR_TEST);
glScissor(100, 100, 100, 100);
推荐阅读
- azure - 如何在一个 API 域下使用多个 Azure Functions(应用服务)应用?
- ssl - Gunicorn SSL 异常
- angular-dart - 角飞镖模板内的异步空值检查
- python - 如何匹配具有 1 个数字和 4 个字母的字符串,其中一个字母恰好重复两次,其余字母彼此不同
- excel - 如何读取 excel 加载项的待处理状态
- php - 如何在laravel php中按日期对json数组进行排序
- recursion - 使用递归和模式匹配从列表中删除元素
- angular - 修复 Angular 中的“无效主机头”
- python - 如何在pygame中以一定角度射击子弹?
- python - 尝试使用 stockstats 来计算 rsi,出现错误“TypeError:列表索引必须是整数或切片,而不是 str”