Qt6 中的 OpenGL 编程 — 从 QOpenGLWidget 开始
Qt6 把 OpenGL 拆成了独立模块,不再默认链接。从 QOpenGLWidget 的初始化到主循环的正确写法,一次讲清楚。
Qt6 把 OpenGL 拆成了独立模块,不再默认链接。从 QOpenGLWidget 的初始化到主循环的正确写法,一次讲清楚。
不要死记 API,用一条数据从 CPU 到屏幕的完整旅程,把 OpenGL 渲染管线的每一步串起来。
前言 上一篇文章讲到 QSS 在每次重绘时都要走 CSS 解析和盒模型计算,而 QStyle 直接用 C++ 计算。这只是冰山一角——Qt 的渲染管线远比"画出来"...
glDrawElementsInstanced 画 10000 根草只需一次 Draw Call。AABB vs 视锥体六面检测,CPU 端快速剔除不可见 Chunk。附带性能对比数据。
顶点 AO 是体素引擎画质的灵魂。实现基于相邻方块存在与否的顶点暗度计算,在着色器中混合三重光照。
封装 Mesh 资源管理类,让 VAO 自动回收。引入纹理图集避免纹理切换,提前做好面剔除优化。
从 QOpenGLWidget 的初始化开始,到主循环的选型对比,再到 IRenderable 接口的架构设计——这一章打的是渲染层的骨架。
体素引擎项目文件多、依赖杂,新手最容易死在环境配置上。这一章不写任何 OpenGL,只把地基打牢。