OpenGLSamples
OpenGLSamples copied to clipboard
OpenGLSamples
项目简介
此项目是作者在校学习图形学时,制作的OpenGL案例。主要参考了LearnOpenGL代码实现。项目中主要的功能包括:
- glfw+glad+glm相关OpenGL环境配置
- assimp加载模型
- opencv摄像头捕获+视频编解码
- imgui支持
- freetype文字相关
案例覆盖(48个案例):
- LearnOpenGL相关案例。阴影、法线贴图、深度贴图等
- 光线追踪
- 后处理
- shaderToy、GLSLSandbox兼容
- OpenCV+Imgui滤镜
- 分形几何相关
案例
- 1.创建OpenGL窗口
- 2.绘制简单三角形
- 3.着色器初试
- 4.纹理初试
- 5.三维变换
- 6.坐标系统
- 7.相机
- 8.第一人称相机
- 9.简单光照
- 10.光照贴图
- 11.射灯
- 12.模型加载
- 13.模板测试(描边)
- 14.混合
- 15.透明贴图
- 16.帧缓冲
- 17.立方体贴图(天空盒)
- 18.几何着色器
- 19.实例化(草地)
- 20.抗锯齿
- 21.Blinn-Phong光照模型
- 22.Gamma矫正
- 23.点阴影
- 24.万向阴影
- 25.法线贴图
- 26.视差贴图
- 27.HDR
- 28.眩光
- 29.延迟渲染
- 30.SSAO(屏幕空间环境光遮蔽)
- 31.光线追踪(球+立方体)
- 32.光线追踪(球,三维谢尔宾斯三角形)
- 33.文字渲染)
案例赏析
- 1.朱莉亚集(Julia-set:分形几何)
- 2.Mandelbrot-Set(分形几何)
- 3.Worley噪声(分形几何)
- 4.分形云
- 5.分形山
- 6.洛伦兹吸引子(混沌理论)
- 7.字符画(OpenCV+OpenGL+Imgui)
- 8.星系(GLSL Sandbox)
- 9.imgui测试
- 10.路径追踪(GLSL Sandbox)
- 11.土星
- 12.海洋
- 13.独孤信印章-视差贴图
- 14.独孤信印章
- 15.滤镜测试
编译
- 第一次拉取代码需要编译第三方库
在third-party/目录下,终端执行`build.sh`编译三方库
- 编译工程
根目录下终端执行`build.sh Debug` or `build.sh Release` 编译工程
编译完后可执行文件在build/bin/目录下
添加案例
- 在
samples/下新建文件夹 - 文件结构:
myTest/src/Test.cpp - 文件结构:此时cmake会扫描添加Test.cpp所在目录下所有
.c、.cpp、.h、.hpp文件 - 添加完后重新编译