Skip to content

Releases: sheeepsoup/OpenGL-ocean

Release list

V0.0.1-release

Choose a tag to compare

@sheeepsoup sheeepsoup released this 03 Jul 14:54
903b49b

🚀 OpenGL Ocean · V0.0.1 Release

📦 首个正式版本发布 | 发布日期:2026-07-03


📢 发布概述

V0.0.1 是 OpenGL Ocean 项目的首个公开版本,实现了基于 OpenGL 3.3 的实时海洋渲染引擎。
本版本聚焦于基础渲染管线搭建与波浪物理模拟,提供可交互的自由视角漫游体验。


✨ 版本亮点

特性 说明
🌊 Ray Marching 波浪 多层正弦波叠加 + 高斯权重衰减,动态水面高度场
🌅 立方体贴图天空盒 六面全景贴图,无缝环境反射
💡 三光源系统 方向光 + 点光源 + 聚光灯,可切换/混合
🎨 PBR 风格材质 漫反射贴图 + 镜面反射贴图 + 高光系数
🎥 自由飞行相机 WASD 位移 + 鼠标欧拉角视角 + 滚轮缩放
🔊 环境音效 海浪/雨声循环播放(SDL2_mixer)
🖼️ 多着色器切换 水面 / 平面 / 雨效 三套 GLSL 程序

🎯 已实现功能

渲染管线

  • 顶点缓冲对象(VBO)+ 顶点数组对象(VAO)+ 元素缓冲(EBO)
  • 着色器封装类(Shader.cpp):自动编译 + 错误检查
  • 矩阵变换:模型 / 视图 / 投影(MVP)
  • 面剔除 + 深度测试 + 混合

水面着色器核心(water.frag)

  • 波浪生成算法:getwaves() 迭代叠加正弦波
  • Ray Marching 步进:MAX_STEP = 128,ITERATIONS_RAYMARCH = 12
  • 法线计算:ITERATIONS_NORMAL = 36 次迭代求数值微分
  • 拖拽系数:DRAG_MULT = 0.38 控制波峰波谷过渡

相机系统

  • 位置 / 俯仰角 / 偏航角 分离存储
  • 鼠标输入灵敏度调节
  • 光标锁定 / 自由模式切换(ESC)

🎮 运行方式

直接运行(推荐)

双击 Main.exe

系统要求

项目 最低配置
操作系统 Windows 7 / 10 / 11
OpenGL 版本 ≥ 3.3 Core Profile
内存 ≥ 256 MB
硬盘空间 ≥ 20 MB
音频设备 可选(用于环境音效)

按键操作速查

按键 动作
W / ↑ 向前移动
S / ↓ 向后移动
A / ← 向左平移
D / → 向右平移
鼠标 旋转视角
ESC 释放鼠标 / 退出程序
B 切换物体
N 切换场景

📁 发布文件清单

V0.0.1-release/
├── Main.exe                    # 主程序(Windows x86)
├── README.md                   # 项目说明
├── LICENSE                     # MIT 授权文件
├── 源.cpp                      # 主程序源码
├── *.cpp / *.h                 # 引擎模块源码
├── *.vert / *.frag             # GLSL 着色器
├── bin/                        # 运行时资源
│   ├── Sea/                    # 海浪纹理 (noise.png, w.jpg)
│   │   └── sea.mp3, rain.mp3   # 环境音效
│   ├── universSky/             # 天空盒六面图
│   │   ├── front/back/left/right/top/bottom.jpg
│   ├── noise/                  # 噪声纹理
│   └── *.dll                   # 运行时库 (GLFW / SDL2 / GLEW)
└── view/                       # 宣传图片
    ├── 1.png                   # 海浪与天空盒
    ├── 2.png                   # 光照渲染
    └── 3.png                   # 自由视角

🐛 已知限制

问题 说明 计划修复版本
⚠️ 分辨率固定 当前为 800×600,需手动修改 water.frag 中 iResolution V0.0.2
⚠️ 仅支持 Windows 使用 Visual C++ 编译,附带 MSVC 运行库 V0.1.0
⚠️ 无 GUI 菜单 全部操作通过键盘 / 鼠标完成 V0.1.0
⚠️ 无帧率限制 帧率受硬件影响波动较大 V0.0.2

🔗 相关链接

项目 链接
🏠 项目仓库 https://github.com/sheeepsoup/OpenGL-ocean/
📦 Release 页面 https://github.com/sheeepsoup/OpenGL-ocean/releases/tag/V0.0.1
🐛 提交 Issue https://github.com/sheeepsoup/OpenGL-ocean/issues
⭐ Star 统计 https://github.com/sheeepsoup/OpenGL-ocean/stargazers

📄 License

本版本遵循 MIT License,详见根目录下的 LICENSE 文件。


💡 后续版本预告:V0.0.2 将加入可调分辨率、帧率限制、FPS 显示面板;V0.1.0 计划跨平台支持(CMake + Linux/macOS)。