工具:
Library:
下载:git clone https://github.com/galiedon/LearnOpenGL.git
编译:build.bat
运行:run.bat
目录介绍: TODO
Demo介绍:
Demo1
:使用了VBO、IBO、VAO绘制出了矩形。Demo2
:使用uniform使图形动起来,并传入了color字段使图形具有颜色Demo3
:引入soil库
读取图片,使用两张图片生成贴图并显示,添加键盘响应事件,上、下键可以调整两张图片的alpha值Demo4
:引入glm库
完成数学运算,顶点属性中传入TexCoords
,并通过uniform mat4 trans
传入变换矩阵,完成坐标转换。Demo5
:引入Z-Buffer
设置,引入五大坐标系统来实现坐标的变换。Demo6
:添加摄像机类,完成自由移动功能Demo7
:添加光照属性,搭建光照环境Demo8
:引入冯氏光照模型Demo9
:引入材质概念,调整光照计算公式Demo10
:引入光照贴图(漫反射贴图、镜面光照贴图)Demo11
:引入不同类型的光源(平行光、点光、聚光), 并搭建多光源场景。Demo12
:引入顶点、网格、模型。Demo13
:添加深度测试,用颜色可视化深度。变更深度模式:12345。Demo14
:添加模板测试,使用模板测试给角色简单描边。
问题:
- 如果
SOIL
库无法正常链接,请修改以下内容:-
在生成的
Src/ThirdParty/glad/include/glad.h
文件中添加#define GLAD
#ifndef __glad_h_ #define __glad_h_ #define GLAD
-
修改
SOIL.c
:从23行左右的
#include <GL/gl.h>
修改为
#include <GLAD/glad.h> #include <GLFW/glfw3.h> #ifndef GLAD #include <GL/gl.h> #endif
从1974行左右的
ext_addr = (P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC) wglGetProcAddress ( "glCompressedTexImage2DARB" );
修改为
#ifndef GLAD ext_addr = (P_SOIL_GLCOMPRESSEDTEXIMAGE2DPROC) wglGetProcAddress ( "glCompressedTexImage2DARB" ); #endif
-