现代OpenGL新手入门
一起学习现代OpenGL,从画点、线、三角形,到着色、贴纹理,再到漫游、碰撞检测,加油!!!
lady_killer9
CKA、CKS证书持有者,安全工程师
展开
-
OpenGL-三维迷宫游戏的设计与实现
目录游戏安装使用演示视频部分游戏截图数据库恢复(mysql 5.7.20)代码使用Qt部分(Qt5.9.1)VS部分(VS2015)代码调试全部资源这是现代OpenGL入门教程的最后一篇文章,学习OpenG至今,最终以一个游戏作为结束,注意,最后的打包使用的是HofoSetUp软件,不是教程中添加依赖形成单一文件的那种方法。游戏安装使用演示视频链接:ht...原创 2019-06-23 12:22:36 · 5179 阅读 · 24 评论 -
现代OpenGL入门教程
目录经典教程(国内可上的网站)及书籍推荐报错笔记VS2015配置GLFW库与GLAD库第一个三角形与矩形(两个三角形)基本图元(包括点、线、圆形等)普通着色和Shader类(代码及使用方法) GLSL语言入门教程(1) GLSL语言入门教程(2) GLSL详细解析(仅博主文章中的着色器代码解读)贴纹理(含全部代码以及stb...原创 2019-04-12 19:19:58 · 6678 阅读 · 1 评论 -
OpenGL经典教程及书籍推荐
OpenGL的文档很乱,很难找到比较系统的教程。这里推荐几个不错的,若读者知道更好的,请下方评论。建议学习现代OpenGL。1. LearnOpenGL https://learnopengl.com/ 这是一个纯英文教程,主要使用GLFW和GLAD库,我以后的相关文章也会按照这个教程来,下面是中文版,在此感谢作者。2. LearnOpenGL中文版...原创 2019-04-12 19:19:05 · 14385 阅读 · 1 评论 -
OpenGL报错笔记
目录错误类型1:LNK2005 ***已经在***中定义举例:原因:解决方式:错误类型2: LNK2038 检测到***的不匹配项: 值***不匹配值***举例:原因:解决方式:错误类型1:LNK2005 ***已经在***中定义举例:严重性 代码 说明 项目 文件 错误 LNK2005 "bool __c...原创 2019-04-09 20:54:02 · 1066 阅读 · 1 评论 -
OpenGL-VS2015配置GLFW库与GLAD库
目录1. 做准备 1.1 GLFW官网下载GLFW库 1.2 GLAD库在线生成2. 配置3. 运行检测4. 函数列表glfwInitglfwCrateWindowglfwWindowShouldCloseglfwMakeContextCurrentglfwSwapBuffersglfwPollEventsprocessInpu...原创 2019-04-03 10:22:08 · 2228 阅读 · 5 评论 -
OpenGL-第一个三角形与矩形(两个三角形)
目录新建项目,进行配置项目结构项目属性配置依赖项设置三角形代码部分函数解释main.cpp运行截图矩形代码main.cpp运行截图简单的三角形与矩形白色三角形白色矩形全部代码下载参考:LearnOpenGL新建项目,进行配置项目结构项目结构图项目属性配置头文件及库的目录注意,读者应该包含自己的,就是上篇文章...原创 2019-04-10 08:40:36 · 2566 阅读 · 0 评论 -
OpenGL-基本图元(包括点、线、圆形等)
目录点常用函数代码线常用函数代码圆代码五角星代码正弦函数图像代码所有代码部分截图全部代码下载点常用函数点的常用函数 函数 解释 void glPointSize(GLfloat size) 控制点的大小 glVertex2f(GLfloat x, GLfloat y) 点的坐标 点的大小默认为1...原创 2019-04-10 15:36:16 · 5080 阅读 · 4 评论 -
OpenGL-普通着色和Shader类(代码及使用方法)
目录普通着色RGBA颜色渐变三角形单色矩形着色器类下载地址使用方法举个栗子函数列表GLuint glCreateShadervoid glShaderSourcevoid glCompileShaderGLuint glCreateProgramvoid glAttachShadervoid glLinkProgramvoid glD...原创 2019-04-12 11:07:32 · 5334 阅读 · 6 评论 -
OpengGL-GLSL详细解析(仅博主文章中的着色器代码解读)
目录第一个三角形与矩形(两个三角形)普通着色和Shader类(代码及使用方法)贴纹理(含全部代码以及stb_image.h的使用)利用矩阵变换(缩放、旋转、位移),使用glm库坐标系统,进入3D世界(深度测试)本文只是给跟着我一起学OpenGL 的小白所写,仅是博主部分文章着色器代码的解读,不适合大神以及没有看之前文章的读者。在文章中没有对着色器部分代码做解读,补...原创 2019-04-25 20:11:21 · 2064 阅读 · 0 评论 -
OpenGL-GLSL语言入门教程(1)
目录GLSL简介GLSL的内建变量顶点着色器变量gl_PointSizegl_VertexID片段着色器变量gl_FragCoordgl_FragDepth参考网站:LearnOpenGL参考书籍:OpenGL编程指南第九版GLSL简介OpenGL着色语言(OpenGL Shading Language)是用来在OpenGL中着色编程的语言,也即开发...原创 2019-04-23 21:46:30 · 8915 阅读 · 1 评论 -
OpenGL-GLSL语言入门教程(2)
目录数据块接口in/out块uniform块Uniform缓冲对象Uniform块布局使用Uniform缓冲一个简单的例子buffer块参考网站:LearnOpenGL参考书籍:OpenGL编程指南第九版数据块接口到目前为止,每当我们希望从顶点着色器向片段着色器发送数据时,我们都声明了几个对应的输入/输出变量。将它们一个一个声明是着色器间发送数据最简...原创 2019-04-24 11:25:52 · 1355 阅读 · 0 评论 -
OpenGL-贴纹理(含全部代码以及stb_image.h的使用)
目录stb_image.h的使用1.导入stb_image.h2.加载你的图片3.创建纹理 glGenTextures函数4.绑定纹理 glBindTexture函数5.生成纹理 glTexImage2D函数 glGenerateMipmap函数6. 最后释放图像7. 利用我们的之前着色器类案例1. 项目结构2. 代码3. 结果截图参考:Lea...原创 2019-04-12 17:10:59 · 14783 阅读 · 11 评论 -
OpenGL-利用矩阵变换(缩放、旋转、位移),使用glm库
目录1. 矩阵知识总结缩放旋转位移2. glm使用方法安装使用位移(使用translate函数)旋转(使用rotate及radians函数)缩放(使用scale函数)在你的cpp中将变换矩阵传递给着色器3.举个栗子代码截图参考:LearnOpenGL1. 矩阵知识总结看下面内容之前请先恶补一下线性代数的知识,不对矩阵乘法等内容进行...原创 2019-04-15 10:51:17 · 17856 阅读 · 26 评论 -
OpenGL-坐标系统,进入3D世界(深度测试)
目录坐标系统简介z缓冲举个栗子代码main.cppvertexSource.txtfragmentSource.txt截图参考:LearnOpenGL坐标系统简介将坐标变换为标准化设备坐标(Normalized Device Coordinate, NDC),接着再转化为屏幕坐标的过程通常是分步进行的,也就是类似于流水线那样子。在流水线中,物体的顶点在最...原创 2019-04-16 11:24:50 · 2239 阅读 · 0 评论 -
OpenGL-绘制更多的3D物体
参考:LearnOpenGL绘制更多的立方体思路:使用3维向量,定义10个立方体的位置。使用for循环进行10个立方体的绘制,令每个立方体旋转角度不同,来达到更好的视觉效果。举个栗子相对于上篇文章,我们仅修改了main.cpp,按照思路进行修改,但去除了立方体的旋转代码main.cpp//头文件#include <glad/glad.h>#i...原创 2019-04-17 09:31:01 · 2751 阅读 · 0 评论 -
OpenGL-Assimp库的下载、编译及使用
目录下载编译前的准备卸载Visual C++ 2010 的 Redistribution packages (x86, x64)DirectX的安装Cmake编译Cmake安装Cmake进行ConfigureCmake进行Generatevs生成参考:LearnOpenGL下载教程推荐最高使用3.1.1版本,所以我就下载的3.1.1版本。给的Ass...原创 2019-04-21 10:59:38 · 8934 阅读 · 16 评论 -
OpenGL-使用Assimp加载3d模型
目录加载前的准备下载并编译Assimp配置Assimp.dll文件的配置.lib文件的配置assimp文件的配置举个栗子代码Mesh.hModel.hmain.cpp注意项结果截图资源下载参考:LearnOpenGL最终结果模型1模型2注:由于CSDN上传的gif不能超过5兆,所以比较模糊,最后有清晰结果截图。加...原创 2019-04-22 19:17:20 · 8858 阅读 · 11 评论 -
OpenGL-立方体贴图之天空盒
目录天空盒天空盒简介天空盒加载天空盒显示优化举个栗子材料下载所用天空盒更多天空盒代码项目结构部分代码Cubemap.vertCubemap.fragmain.cpp结果截图资源下载参考:LearnOpenGL天空盒天空盒简介天空盒是一个包含了整个场景的(大)立方体,它包含周围环境的6个图像,让玩家以为他处在一个比实...原创 2019-04-23 15:27:12 · 8630 阅读 · 39 评论 -
Visual Studio - 程序打包安装与部署(使用Visual Studio Installer)
目录1. Visual Studio Installer的安装2.程序安装和部署2.1创建安装项目2.2Application Folder 中添加文件2.3User's Desktop中添加快捷方式2.4添加卸载程序2.5 更多设置2.6 最终设置情况2.7 生成2.8 结果检验天空盒演示程序下载全部代码资源下载所打包的程序为:OpenGL...原创 2019-04-27 15:42:44 · 23783 阅读 · 5 评论