OpenGL
OpenGL 3 与 OpenGL 4 配合 GLSL
更新日志
v3.2.1
所有52个示例中的安全性与正确性修复:
- 修复了Example36中的SSBO分配(std430步长为24字节而非32字节——小了25%)。
- 在示例21、30、36、45中添加了缺失的
glMemoryBarrier调用。
- 修复了Example15中
glUniform4fv/glUniform2fv的计数(应为vec4/vec2元素,而非浮点数)。
- 将示例29、37中的900 KB栈数组移至静态存储。
- 修复了示例12、34中对纹理名称调用
glDeleteRenderbuffers的问题。
- 在示例47、51、52中为
glusFileLoadText添加了NULL源保护。
- 在Example27的
reshape()中添加了缺失的glViewport。
- 修复了示例09、12、14、22、27、31、35、36、50中的资源泄漏(程序、VAO、VBO、文本文件)。
- 修复了Example26中的毛皮VAO属性位置。
- 修复了示例28、31中对默认帧缓冲调用
glDrawBuffer(GL_COLOR_ATTACHMENT0)的问题。
- 修复了Example19中的双重角度推进问题。
- 修复了Example15中的Gerstner波陡度索引。
- 在示例09、33、48、49、50中添加了FBO完整性检查。
- 检查了所有示例中的GLUS返回值(316个调用点)。
- 替换了根CMakeLists.txt中已弃用的
FetchContent_Populate。
- 需要GLUS v1.1.1。
v3.2.0
- 将 glTF 示例(48-52)迁移到 GLUS glTF 2.0 加载器(
glusGltfLoadScene / glusGltfGetCgltfData)上。GLUS 现在提供 cgltf 和 stb_image,并暴露 GLUS_SHADER_DIR;已移除复制的 OpenGL/GLUS/ 文件夹。
- 需要 GLUS v1.1.0。当存在同级本地检出
../GLUS 时,GLUS 会从该路径获取,否则从 McNopper/GLUS 获取。
- 已刷新截图。
v3.1.1
- 新增 Example52 – 带视角方向球谐旋转的3D高斯泼溅。
- Example51:修正了旋转泼溅节点的球谐处理
(通过Condon-Shortley相位将Wigner-D桥接到glTF/3DGS球谐符号约定)。
- 两个泼溅示例:自动旋转默认关闭,按空格键切换。
- 需要 GLUS v1.0.1(band-3球谐旋转修复)。
许可证
项目基于 MIT许可证 分发 — 参见 LICENSE。
这些示例基于 GLUS 构建。